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); }
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); }
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); }
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); }
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); }
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); }