コード例 #1
0
        public async Task <IActionResult> TicketReportA()
        {
            var ticketReportAParams = new TicketReportAParams
            {
                Tel    = "",
                SaleId = 1
            };
            var token = (await _db.AuthTokens.ToListAsync()).SingleOrDefault();

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

                if (res.Status)
                {
                    return(Ok(res));
                }
                else
                {
                    if (res.Unauthorized)
                    {
                        //login again
                        return(Unauthorized(res));
                    }
                    else
                    {
                        return(BadRequest(res));
                    }
                }
            }
            else
            {
                return(Unauthorized("دوباره لاگین کنید"));;
            }
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="authToken"></param>
        /// <param name="ticketReportAParams"></param>
        /// <param name="company"></param>
        /// <returns></returns>
        public async Task <ServiceResult <IEnumerable <TicketReportAResult> > > TicketReportAAsync(string authToken, TicketReportAParams ticketReportAParams, Company company)
        {
            var result = new ServiceResult <IEnumerable <TicketReportAResult> >();


            _http.DefaultRequestHeaders.Clear();

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

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


            if (_response.IsSuccessStatusCode)
            {
                var res = JsonConvert.DeserializeObject <IrTrainResult <IEnumerable <TicketReportAResult> > >(await _response.Content.ReadAsStringAsync());

                error = res.ExceptionId.GetSystemErrorMessage(res.ExceptionMessage);
                if (res.ExceptionId == 0 && res.ExceptionMessage == null)
                {
                    res.Result.OrEmpty().ToList().ForEach(p =>
                    {
                        p.MoveDate = new DateTime(p.MoveDate.Year, p.MoveDate.Month, p.MoveDate.Day,
                                                  Convert.ToInt32(p.MoveTime.Split(':')[0]),
                                                  Convert.ToInt32(p.MoveTime.Split(':')[1]),
                                                  Convert.ToInt32(p.MoveTime.Split(':')[2])).ToUniversalTime();
                        p.RegisterDate = p.RegisterDate.ToUniversalTime();
                    });
                    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);
        }