Пример #1
0
        public IActionResult RegisterUser(LoginCommandModel model)
        {
            try
            {
                string isSuccess = _authService.Register(model.Email.ToLower(), model.Password);
                if (isSuccess == "Success")
                {
                    SuccessModel.SuccessCode    = "200";
                    SuccessModel.SuccessMessage = "Register Completed.";

                    return(Ok(SuccessModel));
                }
                else
                {
                    ErrorModel.ErrorCode    = "400";
                    ErrorModel.ErrorMessage = "This User is Exist.";

                    return(BadRequest(ErrorModel));
                }
            }
            catch (Exception ex)
            {
                ErrorModel.ErrorMessage = ex.Message;
                ErrorModel.ErrorCode    = "500";

                return(StatusCode(500, ErrorModel));
            }
        }
Пример #2
0
        public IActionResult LogInUser(LoginCommandModel cmd)
        {
            try
            {
                UserDto userDto = _authService.Login(cmd.Email.ToLower(), cmd.Password);
                if (userDto != null)
                {
                    return(Ok(userDto));
                }
                else
                {
                    ErrorModel.ErrorCode    = "400";
                    ErrorModel.ErrorMessage = "User or Password invalid.";

                    return(BadRequest(ErrorModel));
                }
            }
            catch (Exception ex)
            {
                ErrorModel.ErrorMessage = ex.Message;
                ErrorModel.ErrorCode    = "500";

                return(StatusCode(500, ErrorModel));
            }
        }
Пример #3
0
        public async Task <Result <SuccessModel, ErrorModel> > Register(LoginCommandModel command)
        {
            Uri url = new Uri(BaseUriUser, $"/Auth/Register");

            Result <SuccessModel, ErrorModel> result = await PostMethodAsync <SuccessModel, ErrorModel>(url, command);

            return(result);
        }
Пример #4
0
        public async Task <Result <UserDto, ErrorModel> > Login(LoginCommandModel command)
        {
            Uri url = new Uri(BaseUriUser, $"/Auth/Login");

            Result <UserDto, ErrorModel> result = await PostMethodAsync <UserDto, ErrorModel>(url, command);

            return(result);
        }
Пример #5
0
 public async Task <IActionResult> Login(LoginCommandModel model)
 {
     if (ModelState.IsValid)
     {
         if (await _service.Login(model))
         {
             return(RedirectToAction("Index", "Home"));
         }
     }
     ModelState.AddModelError("", "Fail to login");
     return(View());
 }
Пример #6
0
        public async Task <bool> Login(LoginCommandModel model)
        {
            var user = await _userManager.FindByEmailAsync(model.Email);

            if (user == null)
            {
                return(false);
            }

            var isLogin = await _signInManager.PasswordSignInAsync(user, model.Password, model.RememberMe, false);

            if (isLogin.Succeeded)
            {
                return(true);
            }
            return(false);
        }
Пример #7
0
        private async Task Register()
        {
            ClearErrorMessage();
            if (!EmailHelper.IsValidEmail(email))
            {
                ErrorMessageEmail = "Invalid Email.";
                IsErrorEmail      = true;
                return;
            }
            if (NewPassword != ConfirmPassword)
            {
                ErrorMessagePassword = "******";
                IsErrorPassword      = true;
                return;
            }
            else
            {
                password = NewPassword;
            }
            IsBusy = true;
            await Task.Delay(1000);

            try
            {
                //LoadingLottie = true;
                if (NullValidate(Email) == false)
                {
                    ErrorMessageEmail = "Please enter E-mail";
                    IsErrorEmail      = true;
                }
                else if (!EmailHelper.IsValidEmail(email))
                {
                    ErrorMessageEmail = "E-mail is invalid";
                    IsErrorEmail      = true;
                }
                else if (NullValidate(password) == false)
                {
                    ErrorMessagePassword = "******";
                    IsErrorPassword      = true;
                }
                else
                {
                    var checkNet    = true;
                    int workingStep = 1;
                    retry = 1;
                    int loopcheck = 0;

                    bool internetCheck = true;
                    do
                    {
                        switch (workingStep)
                        {
                        case 1:    //check internet
                            checkNet = CheckingInternet();
                            if (checkNet == true)
                            {
                                workingStep = 10;
                            }
                            else
                            {
                                workingStep = 2;
                            }
                            break;

                        case 2:    //delay
                            await Task.Delay(300);

                            workingStep = 3;
                            break;

                        case 3:    //action result
                            bool istryAgain = await Application.Current.MainPage.DisplayAlert("", "No Internet", "Try Again", "Cancel");

                            if (istryAgain)
                            {
                                workingStep = 1;
                            }
                            else
                            {
                                internetCheck = false;
                            }
                            break;

                        case 10:    //call api
                            loopcheck++;
                            LoginCommandModel command = new LoginCommandModel()
                            {
                                Email    = Email,
                                Password = password
                            };

                            result = await AuthService.Register(command);

                            if (result.StatusCode == Enums.StatusCode.Ok)
                            {
                                await App.Current.MainPage.Navigation.PushAsync(new LoginPage());

                                workingStep = 100;
                            }
                            else
                            {
                                if (loopcheck <= maxRetry)
                                {
                                    if (result.StatusCode == Enums.StatusCode.Unauthorized)
                                    {
                                        //	await GetToken();
                                    }
                                    else
                                    {
                                        workingStep++;
                                    }
                                }
                                else
                                {
                                    internetCheck = false;
                                }
                            }
                            break;

                        case 11:    //
                            await Task.Delay(300);

                            workingStep++;
                            break;

                        case 12:    //

                            if (result.StatusCode == Enums.StatusCode.BadRequest)
                            {
                                //await PopupNavigation.Instance.PushAsync(new ErrorPopup(resultHistory.Error.ErrorMessage));
                                //await Application.Current.MainPage.DisplayAlert("", resultHistory.Error.ErrorMessage.ToString(), "OK");
                            }
                            else if (result.StatusCode == Enums.StatusCode.NotFound)
                            {
                                //await PopupNavigation.Instance.PushAsync(new ErrorPopup(resultHistory.Error.ErrorMessage));
                                //await Application.Current.MainPage.DisplayAlert("", resultHistory.Error.ErrorMessage.ToString(), "OK");
                            }
                            else if (result.StatusCode == Enums.StatusCode.InternalServerError)
                            {
                                //await PopupNavigation.Instance.PushAsync(new ErrorPopup(resultHistory.Error.ErrorMessage));
                                //await Application.Current.MainPage.DisplayAlert("", resultHistory.Error.ErrorMessage.ToString(), "OK");
                            }
                            else
                            {
                                //await PopupNavigation.Instance.PushAsync(new ErrorPopup(resultHistory.Error.ErrorMessage));
                                //await Application.Current.MainPage.DisplayAlert("", resultHistory.Error.ErrorMessage.ToString(), "OK");
                            }
                            workingStep++;
                            break;

                        case 13:    //
                            internetCheck = false;
                            break;

                        case 100:    //
                            internetCheck = false;
                            break;

                        default:
                            internetCheck = false;
                            break;
                        }
                    } while (internetCheck);
                }
            }
            catch (OperationCanceledException)
            {
                //await PopupNavigation.Instance.PushAsync(new ErrorPopup("ปิดปรับปรุงServer"));
                await Application.Current.MainPage.DisplayAlert("", "ปิดปรับปรุงServer", "OK");

                //Application.Current.MainPage = new NavigationPage(new LoginPage());
            }
            catch (TimeoutException)
            {
                //await PopupNavigation.Instance.PushAsync(new ErrorPopup("กรุณาลองใหม่อีกครั้ง"));
                await Application.Current.MainPage.DisplayAlert("", "กรุณาลองใหม่อีกครั้ง", "OK");

                //Application.Current.MainPage = new NavigationPage(new LoginPage());
            }
            catch (Exception ex)
            {
                //await PopupNavigation.Instance.PushAsync(new ErrorPopup("กรุณาลองใหม่อีกครั้ง"));
                await Application.Current.MainPage.DisplayAlert("", "กรุณาลองใหม่อีกครั้ง", "OK");
            }
            //Call Api
            //Home
            IsBusy = false;
        }