示例#1
0
        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);
            }
        }
示例#2
0
        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());
            }
        }