private static User CreateUser(RegistrationRequest request, string password) { string passwordHash; using (var sha1 = new SHA1CryptoServiceProvider()) { // TODO: использовать соль! passwordHash = Encoding.UTF8.GetString(sha1.ComputeHash(Encoding.UTF8.GetBytes(password))); } var user = new User { Email = request.Email, PasswordHash = passwordHash }; return user; }
public Result Execute(string userEmail) { if (!IsValidEmail(userEmail)) { return Fail(() => InvalidEmail, "Невалидный email: " + userEmail); } var request = new RegistrationRequest { Id = Guid.NewGuid(), Email = userEmail }; if (IsEmailRegistered(userEmail)) { return Fail(() => EmailAlreadyRegistered, "Пользователь с таким email уже существует"); } // получаем корзину var cartResult = _getCartCmd.Execute(); if (cartResult.HasErrors) { return cartResult.Outcome; } // если корзина не пуста, созраняем ссылку в заявке if (cartResult.Value.Items.Any()) { request.Cart = cartResult.Value; } // добавляем заявку _db.RegistrationRequests.Add(request); // отправляем письмо _mailService.SendUserConfirmatiom(userEmail, request.Id.ToString()); return Ok(); }
private static bool CheckRequestExists(RegistrationRequest request) { return request != null; }