public async Task<bool> CreateNewAdvertisement(NewAdvertisementItem newAdvertisementModel, TokenModel tokenModel) {
			var client = new HttpClient();
			client.BaseAddress = new Uri(WebApiConsts.WEB_API_URL);
			client.DefaultRequestHeaders.Add(WebApiConsts.AUTHORIZATION_HEADER_NAME, WebApiConsts.AUTHORIZATION_HEADER_BEARER_VALUE_NAME + tokenModel.Token);

			var stringContent = new StringContent(JsonConvert.SerializeObject(newAdvertisementModel), Encoding.UTF8, "application/json");
			var response = await client.PostAsync(WebApiConsts.ADVERTISEMENT_CONTROLLER + "CreateAdvertisementItem", stringContent);
			if (response.StatusCode != System.Net.HttpStatusCode.OK) {
				return false;
			}
			return true;

		}
		public async Task<AdvertisementItemDetails> GetAdvertisementDetails(int advertisementItemId, TokenModel tokenModel) {
			var client = new HttpClient();
			client.BaseAddress = new Uri(WebApiConsts.WEB_API_URL);
			client.DefaultRequestHeaders.Add(WebApiConsts.AUTHORIZATION_HEADER_NAME, WebApiConsts.AUTHORIZATION_HEADER_BEARER_VALUE_NAME + tokenModel.Token);
			var response = await client.GetAsync(WebApiConsts.ADVERTISEMENT_CONTROLLER + "GetAdvertisementDetail/" + advertisementItemId);
			if (response.StatusCode != System.Net.HttpStatusCode.OK) {
				return null;
			}
			var responseContentString = await response.Content.ReadAsStringAsync();
			var advertisementDetails = JsonConvert.DeserializeObject<AdvertisementItemDetails>(responseContentString);

			return advertisementDetails;
		}
		public async Task<List<AdvertisementItemShort>> GetAdvertisements(SearchModel searchModel, TokenModel tokenModel) {
			var client = new HttpClient();
			client.BaseAddress = new Uri(WebApiConsts.WEB_API_URL);
			client.DefaultRequestHeaders.Add(WebApiConsts.AUTHORIZATION_HEADER_NAME, WebApiConsts.AUTHORIZATION_HEADER_BEARER_VALUE_NAME + tokenModel.Token);
			var stringContent = new StringContent(JsonConvert.SerializeObject(searchModel), Encoding.UTF8, "application/json");
			var response = await client.PostAsync(WebApiConsts.ADVERTISEMENT_CONTROLLER + "GetAdvertisements", stringContent);
			if (response.StatusCode != System.Net.HttpStatusCode.OK) {
				return null;
			}
			var responseContentString = await response.Content.ReadAsStringAsync();
			var advertisementList = JsonConvert.DeserializeObject<List<AdvertisementItemShort>>(responseContentString);
			return advertisementList;
		}
		public async Task<AdvertisementItemPhotosPaths> UploadNewAdvertisementPhotos(byte[] bytesArray, TokenModel tokenModel) {
			var client = new HttpClient();
			client.BaseAddress = new Uri(WebApiConsts.WEB_API_URL);
			client.DefaultRequestHeaders.Add(WebApiConsts.AUTHORIZATION_HEADER_NAME, WebApiConsts.AUTHORIZATION_HEADER_BEARER_VALUE_NAME + tokenModel.Token);

			MultipartFormDataContent form = new MultipartFormDataContent();
			HttpContent content = new StringContent("uploadPhoto");
			form.Add(content, "uploadPhoto");
			var stream = new MemoryStream(bytesArray);
			content = new StreamContent(stream);
			content.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") {
				Name = "photo0",
				FileName = "photo0"
			};
			form.Add(content);
			var response = await client.PostAsync(WebApiConsts.ADVERTISEMENT_CONTROLLER + "UploadFiles" , form);
			if (response.StatusCode != System.Net.HttpStatusCode.OK) {
				return null;
			}
			var responseContentString = await response.Content.ReadAsStringAsync();

			var photosPaths = JsonConvert.DeserializeObject<AdvertisementItemPhotosPaths>(responseContentString);
			return photosPaths;
		}
Ejemplo n.º 5
0
		private async Task<List<AdvertisementItemShort>> GetAdvertisements()
		{
			var searchModel = new SearchModel();
			searchModel.CoordinatesModel = this.gpsLocationService.GetCoordinatesModel();
			searchModel.Page = advertisementsPage;
			var tokenModel = new TokenModel();
			tokenModel.Token = (string)this.sharedPreferencesHelper.GetSharedPreference<string>(SharedPreferencesKeys.BEARER_TOKEN);

			var list = await this.advertisementItemService.GetAdvertisements(searchModel, tokenModel);
			return list;
		}
		private async Task<AdvertisementItemDetails> GetAdvertisement(int advertisementItemId) {
			var tokenModel = new TokenModel();
			tokenModel.Token = (string)this.sharedPreferencesHelper.GetSharedPreference<string>(SharedPreferencesKeys.BEARER_TOKEN);
			var advertisement = await this.advertisementItemService.GetAdvertisementDetails(advertisementItemId, tokenModel);

			return advertisement;
		}
		private async void ButtonPublishAdvertisement_Click(object sender, EventArgs e) {
			if (AdvertisementItemDataIsValidate()) {
				progress.ShowProgressDialog("Wysy³anie ogloszenia. Proszê czekaæ...");
				var location = gpsLocationService.GetLocation();
				if (location.Longitude != 0.0 && location.Latitude != 0.0) {
					var tokenModel = new TokenModel();
					tokenModel.Token = (string)this.sharedPreferencesHelper.GetSharedPreference<string>(SharedPreferencesKeys.BEARER_TOKEN);
					var bytesArray = System.IO.File.ReadAllBytes(mPhotoPath);
					var photosListModel = await this.advertisementItemService.UploadNewAdvertisementPhotos(bytesArray, tokenModel);
					if (photosListModel != null) {
						var newAdvertisementModel = CreateNewAdvertisementItemModel(photosListModel);
						var success = await this.advertisementItemService.CreateNewAdvertisement(newAdvertisementModel, tokenModel);
						if (success) {
							AlertsService.ShowToast(this, "Pomyœlnie utworzone nowe og³oszenie");
							this.Finish();
						}
						else {
							AlertsService.ShowToast(this, "Nie uda³o siê utworzyæ nowego og³oszenia. Spróbuj ponownie");
						}

					}
				}
				else {
					//lokalizacja jest chujowa
					Toast.MakeText(this, "Wspólrzêdne lokalizacji s¹ zerowe", ToastLength.Long).Show();
				}
				progress.CloseProgressDialog();
			}
		}