Example #1
0
        protected async void  CheckLogin()
        {
            IFileReadWrite  fileReadWrite = Xamarin.Forms.DependencyService.Get <IFileReadWrite>();
            LoginUserDetail serialized    = new LoginUserDetail();
            string          userDetails   = await fileReadWrite.ReadFromFile();

            if (string.IsNullOrEmpty(userDetails))
            {
                var firstPage = new NavigationPage(new LoginPage());
                MainPage = firstPage;
            }
            else
            {
                serialized = JsonConvert.DeserializeObject <LoginUserDetail>(userDetails);
                if (serialized == null)
                {
                    var firstPage = new NavigationPage(new LoginPage());
                    MainPage = firstPage;
                }
                else
                {
                    var firstPage = new NavigationPage(new MainMasterPage());
                    MainPage = firstPage;
                }
            }
        }
        public async Task <bool> CheckLoginDetails(string userName, string password, bool rememberMe)
        {
            string          url      = Constants.LoginUrl;
            LoginUserDetail loginRec = new LoginUserDetail();

            loginRec.username = userName;
            loginRec.password = password;

            //return await UserLoginAPICall(url, loginRec, rememberMe);
            // return true;
            IFileReadWrite fileReadWrite = Xamarin.Forms.DependencyService.Get <IFileReadWrite>();
            string         serialized    = JsonConvert.SerializeObject(loginRec);
            bool           x             = await fileReadWrite.WriteToFile(serialized);

            return(true);
        }
Example #3
0
        public async Task <bool> WriteToJsonFile(LoginUserDetail param)
        {
            bool result = true;

            try
            {
                string serialized = JsonConvert.SerializeObject(param);
                await fileReadWrite.WriteToFile(serialized);
            }
            catch (Exception ex)
            {
                result = false;
            }

            return(result);
        }
        public async Task <IActionResult> Login(LoginViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                var user = await _userManager.FindByEmailAsync(model.Email);

                // This doesn't count login failures towards account lockout
                // To enable password failures to trigger account lockout, set lockoutOnFailure: true
                var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure : false);

                if (result.Succeeded)
                {
                    var identityUserRole = _context.UserRoles.FirstOrDefault(x => x.UserId == user.Id);
                    if (identityUserRole != null)
                    {
                        LoginUserDetail objUserDetail = new LoginUserDetail()
                        {
                            UserId      = user.Id,
                            DateCreated = user.DateCreated,
                            FirstName   = user.FirstName,
                            LastName    = user.LastName,
                            Email       = user.Email,
                        };
                    }
                    _logger.LogInformation(1, "User logged in.");
                    return(RedirectToLocal(returnUrl));
                }
                if (result.RequiresTwoFactor)
                {
                    return(RedirectToAction(nameof(SendCode), new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));
                }
                if (result.IsLockedOut)
                {
                    _logger.LogWarning(2, "User account locked out.");
                    return(View("Lockout"));
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Invalid login attempt.");
                    return(View(model));
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Example #5
0
        public async Task <LoginUserDetail> ReadFromJsonFile()
        {
            LoginUserDetail deserialized = new LoginUserDetail();

            try
            {
                deserialized = JsonConvert.DeserializeObject <LoginUserDetail>(await fileReadWrite.ReadFromFile());

                if (deserialized == null)
                {
                    deserialized = new LoginUserDetail();
                }
            }
            catch (Exception ex)
            {
                deserialized = new LoginUserDetail();
            }

            return(deserialized);
        }
        public IOutData RegisterUser(IInData input)
        {
            LoginUserDetail userDetail = ((LoginUserDetail)input);

            try{
                this._VansawaliContext.UserLogin.Add(
                    new UserLogin {
                    UserId    = userDetail.UserId,
                    UserPass  = userDetail.Password,
                    Name      = userDetail.Name,
                    IsValid   = true,
                    RoleId    = 3,
                    CreatedOn = DateTime.Now
                });
                this._VansawaliContext.SaveChanges();
                return(new Output {
                    Error = null, Message = "User added successfully", CustomData = new{ userDetail = userDetail.UserId, Name = userDetail.Name }
                });
            }catch (Exception ex) {
                throw ex;
            }
        }
        public async Task <bool> UserLoginAPICall(string url, LoginUserDetail loginRec, bool rememberMe)
        {
            try
            {
                HttpResponseMessage response = new HttpResponseMessage();
                var json = JsonConvert.SerializeObject(loginRec);

                using (var client = new HttpClient())
                {
                    response = new HttpResponseMessage();
                    client.DefaultRequestHeaders.Add("X-Whirlpool-Client-ID", Constants.LoginAPIKey);
                    client.Timeout = TimeSpan.FromSeconds(Constants.LoginServerTimeout);
                    var content = new StringContent(json, Encoding.UTF8, "application/json");
                    response = await client.PostAsync(url, content);
                }
                if (response.IsSuccessStatusCode)
                {
                    var JsonObj = await response.Content.ReadAsStringAsync();

                    var obj = JsonConvert.DeserializeObject <LoginUserDetail>(JsonObj);
                    if (obj != null)
                    {
                        //if (obj.valid && !string.IsNullOrEmpty(obj.session))
                        //{
                        //Insert Token Details to Table
                        //loginRec.session = obj.session;
                        //loginRec.password = string.Empty;
                        ////insert usertable
                        //AppLogin loginData = new AppLogin();
                        //loginData.AppLoginName = loginRec.username;

                        //loginData.AppLoginName = EncryptDecryptWithPCLCrypto.EncryptAes(loginRec.username);
                        //loginData.TokenId = EncryptDecryptWithPCLCrypto.EncryptAes(loginRec.session);
                        //loginData.LastLoggedDate = DateTime.Now;
                        //string date = AppFactory.Resolve<IPlatformService>().GetGlobalDate();

                        //// update the login results, date and current region
                        //if (rememberMe)
                        //{
                        //    await AppFactory.GetDb().InsertPreference(Constants.LOGIN_SCREEN, Constants.TRUE);
                        //}
                        //await AppFactory.GetDb().InsertPreference(Constants.LOGIN_DATE, date.ToString());
                        //// refresh the user preferences
                        //AppFactory.InitFlags();

                        //loginData.Remarks = "Success";
                        //await AppFactory.GetDb().DeleteLoginUserDetail();
                        //await AppFactory.GetDb().InsertLoginUserDetail(loginData);

                        ////Retrieve and set App login user details
                        //var currentUser = await AppFactory.GetDb().GetLoginUserDetailsAsync();
                        //if (currentUser != null)
                        //{
                        //    if (currentUser.Count > 0)
                        //    {
                        //        AppState.UserName = EncryptDecryptWithPCLCrypto.DecryptAes(currentUser[0].AppLoginName);
                        //        AppState.UserSession = EncryptDecryptWithPCLCrypto.DecryptAes(currentUser[0].TokenId);
                        //        AppState.AppLoginId = currentUser[0].AppLoginId;
                        //    }
                        //}
                        return(true);
                        //}
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(false);
        }
 public IOutData Post([FromBody] LoginUserDetail value)
 {
     Console.Clear();
     Console.Write(string.Format("Name={0} email={1} pass={2}", value.Name, value.UserId, value.Password));
     return(this._registerService.RegisterUser(value));
 }