public ShareService() { _systemConfigRepository = new SystemConfigRepository(); _systemConfigDepartmentRepository = new SystemConfigDepartmentRepository(); _departmentRepository = new DepartmentRepository(); _loginHistoryRepository = new LoginHistoryRepository(); _applicationLoggingRepository = new ApplicationLoggingRepository(); _userNotificationRepository = new UserNotificationRepository(); _notificationCenterRepository = new NotificationCenterRepository(); }
public ActionResult Login(LoginModel model) { try { //LogHelper.Info("Login model: " + model.LoginID); if (string.IsNullOrEmpty(model.LoginID) || string.IsNullOrEmpty(model.Password)) { ViewBag.ErrorMessage = "Please input all field!!"; return(View(model)); } var user = ValidateModel(model); if (user != null) { //var listUser = new List<string> { "vn55160524", "vn55110755", "vn55104017", "vn55104937", "vd52170016", "vd52170006", "vd52170727", "se201701" }; //if (listUser.Contains(model.LoginID.ToLower())) //{ var logHistoryRepo = new LoginHistoryRepository(); var logHistory = new LogHistoryModel() { UserId = model.LoginID, PcBrowser = Request.Browser.Browser, IpAddress = Util.IP2INT(GetIpAddress()) }; logHistoryRepo.InsertLog(logHistory); var status = AppDictionary.UserStatus.FirstOrDefault(a => a.Value == user.Status.ToString()).Key; if (status == "New" || status == "Reset") { ViewBag.Status = "ChangePassword"; return(View(model)); } SetAuthorized(user, model.Remember); if (Session["CurUrl"] != null) { return(Redirect(Session["CurUrl"].ToString())); } return(RedirectToAction("Index", "Home")); //} //ViewBag.ErrorMessage = "You dont have permission to login this system"; } ViewBag.ErrorMessage = "Login ID & Password is incorrect!"; } catch (Exception ex) { LogHelper.Error("AnonymousController: UserId: " + model.LoginID + " Exception: " + ex.InnerException.Message); return(null); } return(View(model)); }
public async Task <IHttpActionResult> CodeValidate([FromBody] LoginRequest AppRequest) { var phone = AppRequest.Phone.Trim(); var name = AppRequest.Name.Trim(); bool codeMatch = false; string token = String.Empty; IUserProfile profile = null; DTO.Contract.IUser user = new User(); user.UserType = UserType.BUYER; user.Name = name; user.UserName = phone; user.Password = AppRequest.Password; user.PasswordValidated = false; try { using (AppDBContext context = new AppDBContext()) { //validate code var pass = new UserPasscodeRepository(context).GetByPhone(phone); if (pass == null) { return(Unauthorized()); } else { if (pass.Code.Equals(user.Password)) { codeMatch = true; } else { return(Unauthorized()); } } if (codeMatch) { var userRepo = new UserRepository(context); var loginHistoryRepo = new LoginHistoryRepository(context); var curUser = userRepo.GetByUserName(user.UserName); user.PasswordValidated = true; user.Name = pass.Name; if (curUser != null) { if (!(curUser.IsActive ?? false)) { return(Unauthorized()); } if (curUser.LoginId != null) { await GetUserManager().ChangePasswordAsync(curUser.LoginId ?? 0, curUser.Password, pass.Code); } user.Id = curUser.Id; user.LoginId = curUser.LoginId; user.Password = pass.Code; user.ModifiedDate = DateTime.Now.ToUniversalTime(); user.IsActive = true; userRepo.Update(user); } else { var loginUser = new ApplicationUser() { UserName = user.UserName }; IdentityResult result = await GetUserManager().CreateAsync(loginUser, pass.Code); var loginCreated = GetUserManager().Find(user.UserName, pass.Code); if (loginCreated == null) { return(null); } user.LoginId = loginCreated.Id; user.IsActive = true; user.CreatedDate = DateTime.Now.ToUniversalTime(); user.Id = userRepo.Add(user); if (!result.Succeeded) { return(InternalServerError()); } } loginHistoryRepo.Add(user.Id, AppRequest.ClientType); profile = new UserProfileRepository(context).GetByUserId(user.Id); } } token = await Utility.GetToken(user.UserName, user.Password); var model = new UserModel { Id = user.Id, LoginId = user.LoginId ?? 0, UserType = UserType.BUYER, Name = user.Name, Password = user.Password, PasswordValidated = true, Token = token, UserName = user.UserName }; if (profile != null) { UserProfileModel userProfileModel = new UserProfileModel { Id = profile.Id, UserId = profile.UserId, FirstName = profile.FirstName, LastName = profile.LastName, Gender = profile.Gender ?? 0, Email = profile.Email, Phone = profile.Email, Mobile = profile.Mobile, Street = profile.Street, City = profile.City, Image = profile.Image, Location = profile.Location, ContactMethod = profile.ContactMethod ?? 0, BankId = profile.BankId, BankBranch = profile.BankBranch, AccountName = profile.AccountName, AccountNo = profile.AccountNo, NotificationFrequencyMinutes = profile.NotificationFrequencyMinutes ?? 0 }; model.UserProfile = userProfileModel; } return(Ok(model)); } catch (Exception ex) { Logger.Log(typeof(BuyerController), ex.Message + ex.StackTrace, LogType.ERROR); return(InternalServerError()); } }