Пример #1
0
        public async Task <BusServiceResult <bool> > RefundTicketAsync(string ticketId)
        {
            var result = new BusServiceResult <bool>();

            _http.DefaultRequestHeaders.Clear();
            _http.DefaultRequestHeaders.Add("Authorization", Constants.PreToken + _token);

            _response = await _http.PostAsync(ApiUrl.SafarBaseUrl.ToUrl(ApiUrl.RefundTicket + "/" + ticketId + "/refund"), null);

            if (_response.IsSuccessStatusCode)
            {
                result.Status = true;
            }
            else if (_response.StatusCode == HttpStatusCode.Unauthorized)
            {
                result.Message      = "خطا در اعتبار سنجی دوباره توکن را تولید کنید";
                result.Status       = false;
                result.Unauthorized = true;
            }
            else
            {
                var res = JsonConvert.DeserializeObject <BusErrorResult>(await _response.Content.ReadAsStringAsync());
                result.Message = res.ToError();
                result.Status  = false;
            }
            return(result);
        }
Пример #2
0
        public async Task <BusServiceResult <TicketSummary> > BuyTicketAsync(string servId, TicketToBook ticket)
        {
            var result = new BusServiceResult <TicketSummary>();

            _http.DefaultRequestHeaders.Clear();
            _http.DefaultRequestHeaders.Add("Authorization", Constants.PreToken + _token);

            _content = new StringContent(
                JsonConvert.SerializeObject(ticket), UTF8Encoding.UTF8, "application/json");
            _response = await _http.PostAsync(ApiUrl.SafarBaseUrl.ToUrl(ApiUrl.BuyTicket), _content);

            if (_response.IsSuccessStatusCode)
            {
                var res = JsonConvert.DeserializeObject <TicketSummary>(await _response.Content.ReadAsStringAsync());
                result.Result = res;
                result.Status = true;
            }
            else if (_response.StatusCode == HttpStatusCode.Unauthorized)
            {
                result.Message      = "خطا در اعتبار سنجی دوباره توکن را تولید کنید";
                result.Status       = false;
                result.Unauthorized = true;
            }
            else
            {
                var res = JsonConvert.DeserializeObject <BusErrorResult>(await _response.Content.ReadAsStringAsync());
                result.Message = res.ToError();
                result.Status  = false;
            }
            return(result);
        }
Пример #3
0
        public async Task <BusServiceResult <List <BusServices> > > GetServicesAsync(string startCityId, string endCityId, string date)
        {
            var result = new BusServiceResult <List <BusServices> >();

            _http.DefaultRequestHeaders.Clear();
            _http.DefaultRequestHeaders.Add("Authorization", Constants.PreToken + _token);

            _response = await _http.GetAsync(ApiUrl.SafarBaseUrl.ToUrl(ApiUrl.GetServices + "/" + startCityId + "/" + endCityId + "/" + date));


            if (_response.IsSuccessStatusCode)
            {
                var res = JsonConvert.DeserializeObject <List <BusServices> >(await _response.Content.ReadAsStringAsync());

                result.Result = res;
                result.Status = true;
            }
            else if (_response.StatusCode == HttpStatusCode.Unauthorized)
            {
                result.Message      = "خطا در اعتبار سنجی دوباره توکن را تولید کنید";
                result.Status       = false;
                result.Unauthorized = true;
            }
            else
            {
                var res = JsonConvert.DeserializeObject <BusErrorResult>(await _response.Content.ReadAsStringAsync());
                result.Message = res.ToError();
                result.Status  = false;
            }
            return(result);
        }
Пример #4
0
        public BusServiceResult <TicketInfo> InfoBuyTicket(long ticketId)
        {
            var result = new BusServiceResult <TicketInfo>();

            _http.DefaultRequestHeaders.Clear();
            _http.DefaultRequestHeaders.Add("Authorization", Constants.PreToken + _token);

            _response = _http.GetAsync(ApiUrl.SafarBaseUrl.ToUrl(ApiUrl.InfoBuyTicket + "/" + ticketId)).Result;

            if (_response.IsSuccessStatusCode)
            {
                var res = JsonConvert.DeserializeObject <TicketInfo>(_response.Content.ReadAsStringAsync().Result);

                result.Result = res;
                result.Status = true;
            }
            else if (_response.StatusCode == HttpStatusCode.Unauthorized)
            {
                result.Message      = "خطا در اعتبار سنجی دوباره توکن را تولید کنید";
                result.Status       = false;
                result.Unauthorized = true;
            }
            else
            {
                var res = JsonConvert.DeserializeObject <BusErrorResult>(_response.Content.ReadAsStringAsync().Result);
                result.Message = res.ToError();
                result.Status  = false;
            }
            return(result);
        }
Пример #5
0
        public BusServiceResult <bool> ValidateToken(DateTime issued, DateTime expires)
        {
            var result = new BusServiceResult <bool>();

            result.Status = true;

            if (expires > issued)
            {
                result.Result = true;
            }
            else
            {
                result.Result = false;
            }
            return(result);
        }
Пример #6
0
        public BusServiceResult <BusTokenResult> GetToken(string username, string password, string granttype = "password")
        {
            var result = new BusServiceResult <BusTokenResult>();

            _http.DefaultRequestHeaders.Clear();

            var values = new Dictionary <string, string>
            {
                { "grant_type", granttype },
                { "username", username },
                { "password", password }
            };

            _contentForToken = new FormUrlEncodedContent(values);

            _response = _http.PostAsync(ApiUrl.BaseUrl.ToUrl(ApiUrl.Token), _contentForToken).Result;


            if (_response.IsSuccessStatusCode)
            {
                var res = JsonConvert.DeserializeObject <BusToken>(_response.Content.ReadAsStringAsync().Result);

                CultureInfo provider    = CultureInfo.InvariantCulture;
                DateTime    issued      = DateTime.ParseExact(res.issued.Split(',')[1].TrimEnd(new char[] { 'T', 'M', 'G' }).Trim(), "dd MMM yyyy HH:mm:ss", provider);
                DateTime    expires     = DateTime.ParseExact(res.expires.Split(',')[1].TrimEnd(new char[] { 'T', 'M', 'G' }).Trim(), "dd MMM yyyy HH:mm:ss", provider);
                var         tokenResult = new BusTokenResult
                {
                    Created     = issued,
                    ExpireIn    = expires,
                    AccessToken = res.access_token,
                    TokenType   = res.token_type,
                    UserName    = res.userName,
                };
                _token        = res.access_token;
                result.Result = tokenResult;
                result.Status = true;
            }
            else
            {
                var res = JsonConvert.DeserializeObject <BusErrorResult>(_response.Content.ReadAsStringAsync().Result);
                result.Message = res.ToError();
                result.Status  = false;
            }
            return(result);
        }