コード例 #1
0
        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));
        }
コード例 #2
0
        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));
                }
            }
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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();
        }
コード例 #5
0
        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");
        }
コード例 #6
0
        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));
                }
            }
        }