public async Task <Response> AddItemAsync(ProjectBuilding item) { Response result = new Response(); Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("Id", item.Id); parameters.Add("Name", item.Name); parameters.Add("Description", item.Description); parameters.Add("ProjectId", item.ProjectId); parameters.Add("UserID", App.LogUser.Id.ToString()); parameters.Add("ImageName", item.ImageName); parameters.Add("ImageUrl", item.ImageUrl); parameters.Add("ImageDescription", item.ImageDescription); //Regex UrlMatch = new Regex(@"(?i)(http(s)?:\/\/)?(\w{2,25}\.)+\w{3}([a-z0-9\-?=$-_.+!*()]+)(?i)", RegexOptions.Singleline); //if (item.ImageUrl == "blank.png" || UrlMatch.IsMatch(item.ImageUrl)) //{ // item.ImageUrl = null; //} string ImageUrl = HttpUtil.GetImageUrl(item.ImageUrl).Result; result = await HttpUtil.UploadSingleImage(item.Name, ImageUrl, "api/ProjectBuilding/AddEdit", parameters); return(await Task.FromResult(result)); }
public async Task <Response> DeleteItemAsync(ProjectBuilding item) { item.IsDelete = true; item.UserId = App.LogUser.Id.ToString(); using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(App.AzureBackendUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); using (HttpResponseMessage response = await client.PostAsJsonAsync($"api/ProjectBuilding/DeleteProjectBuilding", item)) { var responseBody = await response.Content.ReadAsStringAsync(); Response result = JsonConvert.DeserializeObject <Response>(responseBody); response.EnsureSuccessStatusCode(); //if (response.IsSuccessStatusCode == false) //{ // throw new ApiException // { // StatusCode = (int)response.StatusCode, // Content = result.Message // }; //} return(await Task.FromResult(result)); } } }
public async Task <bool> UpdateItemAsync(ProjectBuilding item) { var oldItem = items.Where((ProjectBuilding arg) => arg.Id == item.Id).FirstOrDefault(); items.Remove(oldItem); items.Add(item); return(await Task.FromResult(true)); }
public ProjectBuildingAddEditViewModel() { ProjectBuilding = new ProjectBuilding(); ChoosePhotoCommand = new Command(async() => await ChoosePhotoCommandExecute()); GoBackCommand = new Command(async() => await GoBack()); SaveCommand = new Command(async() => await Save()); //MessagingCenter.Subscribe<ImageEditor.Pages.ImageEditorPage, string>(this, "AddItem", async (obj, item) => //{ // var newItem = item as string; // await App.Current.MainPage.DisplayAlert(newItem,newItem,"ok","cancel"); //}); //LoadItemsCommand = new Command(async () => await ExecuteLoadItemsCommand()); //Load(); ImgData = new ImageData(); }
async Task ExecuteBuildingDetailCommand(ProjectBuilding parm) { await Shell.Current.Navigation.PushAsync(new ProjectBuildingDetail() { BindingContext = new ProjectBuildingDetailViewModel() { ProjectBuilding = parm } }); // await Shell.Current.GoToAsync("ProjectBuildingDetail"); // await Shell.Current.GoToAsync($"ProjectBuildingDetail/?projectBuildingID={parm.Id}"); // ShellNavigationState state = Shell.Current.CurrentState; // await App.Current.MainPage.Navigation.PushModalAsync(new ShowImage() { BindingContext = new ShowImageViewModel(image.ImageUrl) }); //await App.Current.MainPage.Navigation.PushModalAsync(new NavigationPage(new ProjectDetail() )); // await Application.Current.MainPage.DisplayAlert("Selected Peron", project.ProjectName, "Ok", "cancel"); // await Shell.Current.GoToAsync("projectdetail"); }
public async Task <ProjectBuilding> GetItemAsync(string id) { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(App.AzureBackendUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); using (HttpResponseMessage response = await client.GetAsync($"api/ProjectBuilding/GetProjectBuildingByID?Id=" + id)) { var responseBody = await response.Content.ReadAsStringAsync(); Response result = JsonConvert.DeserializeObject <Response>(responseBody); ProjectBuilding projectlocation = JsonConvert.DeserializeObject <ProjectBuilding>(result.Data.ToString()); response.EnsureSuccessStatusCode(); return(await Task.FromResult(projectlocation)); } } }