Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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();
        }