public string SendRemindPasswordRequest([Bind(Include = "RemindPasswordEmail")] UserToSendRemindPasswordRequestViewModel userToSendRemindPasswordRequest) { 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(userToSendRemindPasswordRequest, user); var sendActivationResult = user.SendRemindPasswordRequest(); 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.SendingEmailFailure) { return JsonConvert.SerializeObject(new { Message = "Email z kodem weryfikacyjnym nie został wysłany", Result = UserActionResult.SendingEmailFailure, ResultString = Enum.GetName(typeof(UserActionResult), UserActionResult.SendingEmailFailure) }); } if (sendActivationResult == UserActionResult.Success) { return JsonConvert.SerializeObject(new { Message = $"Kod weryfikacyjny wysłano do: <span class=\"linklike\">{user.RemindPasswordEmail}</span>", Result = UserActionResult.Success, ResultString = Enum.GetName(typeof(UserActionResult), UserActionResult.Success) }); } throw new ArgumentOutOfRangeException(); }