public ActionResult RecoverPassword(VerifyAccount fwd) { if (ModelState.IsValid) { var UserEmail = db.Users_Data.Where(m => m.user_email_id == fwd.email).SingleOrDefault(); if (UserEmail != null && UserEmail.otp_key == fwd.otp_text) { DateTime startTime = (DateTime)UserEmail.otp_time; DateTime endTime = DateTime.Now; TimeSpan span = endTime.Subtract(startTime); if (span.TotalMinutes <= 5) { UserEmail.user_web_pwd = fwd.password; db.Entry(UserEmail).State = EntityState.Modified; db.SaveChanges(); } else { ModelState.AddModelError("", "OTP has expired!, Please try again"); } return(View("Reset")); } else { ModelState.AddModelError("", "Please check your OTP"); } } return(View()); }
public async Task <AccountNumberVerification> VerifyAccountNumber(VerifyAccount request) { var response = new AccountNumberVerification(); try { var gosGatewayClient = _httpClientFactory.CreateClient("GOSDEFAULTGATEWAY"); string authorization = _accessor.HttpContext.Request.Headers["Authorization"]; gosGatewayClient.DefaultRequestHeaders.Add("Authorization", authorization); var jsonContent = JsonConvert.SerializeObject(request); var buffer = Encoding.UTF8.GetBytes(jsonContent); var byteContent = new ByteArrayContent(buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var result = await gosGatewayClient.PostAsync(ApiRoutes.FinanceServerRequest.VERIFY_ACCOUNT_NUMBER, byteContent); var resultString = await result.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <AccountNumberVerification>(resultString)); } catch (Exception ex) { #region Log error var errorCode = ErrorID.Generate(4); _logger.Error($"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}"); response.status = "failed"; return(response); #endregion } }
public bool UpdateUrlImage(string userId, string urlImage) { DateTime now = DateTime.Now; try { _log.LogInformation("UPDATE URL VERIFY IMAGE. - START"); var verifyAccount = _verifyAccountRepository.FindSingle(n => n.UserId == userId); if (verifyAccount == null) { verifyAccount = new VerifyAccount { UserId = userId, AuthentiCateImage = urlImage, CreatedDate = now, UpdatedDate = now, IdNumber = string.Empty, IsProfileVerified = false, Status = ProfileVerifyStatus.PendingVerified }; _verifyAccountRepository.Add(verifyAccount); _unitOfWork.Commit(); return(true); } else { if (verifyAccount.IsProfileVerified) { //Tài khoản đã được xác thực, không cho update thông tin return(false); } else { //Add thêm hình vào verifyAccount.AuthentiCateImage += string.IsNullOrEmpty(verifyAccount.AuthentiCateImage)? urlImage : $"|{urlImage}"; verifyAccount.UpdatedDate = now; verifyAccount.Status = ProfileVerifyStatus.PendingVerified; _verifyAccountRepository.Update(verifyAccount); var result = _unitOfWork.Commit() > 0; _log.LogInformation("UPDATE URL VERIFY IMAGE. - END"); return(result); } } } catch (Exception ex) { _log.LogError($"UPDATE IMAGE DATA URL ERROR. \n {ex.ToString()}"); return(false); } }
public ActionResult IdentifyAccount(UserLogin email_id) { var UserEmail = db.Users_Data.Where(m => m.user_email_id == email_id.email).SingleOrDefault(); if (UserEmail != null) { try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(UserEmail.user_email_id); mail.Subject = "Your BPAS Account | Password Reset Action"; string password = System.Web.Security.Membership.GeneratePassword(6, 0); /** * Inserting in to Database */ UserEmail.otp_key = password; UserEmail.otp_time = DateTime.Now; db.Entry(UserEmail).State = EntityState.Modified; db.SaveChanges(); mail.Body = "Let's get you back into your account .Please use this one time password: "******" "; SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "Bpas2018"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); VerifyAccount fgt = new VerifyAccount(); fgt.email = UserEmail.user_email_id; return(View("RecoverPassword", fgt)); } catch (Exception ex) { log.Debug("checking" + ex); } } else { ModelState.AddModelError("", "Emaild doesn't exist"); } return(View()); }
public async Task <bool> UpdateIdNumberAndFullName(string userId, string fullName, string idNumber) { DateTime now = DateTime.Now; var verifyAccount = _verifyAccountRepository.FindSingle(n => n.UserId == userId); if (verifyAccount == null) { verifyAccount = new VerifyAccount { UserId = userId, IdNumber = idNumber, CreatedDate = now, UpdatedDate = now, IsProfileVerified = false, AuthentiCateImage = string.Empty, Status = ProfileVerifyStatus.NotVerified }; _verifyAccountRepository.Add(verifyAccount); } else { //Nếu tài khoản đã được xác minh thì không cho thay đổi thông tin số cmnd if (!verifyAccount.IsProfileVerified) { verifyAccount.IdNumber = idNumber; _verifyAccountRepository.Update(verifyAccount); } } //Update thông tin Họ tên var user = await _userManager.FindByIdAsync(userId); user.FullName = fullName; await _userManager.UpdateAsync(user); _unitOfWork.Commit(); return(true); }
public async Task <SupplierAccountRegRespObj> Handle(AddUpdateBankAccountdetailCommand request, CancellationToken cancellationToken) { var response = new SupplierAccountRegRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage() } }; try { var user = await _serverRequest.UserDataAsync(); var banks = await _financeServer.GetAllBanksAsync(); if (banks.bank.Count() == 0) { response.Status.Message.FriendlyMessage = "Bank Not Found"; return(response); } var supplierAcccount = banks.bank.FirstOrDefault(q => q.BankGlId == request.Bank); if (supplierAcccount == null) { response.Status.Message.FriendlyMessage = "Unidentified Selected Bank"; return(response); } var verificationObj = new VerifyAccount(); verificationObj.account_bank = supplierAcccount.BankCode; verificationObj.account_number = request.AccountNumber; var verificationRresponse = await _financeServer.VerifyAccountNumber(verificationObj); if (string.IsNullOrEmpty(verificationRresponse.status)) { response.Status.Message.FriendlyMessage = verificationRresponse.message; //return response; } if (verificationRresponse.status != "success") { response.Status.Message.FriendlyMessage = verificationRresponse.message; //return response; } cor_bankaccountdetail item = new cor_bankaccountdetail(); item.Deleted = false; item.CreatedOn = request.SupplierId > 0 ? (DateTime?)null : DateTime.Now; item.CreatedBy = user != null? user.UserName : ""; item.UpdatedBy = user != null ? user.UserName : ""; item.AccountName = request.AccountName; item.AccountNumber = request.AccountNumber; item.BankAccountDetailId = request.BankAccountDetailId; item.BVN = request.BVN; item.SupplierId = request.SupplierId; item.Bank = request.Bank; await _supRepo.AddUpdateBankAccountdetailsAsync(item); response.Status.Message.FriendlyMessage = "Successful"; response.Status.IsSuccessful = true; return(response); } catch (Exception ex) { #region Log error to file var errorCode = ErrorID.Generate(4); _logger.Error($"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}"); return(new SupplierAccountRegRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "Error occured!! Unable to process item", MessageId = errorCode, TechnicalMessage = $"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}" } } }); #endregion } }
public async Task <ActionResult> VerifyBigDogAccount(VerifyBigDogAccountViewModel model, string SSHUser, string SSHPass) { // Make sure there is actually information. Otherwise we just return them to the form. if (!string.IsNullOrEmpty(SSHUser) && !string.IsNullOrEmpty(SSHPass)) { bool error = false; model.QuotaRecommendation = Convert.ToString(Accessors.MINIMUM_QUOTA) + "Gb+"; // Check if they have sufficient permissions. if (VerifyAccount.VerifyPermissions(SSHUser, SSHPass)) { model.PermissionsResult = "Your permissions validated successfully!"; } else { model.PermissionsResult = ErrorHandling.error; error = true; } // Check if they have sufficient quota. if (VerifyAccount.VerifyQuota(SSHUser, SSHPass)) { model.QuotaResult = "You have sufficient quota!"; } else { model.QuotaResult = ErrorHandling.error; error = true; } // Get the user. ApplicationUser user = UserManager.FindById(User.Identity.GetUserId()); // If there are no errors, the account is good to go. if (error) { user.ClusterAccountVerified = false; } else { user.ClusterAccountVerified = true; model.Success = true; } // Save the user information. IdentityResult result = await UserManager.UpdateAsync(user); if (!ModelState.IsValid) { throw new Exception("The model passed is not correct and must be investigated."); } return(View(model)); } else { model.Error = "The username and password field cannot be blank."; return(View(model)); } }