Exemple #1
0
        public async void AddProduct_Clicked(object sender, EventArgs e)
        {
            if (!UserLogged.IsLogged)
            {
                await DisplayAlert("", Language.vui_long_dang_nhap, Language.dong);

                ((AppShell)Shell.Current).SetLoginPageActive();
                return;
            }

            var action = await Shell.Current.DisplayActionSheet(Language.tuy_chon, Language.huy, null, Language.them_moi_san_pham, Language.chon_tu_san_pham_noi_that);

            if (action == Language.them_moi_san_pham)
            {
                await Navigation.PushAsync(new AddProductPage(true) { Title = Language.them_san_pham });
            }
            else if (action == Language.chon_tu_san_pham_noi_that)
            {
                loadingPopup.IsVisible = true;

                if (searchPageResultViewModel == null) // chua bat popup lan nao.
                {
                    this.ListView0.ItemTapped += ListView0_ItemTapped;
                    searchPageResultViewModel  = new ListViewPageViewModel2 <SundihomeApi.Entities.Furniture.FurnitureProduct>();



                    FilterModel = new FilterFurnitureProductModel();
                    FilterModel.ProductStatus = 0;
                    FilterModel.IsPromotion   = false;
                    FilterModel.CreatedById   = Guid.Parse(UserLogged.Id);
                    string json = Newtonsoft.Json.JsonConvert.SerializeObject(this.FilterModel);

                    searchPageResultViewModel.PreLoadData = new Command(() =>
                    {
                        searchPageResultViewModel.ApiUrl = $"{Configuration.ApiRouter.FURNITUREPRODUCT_FILTER}?json={json}&page={searchPageResultViewModel.Page}";
                    });


                    this.ListView0.BindingContext = searchPageResultViewModel;
                }
                else
                {
                    Keyword = null;
                    ModalPopupSearchBar.Text = null;
                }
                await searchPageResultViewModel.LoadOnRefreshCommandAsync();

                loadingPopup.IsVisible = false;
                ModalPopup.IsVisible   = true;
                await ModalPopup.TranslateTo(0, 0, 150);
            }
        }
Exemple #2
0
        private async void LoaiHinh_Change(object sender, EventArgs e)
        {
            var index = radSegmentedControl.SelectedIndex;

            if (index == 0)
            {
                searchPageResultViewModel.PreLoadData = new Command(() =>
                {
                    searchPageResultViewModel.ApiUrl = ApiRouter.EMPLOYEE_GETMYPOSTLIST + $"?Keyword={viewModel.PostKeyword}&page={searchPageResultViewModel.Page}";
                });
            }
            else
            {
                searchPageResultViewModel.PreLoadData = new Command(() =>
                {
                    searchPageResultViewModel.ApiUrl = ApiRouter.COMPANY_GETPOSTLIST + $"?CompanyId={UserLogged.CompanyId}&Keyword={viewModel.PostKeyword}&page={searchPageResultViewModel.Page}&Status=2";
                });
            }
            await searchPageResultViewModel.LoadOnRefreshCommandAsync();
        }
        private async void LoaiHinh_Change(object sender, EventArgs e)
        {
            if (searchPageResultViewModel == null)
            {
                return;
            }
            var index = radSegmentedControl.SelectedIndex;

            if (index == 0)
            {
                searchPageResultViewModel.PreLoadData = new Command(() =>
                {
                    searchPageResultViewModel.ApiUrl = ApiRouter.EMPLOYEE_GETMYPOSTLIST + $"?Keyword={Keyword}&page={searchPageResultViewModel.Page}";
                });
            }
            else
            {
                if (searchPageResultViewModel == null) // chua bat popup lan nao.
                {
                    this.ListView0.ItemTapped    += ListView0_ItemTapped;
                    searchPageResultViewModel     = new ListViewPageViewModel2 <SundihomeApi.Entities.Post>();
                    this.ListView0.BindingContext = searchPageResultViewModel;
                }
                searchPageResultViewModel.PreLoadData = new Command(() =>
                {
                    if (_isCompany)
                    {
                        searchPageResultViewModel.ApiUrl = ApiRouter.COMPANY_GETPOSTLIST + $"?CompanyId={UserLogged.CompanyId}&Keyword={Keyword}&page={searchPageResultViewModel.Page}&Status=-1";
                    }
                    else
                    {
                        searchPageResultViewModel.ApiUrl = ApiRouter.COMPANY_GETPOSTLIST + $"?CompanyId={UserLogged.CompanyId}&Keyword={Keyword}&page={searchPageResultViewModel.Page}&Status=2";
                    }
                });
            }
            await searchPageResultViewModel.LoadOnRefreshCommandAsync();
        }
        private async void ListView0_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            var             post = e.Item as Post;
            ContactPostCare care = new ContactPostCare()
            {
                ContactId = _contactId,
                PostId    = post.Id
            };

            var createResponse = await ApiHelper.Post(ApiRouter.CONTACT_POST_POSTCARES, care, true);

            if (createResponse.IsSuccess)
            {
                // goi api tren day

                await viewModel.LoadOnRefreshCommandAsync();

                await ModalPickPost.Hide();
            }
            else
            {
                await Shell.Current.DisplayAlert(Language.thong_bao, createResponse.Message, Language.dong);
            }
        }
        private async void PickerPost_Clicked(object sender, EventArgs e)
        {
            loadingPopup.IsVisible = true;
            if (searchPageResultViewModel == null) // chua bat popup lan nao.
            {
                this.ListView0.ItemTapped            += ListView0_ItemTapped;
                searchPageResultViewModel             = new ListViewPageViewModel2 <SundihomeApi.Entities.Post>();
                searchPageResultViewModel.PreLoadData = new Command(() =>
                {
                    searchPageResultViewModel.ApiUrl = ApiRouter.COMPANY_GETPOSTLIST + $"?CompanyId={UserLogged.CompanyId}&page={searchPageResultViewModel.Page}&Keyword={viewModel.PostKeyword}&Status=2";
                });

                this.ListView0.BindingContext = searchPageResultViewModel;
                await searchPageResultViewModel.LoadData();
            }
            else
            {
                viewModel.PostKeyword    = null;
                ModalPopupSearchBar.Text = null;
                await searchPageResultViewModel.LoadOnRefreshCommandAsync();
            }
            loadingPopup.IsVisible = false;
            await ModalPickerPost.Show();
        }
        public async void Init()
        {
            segment.ItemsSource = new List <string> {
                Language.nhu_cau, Language.moi, Language.dau_tu, Language.da_mua
            };
            segment.SetActive(0);
            LvData.ItemTapped += LvData_ItemTapped;
            MessagingCenter.Subscribe <ContactDetailContent>(this, "ReloadData", async(sender) =>
            {
                loadingPopup.IsVisible = true;
                await viewModel.LoadOnRefreshCommandAsync();
                loadingPopup.IsVisible = false;
            });
            MessagingCenter.Subscribe <ContactDetailContent, Guid>(this, "DeleteContact", async(sender, ContactId) =>
            {
                loadingPopup.IsVisible = true;
                if (viewModel.Data.Any(x => x.Id == ContactId))
                {
                    await viewModel.LoadOnRefreshCommandAsync();
                }
                await viewModelContactNeed.LoadOnRefreshCommandAsync();
                loadingPopup.IsVisible = false;
            });
            MessagingCenter.Subscribe <AddContactNeedContent>(this, "AddContactNeed", async(sender) =>
            {
                loadingPopup.IsVisible = true;
                await viewModelContactNeed.LoadOnRefreshCommandAsync();
                loadingPopup.IsVisible = false;
            });
            MessagingCenter.Subscribe <AddContactNeedContent, Guid>(this, "UpdateContactNeed", async(sender, ContactNeedId) =>
            {
                loadingPopup.IsVisible = true;
                if (viewModelContactNeed.Data.Any(x => x.Id == ContactNeedId))
                {
                    await viewModelContactNeed.LoadOnRefreshCommandAsync();
                }
                loadingPopup.IsVisible = false;
            });
            MessagingCenter.Subscribe <AddContactNeedContent, ContactNeed>(this, "DeleteContactNeed", async(sender, ContactNeed) =>
            {
                loadingPopup.IsVisible = true;
                if (viewModelContactNeed.Data.Any(x => x.Id == ContactNeed.Id))
                {
                    viewModelContactNeed.Data.Remove(ContactNeed);
                }
                loadingPopup.IsVisible = false;
            });
            MessagingCenter.Subscribe <AddContactNeedContentViewModel, ContactNeed>(this, "DeleteContactNeed", async(sender, ContactNeed) =>
            {
                loadingPopup.IsVisible = true;
                if (viewModelContactNeed.Data.Any(x => x.Id == ContactNeed.Id))
                {
                    viewModelContactNeed.Data.Remove(ContactNeed);
                }
                loadingPopup.IsVisible = false;
            });

            viewModel.GroupList = Models.ContactGroupModel.GetList();
            ModalAddContact.CustomCloseButton(OnBtnCancelAddContact_Click);

            contactNeedFilterModel = new ContactNeedFilterModel();
            if (viewModel.CompanyId.HasValue)
            {
                contactNeedFilterModel.CompanyId = viewModel.CompanyId.Value;
            }
            if (viewModel.CreatedById.HasValue)
            {
                contactNeedFilterModel.CreatedById = viewModel.CreatedById.Value;
            }
            if (viewModel.Keyword != null)
            {
                contactNeedFilterModel.Keyword = viewModel.Keyword;
            }
            string json = Newtonsoft.Json.JsonConvert.SerializeObject(contactNeedFilterModel);

            viewModelContactNeed = new ListViewPageViewModel2 <ContactNeed>()
            {
                PreLoadData = new Command(() =>
                {
                    string url;
                    contactNeedFilterModel.Keyword = viewModel.Keyword;
                    url = ApiRouter.COMPANY_GET_FILTER_CONTACTNEEDS + $"?json={json}" + $"&page={viewModelContactNeed.Page}";


                    viewModelContactNeed.ApiUrl = url;
                })
            };
            LvDataContactNeed.BindingContext = viewModelContactNeed;
            LvDataContactNeed.ItemTapped    += LvDataContactNeed_ItemTapped;
            await viewModelContactNeed.LoadData();

            loadingPopup.IsVisible = false;
        }