public async Task <VmUserItem> ValidateUser(VM_Sys_User_Sign_In user) { var dbresult = await repo.GetUser(user.UserName, Md5.Encrypt(user.Password)); if (dbresult == null) { return(new VmUserItem()); } else { var result = new VmUserItem(); Copy <Com.BudgetMetal.DBEntities.User, VmUserItem>(dbresult, result); if (dbresult.UserRoles != null) { var SelectedRoles = new List <VmRoleItem>(); foreach (var dbItem in dbresult.UserRoles) { var resultUserRoles = new VmRoleItem(); var dbRole = await roleRepo.Get(dbItem.Role_Id); Copy <Com.BudgetMetal.DBEntities.Role, VmRoleItem>(dbRole, resultUserRoles); SelectedRoles.Add(resultUserRoles); } result.SelectedRoles = SelectedRoles; } var resultCompany = new VmCompanyItem(); Copy <Com.BudgetMetal.DBEntities.Company, VmCompanyItem>(dbresult.Company, resultCompany); result.Company = resultCompany; return(result); } }
public ActionResult SignIn(VM_Sys_User_Sign_In user) { try { TempData["ForgotPasswordUrl"] = _appSettings.App_Identity.WebAppUrl + "Public/ForgotPassword"; TempData["RegisterUrl"] = _appSettings.App_Identity.WebAppUrl + "Public/Registration"; TempData["PublicSiteUrl"] = _appSettings.App_Identity.PublicSiteUrl; var result = userService.ValidateUser(user); var resultObj = result.Result; if (resultObj.Id == 0) { ViewBag.ErrorMessage = "Username or Password is invalid!"; return(View(user)); } else { if (resultObj.IsActive && resultObj.IsConfirmed) { // TODO: Add insert logic here HttpContext.Session.SetString("User_Id", resultObj.Id.ToString()); HttpContext.Session.SetString("EmailAddress", resultObj.EmailAddress.ToString()); HttpContext.Session.SetString("Company_Id", resultObj.Company_Id.ToString()); HttpContext.Session.SetString("UserType", resultObj.UserType.ToString()); HttpContext.Session.SetString("ContactName", resultObj.ContactName.ToString()); HttpContext.Session.SetString("UserName", resultObj.UserName.ToString()); HttpContext.Session.SetString("C_BusinessType", resultObj.Company.C_BusinessType.ToString()); string strSelectedRoles = JsonConvert.SerializeObject(resultObj.SelectedRoles); HttpContext.Session.SetString("SelectedRoles", strSelectedRoles.ToString()); } else { ViewBag.ErrorMessage = "Email not confiremed"; return(View(user)); } return(RedirectToAction("CompletedSignIn", "Public")); } } catch { return(View()); } }