public Guid CreateTicket(string email) { var user = _securityService.GetUserByEmail(email); if (user == null) { throw new UserNotFoundException(); } DateTime utcNow = DateTime.UtcNow; TimeSpan lifetime = _settingsService.GetTicketLifetime(); Guid token = Guid.NewGuid(); var ticket = new PasswordTicket() { ExpirationDate = utcNow.Add(lifetime), Token = token, UserId = user.UserId, }; _passwordTicketGateway.Insert(ticket); var url = _settingsService.GetSettings <string>("RootUrl"); string link = $"{url}/restorepassword/{token}"; var text = String.Format( "Вы запросили восстановление пароля на сайте {0} <br/>Ваш логин: {2}.<br/>Чтобы восстановить пароль, перейдите по ссылке {1} <br/><br/>Если Вы не запрашивали восстановление пароля, пожалуйста, проигнорируйте это письмо.<br/><br/>С уважением, администрация сайта {0}.", url, link, user.Username); _mailService.Send(new MailMsg() { Receiver = email, Subject = $"Восстановление пароля на сайте {url}", Body = text }); return(token); }
public int Insert(PasswordTicket rec) { return(Exec <int>(GetProcedureString(), rec)); }