Example #1
0
        public async Task <bool> DoLoginCustomerAsync(CustomerModel model)
        {
            ErrorCode = string.Empty;

            var           uri  = new Uri(string.Concat(_uriAuthBase, "oauth2/token"));
            StringContent data = null;

            data = new StringContent
                       (string.Format("client_id={0}&grant_type=password&username={1}&password={2}", _clientIdPlayAdmin, model.Mail, model.Password), Encoding.UTF8, "application/x-www-form-urlencoded");

            HttpResponseMessage response = null;

            response = await _client.PostAsync(uri, data);

            var result = await response.Content.ReadAsStringAsync();

            JObject responseModel = JsonConvert.DeserializeObject <JObject>(result);

            if (response.StatusCode == HttpStatusCode.OK)
            {
                var auth = new AuthCustomerModel
                {
                    Token     = (string)responseModel["access_token"],
                    ExpiresIn = (string)responseModel["expires_in"],
                    IdUser    = (string)responseModel["id_user"],
                    UserName  = (string)responseModel["name_customer"],
                    IdPlace   = (string)responseModel["id_place"]
                };

                SessionCustomerService.SaveAccount(auth);
                SessionCustomerService.Place = await GetPlaceAsync(Convert.ToInt32((string)responseModel["id_place"]));

                if (SessionCustomerService.Place == null)
                {
                    SessionCustomerService.DeleteAccount();
                    return(false);
                }
                else
                {
                    SessionCustomerService.Place.HasMutiple = await ValidateIfPlaceHasMultiples(SessionCustomerService.Place.Id);
                }

                return(true);
            }
            else
            {
                ErrorCode = (string)responseModel["error"];
                return(false);
            }
        }
Example #2
0
        public static async Task <bool> ValidateLoginAsync()
        {
            AccountStore accountStore = AccountStore.Create();
            Account      account      = accountStore.FindAccountsForService(_servideId).SingleOrDefault();

            if (account != null)
            {
                bool result = await RestService.Instance.ValidateTokenCustomerAsync(account.Properties["Token"], account.Properties["IdPlace"]);

                if (result)
                {
                    Account = new AuthCustomerModel
                    {
                        Token          = account.Properties["Token"],
                        ExpiresIn      = account.Properties["ExpiresIn"],
                        IdUser         = account.Properties["IdUser"],
                        UserName       = account.Properties["UserName"],
                        IdPlace        = account.Properties["IdPlace"],
                        ExpirationDate = DateTime.Now + TimeSpan.FromSeconds(Convert.ToDouble(account.Properties["ExpiresIn"]))
                    };

                    Place = await RestService.Instance.GetPlaceAsync(Convert.ToInt32(Account.IdPlace));

                    if (Place == null)
                    {
                        DeleteAccount();
                        return(false);
                    }
                    else
                    {
                        Place.HasMutiple = await RestService.Instance.ValidateIfPlaceHasMultiples(Place.Id);
                    }
                }

                return(result);
            }

            return(false);
        }
Example #3
0
        public static void SaveAccount(AuthCustomerModel auth)
        {
            Account account = new Account();

            account.Properties.Add("Token", auth.Token);
            account.Properties.Add("ExpiresIn", auth.ExpiresIn);
            account.Properties.Add("IdUser", auth.IdUser);
            account.Properties.Add("UserName", auth.UserName);
            account.Properties.Add("IdPlace", auth.IdPlace);

            try
            {
                AccountStore.Create().Save(account, _servideId);
            }
            catch (Exception e)
            {
                string exx = e.ToString();
            }

            auth.ExpirationDate = DateTime.Now + TimeSpan.FromSeconds(Convert.ToDouble(auth.ExpiresIn));
            Account             = auth;
        }