private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); private MembershipUser CurrentUser; private string[] UserRoles; private FxDataClassesDataContext dcfx = new FxDataClassesDataContext(); private object UserName; // // GET: /Account/Index ////private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); public ActionResult Index() { return View(); } // // GET: /Account/LogOn [AllowAnonymous] public ActionResult LogOn() { return View(); } [AllowAnonymous] [HttpPost] public ActionResult LogOn(LogOnModel model, string returnUrl) { MembershipUser currentUser = Membership.GetUser(UserName); string UserID = currentUser.ProviderUserKey.ToString(); UserRoles = Roles.GetRolesForUser(); if (UserRoles.Length > 0) { if (User.IsInRole("Shipper")) { // Find Shipper data var objShipper = (from s in dcfx.FxShippers where s.Shipper_USerName == CurrentUser.UserName select s).First(); Session.Add("ShipperID", objShipper.Shipper_ID); if (log.IsInfoEnabled) { log.Info("Username: " + CurrentUser.UserName + ", Role: " + UserRoles[0] + ", Shipper ID: " + objShipper.Shipper_ID.ToString()); } // Redirect to Shipper Portal page Response.Redirect("Shipperportal.cshtml"); } else if (UserRoles[0] == "Transporter") { // Find Transporter data // Find Shipper data var objTransporter = (from s in dcfx.FxTransporters where s.Transporter_UserName == CurrentUser.UserName select s).First(); Session.Add("TransporterID", objTransporter.Transporter_ID); if (log.IsInfoEnabled) { log.Info("Username: " + CurrentUser.UserName + ", Role: " + UserRoles[0] + ", Transporter ID: " + objTransporter.Transporter_ID.ToString()); } // Redirect to Transporter Portal page Response.Redirect("TransporterPortal.cshtml"); } else if (UserRoles[0] == "FxAdmin") { // Redirect to Transporter Portal page Response.Redirect(""); } return View(); }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)