public int ValidateEmailAndSendCode(string emailId) { var expiredOn = Convert.ToInt32(ConfigurationManager.AppSettings["ExpiredValue"]); var isEmailExist = _accessTokenRepository.ValidEmail(emailId); if (!isEmailExist) { throw _exception.ThrowException(System.Net.HttpStatusCode.BadRequest, "", "Emailadressen finns inte."); } var user = _accessTokenRepository.GetUserByEmail(emailId); var recoverCode = new RecoveryCode(); recoverCode.UserId = user.Id; recoverCode.Email = user.Email; recoverCode.RecoverCode = _cryptoGraphy.GenerateCode(); recoverCode.ExpiredOn = DateTime.Now.AddMinutes(expiredOn); var recoveryCode = RecoveryCodeMapper(recoverCode); _accessTokenRepository.CreateNewRecoverCode(recoveryCode); var fields = new StringDictionary { { "Name", user.Email }, { "RecoveryCode", recoveryCode.RecoveryCode }, { "ExpiredOn", Convert.ToString(expiredOn) } }; var htmlBody = _fm.ReadFileContents(GetMailerTemplatePath("html", "RecoveryCode")).ReplaceMatch(fields); _emailNotifier.SendEmail(emailId, htmlBody, "Recovery Code"); var minutes = (expiredOn * 60) / 60; return(minutes); }
public async Task <ActionResult> AddStore(AddStoreModel model) { try { if (ModelState.IsValid) { model.QRCode = Guid.NewGuid() + "-" + _cryptoGraphy.GenerateCode(); var success = await _storeService.AddStoreDetails(model); var codeCreated = _storeService.CreateAndSaveStoreCode(model.QRCode, model.Name); if (success > 0) { return(RedirectToAction("Index").WithSuccess("En butik har blivit tillgad.")); } else { return(View(model).WithError("Error vid sparandet av butiksdetaljer.")); } } else { return(View()); } } catch (Exception ex) { _log.ErrorFormat("Error in adding store details. Error : {0}", ex.Message); _log.Error(ex); return(View().WithError(ex.Message)); } }