public async Task <int> Login(string userName, string password, bool isKPIs, string captchaString) { CustomUserManager PCustomUserManager = new CustomUserManager(); ApplicationUser user = new ApplicationUser(); if (isKPIs) { string passwordmd5 = HRMWebApp.Helpers.Helper.getMd5Hash(password); SessionManager.DoWork(session => { KPI_WebUser userKPI = session.Query <KPI_WebUser>().SingleOrDefault(u => u.Name == userName && u.Password == passwordmd5); if (userKPI != null) { user.Id = userKPI.Id.ToString(); user.UserName = userKPI.Name; //user.HoVaTen = userKPI.Name; //user.IsKPIs = true; //SessionHelper.Data(SessionKey.IsKPIs, true); } }); } else { string passwordmd5 = HRMWebApp.Helpers.Helper.getMd5Hash(password); user = await PCustomUserManager.FindAsync(userName, passwordmd5); //SessionHelper.Data(SessionKey.IsKPIs, false); } if (user != null) { await SignInAsync(user, false); if (user.HoVaTen != null) { return(1); } else { return(2); } } else { ModelState.AddModelError("", "Invalid username or password."); // If we got this far, something failed, redisplay form return(0); } }
public static ApplicationUser GetUserById(Guid webUserId, string UserName) { ApplicationUser result = new ApplicationUser(); Staff staff = new Staff(); SessionManager.DoWork(session => { HRMWebApp.KPI.DB.Entities.WebUser webUser = session.Query <HRMWebApp.KPI.DB.Entities.WebUser>().SingleOrDefault(w => w.Id == webUserId); if (webUser != null) { if (webUser.StaffInfo != null) { staff = session.Query <Staff>().Where(s => s.Id == webUser.StaffInfo.Id).FirstOrDefault(); if (staff != null) { result = new ApplicationUser() { Id = staff.Id.ToString(), UserId = webUser.Id.ToString(), ThongTinNhanVien = webUser.Id.ToString(), DepartmentId = staff.Department.Id.ToString(), UserName = UserName, HoVaTen = staff.StaffProfile.Name, WebGroupId = webUser.WebGroupId.ToString() }; if (staff.StaffInfo.Position == null && staff.StaffInfo.StaffType.ManageCode == "3") { result.AgentObjectTypeId = "2"; } } } else { if (webUser.AgentObjectType == null) { webUser.AgentObjectType = new AgentObjectType() { Id = 0 }; } if (webUser.Department != null) { result = new ApplicationUser() { UserId = webUser.Id.ToString(), UserName = UserName, WebGroupId = webUser.WebGroupId.ToString(), AgentObjectTypeId = webUser.AgentObjectType.Id.ToString(), DepartmentId = webUser.Department.Id.ToString() }; } else { result = new ApplicationUser() { UserId = webUser.Id.ToString(), UserName = UserName, WebGroupId = webUser.WebGroupId.ToString(), AgentObjectTypeId = webUser.AgentObjectType.Id.ToString() }; } } } else { KPI_WebUser kpi_WebUser = session.Query <KPI_WebUser>().SingleOrDefault(u => u.Id == webUserId); if (kpi_WebUser != null) { AgentObjectType atype = session.Query <AgentObjectType>().SingleOrDefault(t => t.Id == kpi_WebUser.AgentObjectTypeId); if (kpi_WebUser.StaffInfo != null) { staff = session.Query <Staff>().Where(s => s.Id == kpi_WebUser.StaffInfo.Id).FirstOrDefault(); if (staff != null) { result = new ApplicationUser() { Id = staff.Id.ToString(), UserId = kpi_WebUser.Id.ToString(), ThongTinNhanVien = kpi_WebUser.Id.ToString(), UserName = UserName, HoVaTen = staff.StaffProfile.Name + " (" + atype.Name + ")", WebGroupId = Guid.Empty.ToString(), AgentObjectTypeId = kpi_WebUser.AgentObjectTypeId.ToString() }; result.IsKPIs = true; if (staff.StaffInfo.Position == null && staff.StaffInfo.StaffType.ManageCode == "3") { result.AgentObjectTypeId = "2"; } result.SubPositionId = kpi_WebUser.SubPosition != null ? kpi_WebUser.SubPosition.Id.ToString() : null; } } else { if (kpi_WebUser.Department != null) { result = new ApplicationUser() { UserId = kpi_WebUser.Id.ToString(), UserName = UserName + " (" + atype.Name + ")", WebGroupId = kpi_WebUser.WebGroupId.ToString(), DepartmentId = kpi_WebUser.Department.Id.ToString(), AgentObjectTypeId = kpi_WebUser.AgentObjectTypeId.ToString() }; result.IsKPIs = true; } else { result = new ApplicationUser() { UserId = kpi_WebUser.Id.ToString(), UserName = UserName + " (" + atype.Name + ")", WebGroupId = kpi_WebUser.WebGroupId.ToString(), AgentObjectTypeId = kpi_WebUser.AgentObjectTypeId.ToString() }; result.IsKPIs = true; } } } } }); return(result); }