public async Task <IActionResult> VerifyOneTimePassword(OneTimePasswordModel model) { DateTime dtBeforeCalling = DateTime.Now; AdminRequestLog log = new AdminRequestLog(); log.UserIP = Utilities.GetUserIPAddress(); log.ServerIP = Utilities.GetInternalServerIP(); log.UserAgent = Utilities.GetUserAgent(); log.PageName = "VerifyOneTimePassword"; log.PageURL = "/VerifyOneTimePassword"; // log.ApiURL = Utilities.GetCurrentURL(httpContext); log.MethodName = "VerifyOneTimePassword"; log.UserID = User.GetUserId(); log.UserName = User.GetUserName(); var output = new Output <LoginOutput>(); try { output = model.IsValid <OneTimePasswordModel, LoginOutput>(); if (output.ErrorCode != Output <LoginOutput> .ErrorCodes.Success) { return(Ok(output)); } var user = adminService.GetUserByEmail(model); if (user == null) { output.ErrorCode = Output <LoginOutput> .ErrorCodes.NotFound; output.ErrorDescription = ResourcesHepler.GetMessage("LoginNotCorrect", model.Language); log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ErrorDescription = "Login data not correct"; log.ErrorCode = (int)output.ErrorCode; LogService.AddAdminRequestLogs(log); return(Ok(output)); } if (user.OneTimePasswordExpirationDate <= DateTime.UtcNow) { output.ErrorCode = Output <LoginOutput> .ErrorCodes.InvalidData; output.ErrorDescription = ResourcesHepler.GetMessage("OneTimePasswordExpired", model.Language); log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ErrorDescription = "OneTime Password Expired"; log.ErrorCode = (int)output.ErrorCode; LogService.AddAdminRequestLogs(log); return(Ok(output)); } await SignInManager.SignInAsync(user, true, null); var UserRoles = adminService.GetUserRoles(user.Id).OrderBy(x => x.Order).ToList(); log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ErrorDescription = "Logged in successfully"; log.ErrorCode = (int)output.ErrorCode; LogService.AddAdminRequestLogs(log); return(GetToken(user, UserRoles)); } catch (Exception ex) { output.ErrorCode = Output <LoginOutput> .ErrorCodes.ServerException; output.ErrorDescription = ResourcesHepler.GetMessage("ServerException", model.Language); log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ErrorDescription = ex.ToString(); log.ErrorCode = (int)output.ErrorCode; LogService.AddAdminRequestLogs(log); return(Ok(output)); } }
public async Task <IActionResult> ChangePassword(ChangePasswordModel model) { DateTime dtBeforeCalling = DateTime.Now; AdminRequestLog log = new AdminRequestLog(); log.UserIP = Utilities.GetUserIPAddress(); log.ServerIP = Utilities.GetInternalServerIP(); log.UserAgent = Utilities.GetUserAgent(); log.PageName = "ChangePassword"; log.PageURL = "/ChangePassword"; // log.ApiURL = Utilities.GetCurrentURL(httpContext); log.MethodName = "ChangePassword"; log.UserID = User.GetUserId(); log.UserName = User.GetUserName(); var output = new Output <LoginOutput>(); try { output = model.IsValid <ChangePasswordModel, LoginOutput>(); if (output.ErrorCode != Output <LoginOutput> .ErrorCodes.Success) { log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ErrorDescription = output.ErrorDescription; log.ErrorCode = (int)output.ErrorCode; LogService.AddAdminRequestLogs(log); return(Ok(output)); } var user = userManager.FindByEmailAsync(model.Email).Result; if (user == null) { output.ErrorCode = Output <LoginOutput> .ErrorCodes.NotFound; output.ErrorDescription = ResourcesHepler.GetMessage("UserNotFound", model.Language); log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ErrorDescription = "User not found"; log.ErrorCode = (int)output.ErrorCode; LogService.AddAdminRequestLogs(log); return(Ok(output)); } user.PasswordConfirmed = true; string token = userManager.GeneratePasswordResetTokenAsync(user).Result; var res = await userManager.ResetPasswordAsync(user, token, model.Password); if (res.Succeeded) { output.ErrorCode = Output <LoginOutput> .ErrorCodes.Success; log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ErrorDescription = "password changed successfully"; log.ErrorCode = (int)output.ErrorCode; LogService.AddAdminRequestLogs(log); return(Ok(output)); } output.ErrorCode = Output <LoginOutput> .ErrorCodes.Failed; output.ErrorDescription = "changePasswordFailed"; log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ErrorDescription = "failed to change password"; log.ErrorCode = (int)output.ErrorCode; LogService.AddAdminRequestLogs(log); return(Ok(output)); } catch (Exception ex) { output.ErrorCode = Output <LoginOutput> .ErrorCodes.ServerException; output.ErrorDescription = ResourcesHepler.GetMessage("ServerException", model.Language); log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ErrorDescription = ex.ToString(); log.ErrorCode = (int)output.ErrorCode; LogService.AddAdminRequestLogs(log); return(Ok(output)); } }
//[AuthenticateFilter(Role = "AddUser")] public async Task <IActionResult> AddUser(UserModel model) { DateTime dtBeforeCalling = DateTime.Now; AdminRequestLog log = new AdminRequestLog(); log.UserIP = Utilities.GetUserIPAddress(); log.ServerIP = Utilities.GetInternalServerIP(); log.UserAgent = Utilities.GetUserAgent(); log.PageName = "Create-User"; log.PageURL = "/admin/create-user"; // log.ApiURL = Utilities.GetCurrentURL(httpContext); log.MethodName = "AddUser"; log.UserID = User.GetUserId(); log.UserName = User.GetUserName(); var output = new Output <UserModel>(); try { output = model.IsValid <UserModel, UserModel>(); if (!ModelState.IsValid) { log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ErrorDescription = output.ErrorDescription; log.ErrorCode = (int)output.ErrorCode; LogService.AddAdminRequestLogs(log); return(Ok(output)); } foreach (var company in model.Companies) { if (!InsuranceCompanyService.CheckCompanyExist(company)) { output.ErrorCode = Output <UserModel> .ErrorCodes.CompanyNotExist; output.ErrorDescription = ResourcesHepler.GetMessage("CompanyNotExists", model.Language);; log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ErrorDescription = output.ErrorDescription; log.ErrorCode = (int)output.ErrorCode; LogService.AddAdminRequestLogs(log); return(Ok(output)); } } var user = new ApplicationUser { Email = model.Email, UserName = model.UserName, PhoneNumber = model.PhoneNumber }; var result = await userManager.CreateAsync(user, model.Userpassword); output = result.IsValidResult <UserModel>(model.Language, out string errorKey); if (output.ErrorCode == Output <UserModel> .ErrorCodes.Success) { output.ErrorDescription = ResourcesHepler.GetMessage("Success", model.Language); log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ErrorDescription = output.ErrorDescription; log.ErrorCode = (int)output.ErrorCode; LogService.AddAdminRequestLogs(log); return(Ok(output)); } output.ErrorDescription = ResourcesHepler.GetMessage("ServerError", model.Language); log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ErrorDescription = "Failed to create user"; log.ErrorCode = (int)output.ErrorCode; LogService.AddAdminRequestLogs(log); return(Ok(output)); } catch (Exception ex) { output.ErrorCode = Output <UserModel> .ErrorCodes.ServerException; output.ErrorDescription = ResourcesHepler.GetMessage("ServerError", model.Language); log.ServiceResponseTimeInSeconds = DateTime.Now.Subtract(dtBeforeCalling).TotalSeconds; log.ErrorDescription = ex.ToString(); log.ErrorCode = (int)output.ErrorCode; LogService.AddAdminRequestLogs(log); return(Ok(output)); } }