Пример #1
0
        /// <summary>
        /// Serialization method
        /// </summary>
        /// <returns>Authentication token</returns>
        protected override async Task <object> OnPerform()
        {
            var currentUser = new User
            {
                UserName    = _cacheManager.UserName,
                Password    = _cacheManager.Password,
                TillNumber  = _cacheManager.TillNumber,
                PosId       = _cacheManager.LoginPolicies.PosID,
                ShiftNumber = _cacheManager.LoginPolicies.UseShifts ? _cacheManager.ShiftNumber : default(int),
                FloatAmount = _cacheManager.LoginPolicies.ProvideTillFloat ?
                              Convert.ToDecimal(_cacheManager.CashFloat, CultureInfo.InvariantCulture) : default(decimal),
                ShiftDate = _cacheManager.ShiftDate
            };

            var user     = JsonConvert.SerializeObject(currentUser);
            var content  = new StringContent(user, Encoding.UTF8, ApplicationJSON);
            var response = await _restClient.LoginAsync(content);

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

            switch (response.StatusCode)
            {
            case HttpStatusCode.OK:
                var loginContract = new DeSerializer().MapLogin(data);
                return(new Mapper().MapLogin(loginContract));

            default:
                return(await HandleExceptions(response));
            }
        }