public string SendActivationEmailAgain([Bind(Include = "ActivationEmail")] UserToSendActivationCodeViewModel userToSendActivationCode) { if (!Request.IsAjaxRequest()) throw new Exception("Zapytanie nie zostało wywołane jako zapytanie AJAX"); ModelState.Remove("ActivationCode"); if (!ModelState.IsValid) throw new Exception("Walidacja użytkownika nie powiodła się"); var user = new User(); AutoMapperConfiguration.Mapper.Map(userToSendActivationCode, user); var sendActivationResult = user.SendActivationLink(); if (sendActivationResult == UserActionResult.DatabaseError) { return JsonConvert.SerializeObject(new { Message = "Baza danych nie odpowiada", Result = UserActionResult.DatabaseError, ResultString = Enum.GetName(typeof(UserActionResult), UserActionResult.DatabaseError) }); } if (sendActivationResult == UserActionResult.AccountAlreadyActivated) { return JsonConvert.SerializeObject(new { Message = "Użytkownik został już aktywowany", Result = UserActionResult.AccountAlreadyActivated, ResultString = Enum.GetName(typeof(UserActionResult), UserActionResult.AccountAlreadyActivated) }); } if (sendActivationResult == UserActionResult.SendingEmailFailure) { return JsonConvert.SerializeObject(new { Message = "Email aktywacyjny nie został wysłany", Result = UserActionResult.SendingEmailFailure, ResultString = Enum.GetName(typeof(UserActionResult), UserActionResult.SendingEmailFailure) }); } if (sendActivationResult == UserActionResult.Success) { return JsonConvert.SerializeObject(new { Message = $"Link aktywacyjny wysłano do: <span class=\"linklike\">{user.ActivationEmail}</span>", Result = UserActionResult.Success, ResultString = Enum.GetName(typeof(UserActionResult), UserActionResult.Success) }); } throw new ArgumentOutOfRangeException(); }
public string RegisterUser([Bind(Include = "UserName,Password,ConfirmPassword,Email")] UserToRegisterViewModel userToRegister) { if (!Request.IsAjaxRequest()) throw new Exception("Zapytanie nie zostało wywołane jako zapytanie AJAX"); if (!ModelState.IsValid) throw new Exception("Walidacja użytkownika nie powiodła się"); var user = new User(); AutoMapperConfiguration.Mapper.Map(userToRegister, user); var registrationResult = user.Register(); var sendActivationResult = user.SendActivationLink(); if (registrationResult == UserActionResult.DatabaseError || sendActivationResult == UserActionResult.DatabaseError) { return JsonConvert.SerializeObject(new { Message = "Baza danych nie odpowiada", Result = UserActionResult.DatabaseError, ResultString = Enum.GetName(typeof (UserActionResult), UserActionResult.DatabaseError) }); } if (sendActivationResult == UserActionResult.AccountAlreadyActivated) { return JsonConvert.SerializeObject(new { Message = "Użytkownik został już aktywowany", Result = UserActionResult.AccountAlreadyActivated, ResultString = Enum.GetName(typeof(UserActionResult), UserActionResult.AccountAlreadyActivated) }); } if (sendActivationResult == UserActionResult.SendingEmailFailure) { return JsonConvert.SerializeObject(new { Message = "Rejestracja poprawna, ale Email aktywacyjny nie został wysłany", Result = UserActionResult.SendingEmailFailure, ResultString = Enum.GetName(typeof (UserActionResult), UserActionResult.SendingEmailFailure) }); } if (registrationResult == UserActionResult.Success && sendActivationResult == UserActionResult.Success) { return JsonConvert.SerializeObject(new { Message = $"Rejestracja prawidłowa, link aktywacyjny wysłano do: {user.Email}", Result = UserActionResult.Success, ResultString = Enum.GetName(typeof (UserActionResult), UserActionResult.Success) }); } throw new ArgumentOutOfRangeException(); }