Ejemplo n.º 1
0
        public async Task <IActionResult> LockSeatBulk()
        {
            var lockSeatBulkParams = new LockSeatBulkParams
            {
                SelectedWagon = new WagonAvailableSeatCount
                {
                    SelectionHint        = null,
                    WagonName            = "5 ستاره فدك با عصرانه",
                    CircularNumberSerial = 356,
                    RateCode             = 89,
                    PathCode             = 1,
                    WagonType            = 604,
                    TrainNumber          = 346,
                    CircularPeriod       = 980301,
                    ExitTime             = "18:50:00",
                    MoveDate             = new DateTime(2019, 12, 19, 00, 00, 00),
                    IsCompartment        = true,
                    CompartmentCapicity  = 4,
                    Degree                = 1,
                    Capacity              = 16.0M,
                    Cost                  = 1400000,
                    CountingAll           = 16,
                    HasAirConditioning    = true,
                    HasMedia              = true,
                    FullPrice             = 1899500,
                    TimeOfArrival         = "06:00",
                    RetStatus             = 1,
                    DisabledReason        = "",
                    SoldCount             = 0,
                    RationCode            = 2,
                    MinutesToExitDateTime = 4769
                },
                FromStation            = 1,
                ToStation              = 191,
                Gender                 = (int)Gender.Family,
                SeatCount              = 1,
                SellMaster             = 1,
                IsExclusiveCompartment = false
            };
            var token = (await _db.AuthTokens.ToListAsync()).SingleOrDefault();

            if (await _fadakTrainApi.ValidateTokenWithRequestAsync(token.Value, Company.Fadak))
            {
                var res = await _fadakTrainApi.LockSeatBulkAsync(token.Value, lockSeatBulkParams, Company.Fadak);

                if (res.Status)
                {
                    return(Ok(res));
                }
                else
                {
                    if (res.Unauthorized)
                    {
                        //login again
                        return(Unauthorized(res));
                    }
                    else
                    {
                        return(BadRequest(res));
                    }
                }
            }
            else
            {
                return(Unauthorized("دوباره لاگین کنید"));;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="authToken"></param>
        /// <param name="lockSeatBulkParams"></param>
        /// <param name="company"></param>
        /// <returns></returns>
        public async Task <ServiceResult <LockSeatBulkResult> > LockSeatBulkAsync(string authToken, LockSeatBulkParams lockSeatBulkParams, Company company)
        {
            var result = new ServiceResult <LockSeatBulkResult>();

            _http.DefaultRequestHeaders.Clear();

            _http.DefaultRequestHeaders.Add("Authorization", Constants.PreToken + authToken);
            _content = new StringContent(
                JsonConvert.SerializeObject(lockSeatBulkParams), UTF8Encoding.UTF8, "application/json");

            _response = await _http.PostAsync(company.ToBaseUrl(ApiUrl.LockSeatBulk), _content);


            if (_response.IsSuccessStatusCode)
            {
                var res = JsonConvert.DeserializeObject <IrTrainResult <LockSeatBulkResult> >(await _response.Content.ReadAsStringAsync());
                error = res.ExceptionId.GetSystemErrorMessage(res.ExceptionMessage);
                if (res.ExceptionId == 0 && res.ExceptionMessage == null)
                {
                    result.Status = true;
                    result.Result = res.Result;
                }
                else
                {
                    result.Status  = false;
                    result.Message = error;
                }
            }
            else if (_response.StatusCode == HttpStatusCode.Unauthorized)
            {
                result.Status       = false;
                result.Unauthorized = true;
                result.Message      = "مشکل در اعتبار سنجی دوباره لاگین کنید";
            }
            else
            {
                result.Status  = false;
                result.Message = error;
            }
            return(result);
        }