Exemple #1
0
        ////cap nhat nhat ky
        public async void UpdateDiary_Tapped(object sender2, EventArgs e2)
        {
            ProjectDiary item       = ((sender2 as Telerik.XamarinForms.Primitives.RadBorder).GestureRecognizers[0] as TapGestureRecognizer).CommandParameter as ProjectDiary;
            var          apireponse = await ApiHelper.Get <ProjectDiary>($"{ApiRouter.PROJECT_DIARY_GET_ONE_PROJECTDIARY}/{item.Id}");

            if (!apireponse.IsSuccess)
            {
                return;
            }
            var model = apireponse.Content as ProjectDiary;
            var view  = new ModalDiaryContentView(model.Id, model.ProjectId);

            ModalAddGhiNhan.Body = view;
            await ModalAddGhiNhan.Show();

            view.OnSaved += async(sender, e) =>
            {
                await viewModel.GetProjectDiary(_id);

                await ModalAddGhiNhan.Hide();

                ToastMessageHelper.ShortMessage(Language.cap_nhat_thong_tin_thanh_cong);
            };
            view.OnCancel += async(sender, e) =>
            {
                await ModalAddGhiNhan.Hide();
            };
        }
Exemple #2
0
        private async void ShareToCompany(object sender, EventArgs e)
        {
            var response = await ApiHelper.Post(ApiRouter.MOIGIOI_SHAREPOST + "/" + _id, null, true);

            if (response.IsSuccess)
            {
                ToastMessageHelper.ShortMessage(Language.chia_se_thanh_cong);
            }
            else
            {
                if (!string.IsNullOrEmpty(response.Message))
                {
                    if (response.Message.ToString() == "tin_nay_da_duoc_share_roi")
                    {
                        await DisplayAlert("", Language.tin_nay_da_duoc_share_roi, Language.dong);
                    }
                    else
                    {
                        await DisplayAlert("", "Cannot share this post", Language.dong);
                    }
                }
                else
                {
                    await DisplayAlert("", "Cannot share this post", Language.dong);
                }
            }
        }
        public async void Delete_Clicked(object sender, EventArgs e)
        {
            var answer = await DisplayAlert(Language.xac_nhan_xoa, Language.ban_co_chac_chan_muon_xoa_tin_dang_nay_khong, Language.xoa, Language.huy);

            if (!answer)
            {
                return;
            }

            loadingPopup.IsVisible = true;

            ApiResponse response = await ApiHelper.Delete(ApiRouter.LIQUIDATIONTODAY_DELETE + "/" + viewModel.LiquidationToDay.Id);

            if (response.IsSuccess)
            {
                loadingPopup.IsVisible = false;
                await Shell.Current.Navigation.PopAsync();

                MessagingCenter.Send <ToDayDetailPage, Guid>(this, "OnDeleted", viewModel.LiquidationToDay.Id);
                ToastMessageHelper.ShortMessage(Language.xoa_thanh_cong);
            }
            else
            {
                ToastMessageHelper.ShortMessage(Language.loi_khong_the_xoa_san_pham);
                loadingPopup.IsVisible = false;
            }
        }
Exemple #4
0
        public async void OnBtnSaveAddContactNeed_Click(object sender, EventArgs e)
        {
            if (viewModel.PromotionPrice == null)
            {
                await Shell.Current.DisplayAlert(Language.thong_bao, Language.vui_long_nhap_gia_giam, Language.dong);
            }
            else
            {
                FurnitureUpdate.IsPromotion       = true;
                FurnitureUpdate.PromotionFromDate = viewModel.PromotionFromDate;
                FurnitureUpdate.PromotionToDate   = viewModel.PromotionToDate;
                FurnitureUpdate.PromotionPrice    = viewModel.PromotionPrice;

                ApiResponse apiResponse = await ApiHelper.Put($"{ApiRouter.FURNITUREPRODUCT_ADD_UPDATE}/update", FurnitureUpdate, true);

                if (apiResponse.IsSuccess)
                {
                    await ModalUpdate.Hide();

                    viewModel.PromotionFromDate = DateTime.Now;
                    viewModel.PromotionToDate   = DateTime.Now;
                    viewModel.PromotionPrice    = null;
                    CloseModal_Clicked(null, EventArgs.Empty);
                    await viewModel.LoadOnRefreshCommandAsync();

                    await searchPageResultViewModel.LoadOnRefreshCommandAsync();

                    ToastMessageHelper.ShortMessage(Language.cap_nhat_thanh_cong);
                }
                else
                {
                    ToastMessageHelper.ShortMessage(apiResponse.Message);
                }
            }
        }
        public void AddRePostToolbar()
        {
            Xamarin.Forms.ToolbarItem toolbarItem = new Xamarin.Forms.ToolbarItem()
            {
                Text = Language.dang_lai
            };
            toolbarItem.Clicked += async(o, a) =>
            {
                loadingPopup.IsVisible = true;
                ApiResponse apiResponse = await ApiHelper.Put(ApiRouter.LIQUIDATIONTODAY_REPOST + "/" + viewModel.LiquidationModel.Id, null, true);

                if (apiResponse.IsSuccess)
                {
                    loadingPopup.IsVisible = false;
                    LblStatus.Text         = Language.dang_ban;
                    this.ToolbarItems.Remove(toolbarItem);
                    MessagingCenter.Send <AddToDayPage>(this, "OnSaveItem");
                    MessagingCenter.Send <AddToDayPage, Guid>(this, "OnSaveItem", viewModel.LiquidationModel.Id);
                    ToastMessageHelper.ShortMessage(Language.dang_thanh_cong);
                }
                else
                {
                    loadingPopup.IsVisible = false;
                    ToastMessageHelper.ShortMessage(Language.loi_vui_long_thu_lai);
                }
            };
            this.ToolbarItems.Add(toolbarItem);
        }
Exemple #6
0
        private async void ListView0_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            if (viewModel.CommentPosts.Count == 5)
            {
                await DisplayAlert("", Language.vui_long_chon_toi_da_5_bsd, Language.dong);

                return;
            }
            var item = e.Item as SundihomeApi.Entities.Post;
            var post = new SundihomeApi.Entities.Mongodb.Post()
            {
                PostId    = item.Id.ToString(),
                Title     = item.Title,
                PriceText = item.PriceFormatText,
                Avatar    = item.Avatar,
                Address   = item.Address
            };

            if (!viewModel.CommentPosts.Any(x => x.PostId == post.PostId))
            {
                viewModel.CommentPosts.Add(post);
                viewModel.FireOnChangeClearCommentButton();

                //xoa khoi list view
                searchPageResultViewModel.Data.Remove(item);
            }
            else
            {
                ToastMessageHelper.ShortMessage(Language.bai_dang_nay_da_duoc_them_vao_binh_luan_roi);
            }
        }
        private async void GoiVay_Clicked(object sender, EventArgs e)
        {
            var response = await ApiHelper.Post(ApiRouter.BANK_EMPLOYEE_CHECK, null, true);

            if (response.IsSuccess && response.Content != null)
            {
                bool isEmployee = (bool)response.Content;
                if (isEmployee)
                {
                    // chuyen qua man hinh danh sach goi vay
                    await Navigation.PushAsync(new MyGoiVayListPage());
                }
                else
                {
                    await DisplayAlert("", Language.dang_ky_nhan_vien_ngan_hang, Language.dong);

                    var dangKyNhanVienView = new DangKyNhanVienNganHangView(LookUpModal);
                    dangKyNhanVienView.OnCancel += async(s, e2) => await ModalBankEmployeeRegister.Hide();

                    dangKyNhanVienView.OnSaved += async(s, e2) =>
                    {
                        await ModalBankEmployeeRegister.Hide();

                        await Navigation.PushAsync(new MyGoiVayListPage());

                        ToastMessageHelper.ShortMessage(Language.dang_ky_thanh_cong);
                    };
                    ModalBankEmployeeRegister.Body = dangKyNhanVienView;
                    await ModalBankEmployeeRegister.Show();
                }
            }
        }
        private async void Item_Tapped(object sender, ItemTappedEventArgs e)
        {
            loadingPopup.IsVisible = true;
            var item = e.Item as Post;

            PostComment postComment = new PostComment();

            postComment.ParentPostId = _parentPostId;
            postComment.ChildPostId  = item.Id;

            ApiResponse response = await ApiHelper.Post(ApiRouter.POST_COMMENT, postComment, true);

            if (response.IsSuccess)
            {
                loadingPopup.IsVisible = false;
                await Navigation.PopAsync();

                MessagingCenter.Send <PickPostPage>(this, "OnNewPostComment");
                ToastMessageHelper.ShortMessage("Bình luận thành công.");
            }
            else
            {
                loadingPopup.IsVisible = false;
                await DisplayAlert("", response.Message, Language.dong);
            }
        }
        private async void ListView0_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            if (viewModel.CommentPosts.Count == 5)
            {
                await DisplayAlert("", Language.vui_long_chon_toi_da_5_san_pham, Language.dong);

                return;
            }
            var item = e.Item as FurnitureProduct;
            var post = new FurniturePostItemProductComment()
            {
                PostId    = item.Id.ToString(),
                Title     = item.Name,
                Avatar    = item.AvatarUrl,
                PriceText = item.Price.HasValue ? string.Format("{0:0,0 đ}", item.Price.Value) : "",
                Address   = item.Address
            };

            if (!viewModel.CommentPosts.Any(x => x.PostId == post.PostId))
            {
                viewModel.CommentPosts.Add(post);
                viewModel.FireOnChangeClearCommentButton();

                //xoa khoi list view
                searchPageResultViewModel.Data.Remove(item);
            }
            else
            {
                ToastMessageHelper.ShortMessage(Language.san_pham_nay_da_them_vao_binh_luan_roi);
            }
        }
Exemple #10
0
        private async void AddLoan_Clicked(object sender, EventArgs e)
        {
            if (!UserLogged.IsLogged)
            {
                await Shell.Current.DisplayAlert("", Language.vui_long_dang_nhap, Language.dong);

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

            var resonse = await ApiHelper.Get <BankEmployee>(ApiRouter.BANK_EMPLOYEE_DETAIL + UserLogged.Id);

            if (resonse.IsSuccess && resonse.Content != null)
            {
                var view = new AddLoanView(LookUpModal);
                view.OnCancel += async(sender1, e1) => await MainCenterModal.Hide();

                view.OnSaved += async(sender1, e1) =>
                {
                    loadingPopup.IsVisible = true;
                    await MainCenterModal.Hide();

                    await viewModel.LoadOnRefreshCommandAsync();

                    loadingPopup.IsVisible = false;
                };
                MainCenterModal.Title = Language.dang_goi_vay;
                MainCenterModal.Body  = view;
                await MainCenterModal.Show();
            }
            else
            {
                await Shell.Current.DisplayAlert("", Language.dang_ky_nhan_vien_ngan_hang, Language.dong);

                var dangKyNhanVienView = new DangKyNhanVienNganHangView(LookUpModal);
                dangKyNhanVienView.OnCancel += async(s, e2) => await ModalBankEmployeeRegister.Hide();

                dangKyNhanVienView.OnSaved += async(s, e2) =>
                {
                    await ModalBankEmployeeRegister.Hide();

                    ToastMessageHelper.ShortMessage(Language.dang_ky_nhan_vien_thanh_cong);
                    AddLoan_Clicked(sender, EventArgs.Empty);
                };
                ModalBankEmployeeRegister.Body = dangKyNhanVienView;
                await ModalBankEmployeeRegister.Show();
            }
        }
        private async void CompletedTask_Clicked(object sender, EventArgs e)
        {
            loadingPopup.IsVisible = true;
            ApiResponse response = await ApiHelper.Put($"{ApiRouter.TASK_UPDATE_COMPLETED}/{viewModel.CongViec.Id}", null, true);

            if (response.IsSuccess)
            {
                await viewModel.GetCongViec(_taskId);

                btnCompleted.IsVisible = false;
                btnEdit.IsVisible      = false;
                MessagingCenter.Send <TaskDetailPage, Guid>(this, "CompletedTask", _taskId);
                ToastMessageHelper.ShortMessage(Language.da_hoan_thanh);
                loadingPopup.IsVisible = false;
            }
        }
        public async void OnBtnSaveAddContact_Click(object sender, EventArgs e)
        {
            if (viewModel.ContactModel.FullName == null)
            {
                await DisplayAlert(Language.thong_bao, Language.vui_long_nhap_ten_khach_hang, Language.dong);
            }
            else if (viewModel.SelectGroup == null)
            {
                await DisplayAlert(Language.thong_bao, Language.vui_long_chon_nhom_khach_hang, Language.dong);
            }
            else if (viewModel.ContactModel.Phone == null)
            {
                await DisplayAlert(Language.thong_bao, Language.vui_long_nhap_so_dien_thoai, Language.dong);
            }
            else
            {
                Contact contact = new Contact();
                contact.FullName   = viewModel.ContactModel.FullName;
                contact.Phone      = viewModel.ContactModel.Phone;
                contact.ProvinceId = viewModel.ContactModel.Province?.Id;
                contact.DistrictId = viewModel.ContactModel.District?.Id;
                contact.WardId     = viewModel.ContactModel.Ward?.Id;
                contact.Street     = viewModel.ContactModel.Street;
                contact.Address    = viewModel.ContactModel.Address;
                contact.GroupId    = viewModel.SelectGroup.Id;
                if (viewModel.CompanyId != null)
                {
                    contact.CompanyId = Guid.Parse(UserLogged.CompanyId);
                }
                ApiResponse apiResponse = await ApiHelper.Post(ApiRouter.CONTACT_ADD, contact);

                if (apiResponse.IsSuccess)
                {
                    await ModalAddContact.Hide();

                    viewModel.CancelPopUpAddContact();
                    await viewModel.LoadOnRefreshCommandAsync();

                    ToastMessageHelper.ShortMessage(Language.them_khach_hang_thanh_cong);
                }
                else
                {
                    ToastMessageHelper.ShortMessage(apiResponse.Message);
                }
            }
        }
Exemple #13
0
        ////project diary
        public async void AddDiary_Tapped(object sender1, EventArgs e1)// tapped them ghi nhan
        {
            var view = new ModalDiaryContentView(null, _id);

            ModalAddGhiNhan.Body = view;
            await ModalAddGhiNhan.Show();

            view.OnSaved += async(sender, e) =>
            {
                await viewModel.GetProjectDiary(_id);

                await ModalAddGhiNhan.Hide();

                ToastMessageHelper.ShortMessage(Language.them_nhat_ky_thanh_cong);
            };
            view.OnCancel += async(sender, e) =>
            {
                await ModalAddGhiNhan.Hide();
            };
        }
Exemple #14
0
        public async void Init()
        {
            var tapped = new TapGestureRecognizer()
            {
                NumberOfTapsRequired = 1,
            };

            tapped.Tapped += async(sender, e) =>
            {
                loadingPopup.IsVisible = true;
                var view = new DangKyNhanVienNganHangView(bottomModal, Guid.Parse(UserLogged.Id));
                view.OnCancel += async(s, e2) => await modalEditInfo.Hide();

                view.OnSaved += async(s, e2) =>
                {
                    await LoadInfo();

                    await modalEditInfo.Hide();

                    ToastMessageHelper.ShortMessage(Language.cap_nhat_thong_tin_thanh_cong);
                };
                modalEditInfo.Body     = view;
                loadingPopup.IsVisible = false;
                await modalEditInfo.Show();
            };
            grAccountName.GestureRecognizers.Add(tapped);

            MessagingCenter.Subscribe <GoiVayDetailPage, Guid>(this, "OnDeleted", (e, id) =>
            {
                var removeItem = viewModel.Data.SingleOrDefault(x => x.Id == id);
                if (removeItem != null)
                {
                    viewModel.Data.Remove(removeItem);
                }
            });
            await viewModel.LoadData();

            await LoadInfo();

            loadingPopup.IsVisible = false;
        }
        public async void DeleteContactNeedItemClick(object sender, EventArgs e)
        {
            var answer = await Shell.Current.DisplayAlert(Language.xac_nhan_xoa, Language.luu_y_ban_co_chac_chan_muon_xoa_nhu_cau_nay_khong, Language.xoa, Language.huy);

            if (!answer)
            {
                return;
            }
            ContactNeed item        = ((sender as Label).GestureRecognizers[0] as TapGestureRecognizer).CommandParameter as ContactNeed;
            ApiResponse apiResponse = await ApiHelper.Delete(ApiRouter.CONTACT_DELETE_NEED + "/" + item.Id.ToString(), true);

            if (apiResponse.IsSuccess)
            {
                viewModelContactNeed.Data.Remove(item);
                ToastMessageHelper.ShortMessage(Language.xoa_nhu_cau_thanh_cong);
            }
            else
            {
                await Shell.Current.DisplayAlert("", Language.xoa_nhu_cau_that_bai, Language.dong);
            }
        }
        private async void OnClick_SendConFirm(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(enNumPhone.Text))
            {
                await DisplayAlert("", Language.vui_long_nhap_so_dien_thoai, Language.dong);

                return;
            }

            ICompanyService companyService = DependencyService.Get <ICompanyService>();
            InviteUser      inviteUser     = companyService.FindInviteUser(UserLogged.Phone, enNumPhone.Text);

            if (inviteUser == null)
            {
                await DisplayAlert("", Language.otp_khong_hop_le, Language.dong);

                return;
            }

            ApiResponse apiResponse = await ApiHelper.Get <User>($"{ApiRouter.EMPLOYEE_GET_EMPLOYEE_BY_PHONE}/" + inviteUser.PhoneNumber, true);

            if (apiResponse.Content != null)
            {
                User user = apiResponse.Content as User;
                user.CompanyId = Guid.Parse(inviteUser.CompanyId);
                ApiResponse responseUser = await ApiHelper.Put($"{ApiRouter.EMPLOYEE_CONFIRM_COMPANNY}", user, true);

                if (responseUser.IsSuccess)
                {
                    companyService.DeleteInvitedUser(inviteUser.Id);// delete inviteruser khi da xac nhan
                    UserLogged.CompanyId = inviteUser.CompanyId;
                    await ModalRegisterEmployee.Hide();

                    enNumPhone.Text = null;

                    this.OnCompanyClicked(sender, e);
                    ToastMessageHelper.ShortMessage(Language.dang_ky_thanh_cong);
                }
            }
        }
Exemple #17
0
        private async void OnEditProductStatus(object sender, EventArgs e)
        {
            if (UserLogged.Id == viewModel.FurnitureProduct.CreatedById.ToString())
            {
                var response = await ApiHelper.Put($"{ApiRouter.FURNITUREPRODUCT_UPDATE_PRODUCT_STATUS}/{viewModel.FurnitureProduct.Id}?status={(viewModel.FurnitureProduct.ProductStatus == 0 ? 1 : 0)}", viewModel.FurnitureProduct, true);

                if (response.IsSuccess)
                {
                    viewModel.FurnitureProduct.ProductStatus = viewModel.FurnitureProduct.ProductStatus == 0 ? 1 : 0;
                    viewModel.ButtonCommandList.RemoveAt(0);
                    viewModel.ButtonCommandList.Insert(0, viewModel.FurnitureProduct.ProductStatus == 0 ? new FloatButtonItem(Language.ngung_ban, FontAwesomeHelper.GetFont("FontAwesomeRegular"), "\uf044", null, OnEditProductStatus) : new FloatButtonItem(Language.dang_ban_status, FontAwesomeHelper.GetFont("FontAwesomeRegular"), "\uf044", null, OnEditProductStatus));
                    viewModel.fireonchange();
                    //MessagingCenter.Send<ProductDetailPageViewModel, Guid>(this, "DeleteProduct", productId);
                    MessagingCenter.Send <ProductDetailPage, Guid>(this, "UpdateProductStatus", viewModel.FurnitureProduct.Id);
                    ToastMessageHelper.ShortMessage(Language.cap_nhat_thanh_cong);
                }
                else
                {
                    ToastMessageHelper.ShortMessage(Language.cap_nhat_that_bai);
                }
            }
        }
        private async void OnDeleteProduct(object sender, EventArgs e)
        {
            var answer = await Shell.Current.DisplayAlert(Language.xac_nhan_xoa, Language.luu_y_ban_co_chac_chan_muon_xoa_khach_hang_nay_khong, Language.xoa, Language.huy);

            if (!answer)
            {
                return;
            }
            ApiResponse apiResponse = await ApiHelper.Delete(ApiRouter.CONTACT_DELETE + "/" + viewModel.Contact.Id.ToString(), true);

            if (apiResponse.IsSuccess)
            {
                MessagingCenter.Send <ContactDetailContent, Guid>(this, "DeleteContact", viewModel.Contact.Id);
                await Shell.Current.Navigation.PopAsync();

                ToastMessageHelper.ShortMessage(Language.xoa_khach_hang_thanh_cong);
            }
            else
            {
                ToastMessageHelper.ShortMessage(Language.xoa_khach_hang_that_bai);
            }
        }
        private async void DeleteTask_Clicked(object sender, EventArgs e)
        {
            loadingPopup.IsVisible = true;
            var answer = await DisplayAlert("", Language.ban_co_chac_muon_xoa_cong_viec_nay_khong, Language.dong_y, Language.huy);

            if (answer)
            {
                ApiResponse response = await ApiHelper.Delete($"{ApiRouter.TASK_CRUD}/{_taskId}", true);

                if (response.IsSuccess)
                {
                    MessagingCenter.Send <TaskDetailPage, Guid>(this, "DeleteTask", _taskId);
                    await Navigation.PopAsync();

                    ToastMessageHelper.ShortMessage(Language.xoa_thanh_cong);
                }
                else
                {
                    await DisplayAlert("", response.Message, Language.dong);
                }
            }
            loadingPopup.IsVisible = false;
        }
Exemple #20
0
        private async void Add_Clicked(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(viewModel.GoiVayModel.Name))
            {
                await Shell.Current.DisplayAlert("", Language.vui_long_nhap_ten_goi_vay, Language.dong);

                return;
            }

            if (viewModel.MaxTimeOption == null)
            {
                await Shell.Current.DisplayAlert("", Language.vui_long_chon_thoi_han_vay_toi_da, Language.dong);

                return;
            }

            if (!EntryLaiSuat.Price.HasValue || EntryLaiSuat.Price.Value == 0)
            {
                await Shell.Current.DisplayAlert("", Language.vui_long_nhap_lai_suat, Language.dong);

                return;
            }

            if (!EntryMaxPrice.Price.HasValue || EntryMaxPrice.Price.Value == 0)
            {
                await Shell.Current.DisplayAlert("", Language.vui_long_chon_thoi_han_vay_toi_da, Language.dong);

                return;
            }

            if (string.IsNullOrWhiteSpace(viewModel.GoiVayModel.Condition))
            {
                await Shell.Current.DisplayAlert("", Language.vui_long_nhap_dieu_kien_vay, Language.dong);

                return;
            }

            // co chon hinh khac.
            if (imageFile != null)
            {
                string        fileName = Guid.NewGuid() + ".jpg";
                StreamContent content  = new StreamContent(imageFile.GetStream());
                content.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
                {
                    Name     = "file",
                    FileName = fileName
                };

                MultipartFormDataContent form = new MultipartFormDataContent();
                form.Add(content);
                var uploadImageResopnse = await UploadImage(form);

                if (uploadImageResopnse.IsSuccess)
                {
                    viewModel.GoiVayModel.Image = fileName;
                }
            }

            GoiVay goivay = new GoiVay();

            goivay.BankId      = viewModel.BankId;
            goivay.Name        = viewModel.GoiVayModel.Name;
            goivay.MaxTime     = viewModel.MaxTimeOption.Id;
            goivay.MaxTimeUnit = viewModel.MaxTimeUnitOption.Id;
            goivay.MaxPrice    = EntryMaxPrice.Price.Value;
            goivay.LaiSuat     = EntryLaiSuat.Price.Value;
            goivay.Condition   = viewModel.GoiVayModel.Condition;
            goivay.Description = viewModel.GoiVayModel.Description;
            goivay.Image       = viewModel.GoiVayModel.Image;


            ApiResponse response = null;

            loadingPopup.IsVisible = true;
            if (viewModel.GoiVayModel.Id == Guid.Empty)
            {
                response = await ApiHelper.Post(ApiRouter.BANK_GOIVAY, goivay, true);
            }
            else
            {
                goivay.Id = viewModel.GoiVayModel.Id;
                response  = await ApiHelper.Put(ApiRouter.BANK_GOIVAY, goivay, true);
            }

            if (response.IsSuccess)
            {
                this.OnSaved?.Invoke(this, EventArgs.Empty);
                loadingPopup.IsVisible = false;
                MessagingCenter.Send <AddLoanView>(this, "OnSave");
                ToastMessageHelper.ShortMessage(Language.luu_thanh_cong);
            }
            else
            {
                await Shell.Current.DisplayAlert("", response.Message, Language.dong);

                loadingPopup.IsVisible = false;
            }
            loadingPopup.IsVisible = false;
        }
        public async void Save()
        {
            try
            {
                if (viewModel.PostModel.TinhTrangPhapLy != null)
                {
                    viewModel.PostModel.TinhTrangPhapLyId = viewModel.PostModel.TinhTrangPhapLy.Id;
                }
                else
                {
                    viewModel.PostModel.TinhTrangPhapLyId = null;
                }

                viewModel.PostModel.WardId = viewModel.PostModel.Ward.Id;

                if (viewModel.PostModel.Project != null)
                {
                    viewModel.PostModel.ProjectId = viewModel.PostModel.Project.Id;
                }
                else
                {
                    viewModel.PostModel.ProjectId = null;
                }

                if (viewModel.ShowBathroom && SegmentSoPhongTam.SelectedIndex != -1)
                {
                    viewModel.PostModel.NumOfBathRoom = viewModel.PhongTamList[SegmentSoPhongTam.SelectedIndex];
                }
                else
                {
                    viewModel.PostModel.NumOfBathRoom = null;
                }

                if (viewModel.ShowBedroom && SegmentSoPhongNgu.SelectedIndex != -1)
                {
                    viewModel.PostModel.NumOfBedRoom = viewModel.PhongNguList[SegmentSoPhongNgu.SelectedIndex];
                }
                else
                {
                    viewModel.PostModel.NumOfBedRoom = null;
                }

                if (viewModel.PostModel.Huong != null)
                {
                    viewModel.PostModel.HuongId = viewModel.PostModel.Huong.Id;
                }
                else
                {
                    viewModel.PostModel.HuongId = null;
                }

                if (viewModel.SelectedUtitlitesId != null && viewModel.SelectedUtitlitesId.Any())
                {
                    viewModel.PostModel.Utilities = string.Join(",", viewModel.SelectedUtitlitesId.ToArray());
                }
                else
                {
                    viewModel.PostModel.Utilities = null;
                }

                viewModel.PostModel.ChieuSau = EntryChieuSau.Price;
                viewModel.PostModel.DuongVao = EntryDuongVao.Price;
                viewModel.PostModel.MatTien  = EntryMatTien.Price;

                if (SwitchCamket.IsToggled)
                {
                    if (viewModel.PostModel.CommitmentDateFrom == null || viewModel.PostModel.CommitmentDateTo == null)
                    {
                        await DisplayAlert("", Language.vui_long_chon_ngay_cam_ket, Language.dong);

                        loadingPopup.IsVisible = false;
                        return;
                    }
                    if (viewModel.PostModel.CommitmentDateFrom > viewModel.PostModel.CommitmentDateTo)
                    {
                        await Shell.Current.DisplayAlert("", Language.ngay_cam_ket_khong_dung_vui_long_thu_lai, Language.dong);

                        loadingPopup.IsVisible = false;
                        return;
                    }
                }


                try
                {
                    // lay dia chi
                    IEnumerable <Position> result = await new Geocoder().GetPositionsForAddressAsync(viewModel.PostModel.Address);
                    if (result.Any())
                    {
                        viewModel.PostModel.Lat  = result.First().Latitude;
                        viewModel.PostModel.Long = result.First().Longitude;
                    }
                }
                catch (Exception ex)
                {
                    await DisplayAlert("", Language.dia_chi_khong_tim_thay_tren_ban_do, Language.dong);
                }

                MultipartFormDataContent form = new MultipartFormDataContent();
                // can ban/cho thue
                if (viewModel.PostModel.PostType == 0 || viewModel.PostModel.PostType == 1)
                {
                    string[] imageList = new string[viewModel.Media.Count];
                    for (int i = 0; i < viewModel.Media.Count; i++)
                    {
                        var item = viewModel.Media[i];
                        // chua upload. upload roi link = null
                        if (string.IsNullOrEmpty(item.Path) == false) // co link la co chon tu dien thoai.
                        {
                            imageList[i] = $"{Guid.NewGuid().ToString()}.jpg";
                            var stream  = new MemoryStream(File.ReadAllBytes(item.Path));
                            var content = new StreamContent(stream);
                            content.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
                            {
                                Name     = "files" + i,
                                FileName = imageList[i]
                            };
                            form.Add(content);
                        }
                        else
                        {
                            imageList[i] = item.PreviewPath.Replace(ApiConfig.CloudStorageApiCDN + "/post/", "");
                        }
                    }


                    //if (imageList.Length > 8)
                    //{
                    //    await DisplayAlert("", "Vui lòng upload tối đa 8 hình ảnh bất động sản.", Language.dong);
                    //    loadingPopup.IsVisible = false;
                    //    return;
                    //}

                    viewModel.PostModel.Avatar = imageList[0];
                    viewModel.PostModel.Images = string.Join(",", imageList);
                }
                else
                {
                    viewModel.PostModel.Avatar = null;
                    viewModel.PostModel.Images = null;
                }


                // kiem tra xem co vuot qua hinh khong.


                // bat dau up hinh.

                bool ImageUploaded = true;
                // can ban/cho thue. co thay doi hinh anh va can ban/cho thue moi cho up hinh.
                if (viewModel.Media.Any(x => x.Path != null) && viewModel.PostModel.PostType == 0 || viewModel.PostModel.PostType == 1)
                {
                    ApiResponse uploadImageResponse = await UploadImage(form);

                    if (!uploadImageResponse.IsSuccess)
                    {
                        await DisplayAlert("", Language.hinh_anh_vuot_qua_dung_luong, Language.dong);

                        ImageUploaded          = false;
                        loadingPopup.IsVisible = false;
                    }
                }
                else
                {
                    ImageUploaded = true; // ko can upload
                }

                if (ImageUploaded) // neu khong can upload hoac up load thanh cong thi moi goi api.
                {
                    ApiResponse apiResponse = null;
                    if (this._id == Guid.Empty)
                    {
                        viewModel.PostModel.Id = Guid.NewGuid();
                        apiResponse            = await ApiHelper.Post(ApiRouter.POST_CREATE, viewModel.PostModel, true);
                    }
                    else
                    {
                        apiResponse = await ApiHelper.Post(ApiRouter.POST_UPDATE, viewModel.PostModel, true);
                    }


                    if (apiResponse.IsSuccess)
                    {
                        if (_id != Guid.Empty)
                        {
                            Page prevPage = Shell.Current.Navigation.NavigationStack[Shell.Current.Navigation.NavigationStack.Count - 2];

                            if (prevPage.GetType() == typeof(PostDetailPage))
                            {
                                var detailPage = (PostDetailPage)prevPage;

                                await Shell.Current.Navigation.PopAsync(false);

                                await Shell.Current.Navigation.PopAsync(false);

                                await Shell.Current.Navigation.PushAsync(new PostDetailPage(viewModel.PostModel.Id), false);
                            }
                        }

                        MessagingCenter.Send <PostPage>(this, "OnSavePost");
                        if (_id == Guid.Empty)
                        {
                            await Shell.Current.Navigation.PopAsync(false);

                            await Shell.Current.Navigation.PushAsync(new PostDetailPage(viewModel.PostModel.Id), false);

                            await CrossShare.Current.Share(new Plugin.Share.Abstractions.ShareMessage {
                                Url = $"{ApiConfig.WEB_IP}post/{viewModel.PostModel.Id}"
                            });
                        }
                        ToastMessageHelper.ShortMessage(Language.luu_thanh_cong);
                    }
                    else
                    {
                        loadingPopup.IsVisible = false;
                        await DisplayAlert("", Language.khong_the_luu_bai_dang, Language.dong);
                    }
                }
            }
            catch (Exception ex)
            {
                string mes = ex.Message;
            }
        }
Exemple #22
0
        private async void Save_Clicked(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(EntryTitle.Text))
                {
                    await DisplayAlert("", Language.vui_long_nhap_tieu_de, Language.dong);

                    return;
                }
                else if (string.IsNullOrWhiteSpace(editor.Text))
                {
                    await DisplayAlert("", Language.vui_long_nhap_noi_dung, Language.dong);

                    return;
                }


                loadingPopup.IsVisible = true;
                // kiem tra co hinh thi upload.
                if (viewModel.Media.Count > 0)
                {
                    if (viewModel.Media.Count > 9)
                    {
                        loadingPopup.IsVisible = false;
                        await DisplayAlert("", Language.vui_long_chon_toi_da_9_anh, Language.dong);

                        return;
                    }

                    List <MediaFile> listUploadMedia = viewModel.Media.Where(x => x.Path != null).ToList();
                    if (listUploadMedia.Any())
                    {
                        MultipartFormDataContent form = new MultipartFormDataContent();
                        for (int i = 0; i < listUploadMedia.Count; i++)
                        {
                            string imageName = $"postitem_{Guid.NewGuid().ToString()}.jpg";
                            ImageList.Add(imageName);

                            var media   = listUploadMedia[i];
                            var stream  = new MemoryStream(File.ReadAllBytes(media.Path));
                            var content = new StreamContent(stream);
                            content.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
                            {
                                Name     = "files" + i,
                                FileName = imageName
                            };
                            form.Add(content);
                        }

                        var uploadResonse = await UploadImage(form);

                        if (!uploadResonse.IsSuccess)
                        {
                            loadingPopup.IsVisible = false;
                            await DisplayAlert("", uploadResonse.Message, Language.dong);

                            return;
                        }
                    }
                }

                InternalPostItem item = new InternalPostItem();
                item.CompanyId   = UserLogged.CompanyId.ToLower();
                item.Title       = EntryTitle.Text.Trim();
                item.Description = editor.Text.Trim();
                item.Images      = ImageList.Any() ? ImageList.ToArray() : null;
                item.CreatedById = UserLogged.Id;
                item.CreatedBy   = new PostItemUser()
                {
                    UserId   = UserLogged.Id,
                    FullName = UserLogged.FullName,
                    Avatar   = UserLogged.AvatarUrl.Replace(ApiConfig.IP2, "")
                };
                item.CreatedDate = DateTime.Now;
                item.HasImage    = ImageList != null && ImageList.Count() > 0;

                if (viewModel.InternalPost != null)
                {
                    item.HasPost = true;
                    item.Post    = viewModel.InternalPost;
                }

                if (viewModel.Province != null)
                {
                    item.ProvinceId = viewModel.Province.Id;
                    if (viewModel.District != null)
                    {
                        item.DistrictId = viewModel.District.Id;
                        if (viewModel.Ward != null)
                        {
                            item.WardId = viewModel.Ward.Id;
                        }
                    }
                }

                item.Address = viewModel.Address;

                postItemService.AddPostItem(item);

                MessagingCenter.Send <InternalAddPage, InternalPostItem>(this, "AddPostItemSuccess", item);
                loadingPopup.IsVisible = false;
                await Navigation.PopAsync();

                ToastMessageHelper.ShortMessage(Language.dang_thanh_cong);
            }
            catch (Exception ex)
            {
            }
        }
        private async void SaveTask_Clicked(object sender, EventArgs e)
        {
            loadingPopup.IsVisible = true;

            viewModel.SetDateTime();
            viewModel.SetStatus(viewModel.CongViec.Date);
            viewModel.CongViec.MoiGioiId = Guid.Parse(UserLogged.Id);

            CongViec model = new CongViec();

            model.Id          = viewModel.CongViec.Id;
            model.Title       = viewModel.CongViec.Title;
            model.Description = viewModel.CongViec.Description;
            model.ContactId   = viewModel.CongViec.ContactId;
            model.Status      = viewModel.CongViec.Status;
            model.Date        = viewModel.CongViec.Date;
            model.MoiGioiId   = viewModel.CongViec.MoiGioiId;

            //viewModel.CongViec.Contact = null;

            if (string.IsNullOrWhiteSpace(viewModel.CongViec.Title))
            {
                await DisplayAlert("", Language.vui_long_nhap_tieu_de, Language.dong);

                loadingPopup.IsVisible = false;
                return;
            }
            if (viewModel.CongViec.ContactId == Guid.Empty)
            {
                await DisplayAlert("", Language.vui_long_chon_khach_hang, Language.dong);

                loadingPopup.IsVisible = false;
                return;
            }
            if (string.IsNullOrWhiteSpace(viewModel.CongViec.Description))
            {
                await DisplayAlert("", Language.vui_long_nhap_noi_dung, Language.dong);

                loadingPopup.IsVisible = false;
                return;
            }
            if (viewModel.CongViec.Status == 1)
            {
                await DisplayAlert("", Language.thoi_gian_khong_hop_le, Language.dong);

                loadingPopup.IsVisible = false;
                return;
            }

            if (viewModel.CongViec.Id != Guid.Empty)
            {
                //Update
                ApiResponse response = await ApiHelper.Put(ApiRouter.TASK_CRUD, model, true);

                if (response.IsSuccess)
                {
                    MessagingCenter.Send <AddTaskPage, CongViec>(this, "UpdateTask", viewModel.CongViec);
                    await Navigation.PopAsync();

                    ToastMessageHelper.ShortMessage(Language.cap_nhat_cong_viec_thanh_cong);
                }
                else
                {
                    await DisplayAlert("", Language.cap_nhat_cong_viec_khong_thanh_cong, Language.dong);
                }
                loadingPopup.IsVisible = false;
            }
            else
            {
                //Add
                model.Id = viewModel.CongViec.Id = Guid.NewGuid();
                ApiResponse response = await ApiHelper.Post(ApiRouter.TASK_CRUD, model, true);

                if (response.IsSuccess)
                {
                    MessagingCenter.Send <AddTaskPage, CongViec>(this, "AddTask", viewModel.CongViec);
                    await Navigation.PopAsync();

                    ToastMessageHelper.ShortMessage(Language.them_cong_viec_thanh_cong);
                }
                else
                {
                    await DisplayAlert("", Language.them_cong_viec_that_bai, Language.dong);
                }
                loadingPopup.IsVisible = false;
            }
        }
        public async void Save_Click(object sender, EventArgs e)
        {
            //kiem tra null
            if (viewModel.AddCompanyModel.Name == null)
            {
                await DisplayAlert(Language.thong_bao, Language.vui_long_nhap_ten_cong_ty, Language.dong);

                return;
            }
            if (viewModel.AddCompanyModel.ShortName == null)
            {
                await DisplayAlert(Language.thong_bao, Language.vui_long_nhap_ten_rut_gon, Language.dong);

                return;
            }
            if (string.IsNullOrEmpty(viewModel.AddCompanyModel.MST))
            {
                await DisplayAlert(Language.thong_bao, Language.vui_long_nhap_ma_so_thue, Language.dong);

                return;
            }

            //kiem tra ton tai dau (,) trong ma so thue
            string[] boolMST = viewModel.AddCompanyModel.MST.Split(',');
            if (viewModel.AddCompanyModel.MST.Contains(",") || viewModel.AddCompanyModel.MST.Contains("."))
            {
                await DisplayAlert(Language.thong_bao, Language.ma_so_thue_chua_dung_vui_long_kiem_tra_lai, Language.dong);

                return;
            }
            if (viewModel.AddCompanyModel.Province == null)
            {
                await DisplayAlert(Language.thong_bao, Language.vui_long_chon_tinh_thanh, Language.dong);

                return;
            }
            if (viewModel.AddCompanyModel.District == null)
            {
                await DisplayAlert(Language.thong_bao, Language.vui_long_chon_quan_huyen, Language.dong);

                return;
            }
            if (viewModel.AddCompanyModel.Ward == null)
            {
                await DisplayAlert(Language.thong_bao, Language.vui_long_chon_phuong_xa, Language.dong);

                return;
            }
            if (viewModel.AddCompanyModel.LoaiCongTy == null)
            {
                await DisplayAlert(Language.thong_bao, Language.vui_long_chon_loai_cong_ty, Language.dong);

                return;
            }
            if (string.IsNullOrEmpty(viewModel.AddCompanyModel.Logo))
            {
                await DisplayAlert(Language.thong_bao, Language.vui_long_chon_logo, Language.dong);

                return;
            }


            loadingPopup.IsVisible = true;

            MultipartFormDataContent form = new MultipartFormDataContent();

            string[] imageList = new string[viewModel.Media.Count];
            for (int i = 0; i < viewModel.Media.Count; i++)
            {
                var item = viewModel.Media[i];
                // chua upload. upload roi link = null
                if (string.IsNullOrEmpty(item.Path) == false) // co link la co chon tu dien thoai.
                {
                    imageList[i] = $"{Guid.NewGuid().ToString()}.jpg";
                    var stream  = new MemoryStream(File.ReadAllBytes(item.Path));
                    var content = new StreamContent(stream);
                    content.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
                    {
                        Name     = "files" + i,
                        FileName = imageList[i]
                    };
                    form.Add(content);
                }
                else
                {
                    imageList[i] = item.PreviewPath.Replace(ApiConfig.CloudStorageApiCDN + "/company/", "");
                }
            }

            if (imageList.Count() != 0)
            {
                viewModel.AddCompanyModel.Images = string.Join(",", imageList);
            }
            else
            {
                viewModel.AddCompanyModel.Images = null;
            }

            //gan
            viewModel.AddCompanyModel.ProvinceId  = viewModel.AddCompanyModel.Province.Id;
            viewModel.AddCompanyModel.DistrictId  = viewModel.AddCompanyModel.District.Id;
            viewModel.AddCompanyModel.WardId      = viewModel.AddCompanyModel.Ward.Id;
            viewModel.AddCompanyModel.NganhNgheId = viewModel.AddCompanyModel.LoaiCongTy.Id;
            viewModel.AddCompanyModel.CreatedDate = DateTime.Now;

            //viewModel.AddCompanyModel.Logo = viewModel.AddCompanyModel.Logo.Replace($"{ApiConfig.CloudStorageApiCDN}/company/", "");

            if (UserLogged.IsLogged)
            {
                if (UserLogged.Id != null)
                {
                    viewModel.AddCompanyModel.CreatedById = Guid.Parse(UserLogged.Id);
                }
            }

            bool ImageUploaded = true;

            if (viewModel.Media.Any(x => x.Path != null))
            {
                ApiResponse uploadImageResponse = await UploadImage(form);

                if (!uploadImageResponse.IsSuccess)
                {
                    await DisplayAlert("", Language.hinh_anh_vuot_qua_dung_luong_vui_long_thu_lai, Language.dong);

                    ImageUploaded          = false;
                    loadingPopup.IsVisible = false;
                }
            }
            else
            {
                ImageUploaded = true; // ko can upload
            }

            if (ImageUploaded)
            {
                ApiResponse apiResponse = null;
                if (this._id == Guid.Empty)
                {
                    Guid CompanyId = Guid.NewGuid();
                    viewModel.AddCompanyModel.Id = CompanyId;
                    apiResponse = await ApiHelper.Post(ApiRouter.COMPANY_ADD, viewModel.AddCompanyModel);

                    if (apiResponse.IsSuccess)
                    {
                        UserLogged.CompanyId = CompanyId.ToString();
                        UserLogged.RoleId    = 0;

                        var appShell = (AppShell)Shell.Current;

                        appShell.AddMenu_QuanLyCongTy();
                        appShell.AddMenu_QuanLyMoiGioi(); // Để thêm nội bộ

                        try
                        {
                            var answer = await DisplayAlert(Language.thong_bao, Language.ban_co_muon_bo_sung_thong_tin_khong, Language.dong_y, Language.huy);

                            if (!answer)
                            {
                                await Shell.Current.Navigation.PopAsync();

                                MessagingCenter.Send <AddCompanyPage>(this, "OnSaveCompany");

                                await Shell.Current.GoToAsync("//" + AppShell.QUANLYCONGTY);

                                ToastMessageHelper.ShortMessage(Language.cong_ty_cua_ban_da_duoc_luu_thanh_cong);
                            }
                            else
                            {
                                stThongTinBoSung.IsVisible = true;
                                //ModalPopupHistory.IsVisible = true;
                                await modalAddHistory.Show();

                                _id = viewModel.AddCompanyModel.Id;
                                modalAddHistory.Title  = Language.lich_su_phat_trien;
                                viewModel.TitleCompany = Language.thong_tin_cong_ty;
                            }
                        }
                        catch { }
                    }
                    else
                    {
                        loadingPopup.IsVisible = false;
                        await DisplayAlert("", Language.khong_the_luu_cong_ty_vui_long_thu_lai, Language.dong);
                    }
                }
                else
                {
                    apiResponse = await ApiHelper.Put(ApiRouter.COMPANY_UPDATE, viewModel.AddCompanyModel);

                    if (apiResponse.IsSuccess)
                    {
                        try
                        {
                            await Shell.Current.Navigation.PopAsync();

                            MessagingCenter.Send <AddCompanyPage>(this, "OnSaveCompany");
                            ToastMessageHelper.ShortMessage(Language.cap_nhat_thanh_cong);
                        }
                        catch { }
                    }
                    else
                    {
                        loadingPopup.IsVisible = false;
                        await DisplayAlert("", Language.khong_the_cap_nhat_cong_ty_vui_long_thu_lai, Language.dong);
                    }
                }
            }
            loadingPopup.IsVisible = false;
        }
Exemple #25
0
        private async void Save_Clicked(object sender, EventArgs e)
        {
            if (viewModel.ParentCategory == null)
            {
                await DisplayAlert("", Language.chon_nhom_danh_muc, Language.dong);

                return;
            }

            if (viewModel.ChildCategory == null)
            {
                await DisplayAlert("", Language.chon_danh_muc, Language.dong);

                return;
            }

            if (string.IsNullOrWhiteSpace(viewModel.AddProductModel.Name))
            {
                await DisplayAlert("", Language.nhap_ten_noi_that, Language.dong);

                return;
            }

            if (!viewModel.AddProductModel.Price.HasValue)
            {
                await DisplayAlert("", Language.nhap_gia_san_pham, Language.dong);

                return;
            }

            if (viewModel.AddProductModel.IsPromotion == true)
            {
                if (viewModel.AddProductModel.PromotionFromDate == null)
                {
                    await DisplayAlert("", Language.vui_long_chon_thoi_gian, Language.dong);

                    return;
                }
                if (viewModel.AddProductModel.PromotionToDate == null)
                {
                    await DisplayAlert("", Language.vui_long_chon_thoi_gian, Language.dong);

                    return;
                }
                if (viewModel.AddProductModel.PromotionPrice == null)
                {
                    await DisplayAlert("", Language.vui_long_nhap_gia_giam, Language.dong);

                    return;
                }
            }

            if (viewModel.AddProductModel.Province == null)
            {
                await DisplayAlert("", Language.vui_long_chon_tinh_thanh, Language.dong);

                return;
            }
            if (viewModel.AddProductModel.District == null)
            {
                await DisplayAlert("", Language.vui_long_chon_quan_huyen, Language.dong);

                return;
            }
            if (viewModel.AddProductModel.Ward == null)
            {
                await DisplayAlert("", Language.vui_long_chon_phuong_xa, Language.dong);

                return;
            }



            if (viewModel.Media.Count < 1)
            {
                await DisplayAlert("", Language.chon_hinh_anh_cho_san_pham, Language.dong);

                return;
            }


            loadingPopup.IsVisible = true;

            FurnitureProduct product = new FurnitureProduct();

            product.Name             = viewModel.AddProductModel.Name;
            product.ParentCategoryId = viewModel.ParentCategory.Id;
            product.CategoryId       = viewModel.ChildCategory.Id;
            product.CreatedById      = Guid.Parse(UserLogged.Id);
            product.Price            = viewModel.AddProductModel.Price;
            product.Status           = viewModel.AddProductModel.Status;
            product.Model            = viewModel.AddProductModel.Model;
            product.Origin           = viewModel.AddProductModel.Origin;
            product.Guarantee        = viewModel.AddProductModel.Guarantee;
            product.Description      = viewModel.AddProductModel.Description;
            product.CreatedDate      = viewModel.AddProductModel.CreatedDate;

            product.ProductStatus = 0;
            product.IsPromotion   = viewModel.AddProductModel.IsPromotion;
            if (viewModel.AddProductModel.IsPromotion == true)
            {
                product.PromotionFromDate = viewModel.AddProductModel.PromotionFromDate;
                product.PromotionToDate   = viewModel.AddProductModel.PromotionToDate;
                product.PromotionPrice    = viewModel.AddProductModel.PromotionPrice;
            }


            if (viewModel.AddProductModel.Province != null)
            {
                product.ProvinceId = viewModel.AddProductModel.Province.Id;
            }
            if (viewModel.AddProductModel.District != null)
            {
                product.DistrictId = viewModel.AddProductModel.District.Id;
            }
            if (viewModel.AddProductModel.Ward != null)
            {
                product.WardId = viewModel.AddProductModel.Ward.Id;
            }

            product.Street  = viewModel.AddProductModel.Street;
            product.Address = viewModel.AddProductModel.Address;

            string[] imageList = new string[viewModel.Media.Count];
            for (int i = 0; i < viewModel.Media.Count; i++)
            {
                var item = viewModel.Media[i];
                // chua upload. upload roi link = null
                if (string.IsNullOrEmpty(item.Path) == false) // co link la co chon tu dien thoai.
                {
                    imageList[i] = $"{Guid.NewGuid().ToString()}.jpg";
                    var stream  = new MemoryStream(File.ReadAllBytes(item.Path));
                    var content = new StreamContent(stream);
                    content.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
                    {
                        Name     = "files" + i,
                        FileName = imageList[i]
                    };
                    MultipartFormDataContent form = new MultipartFormDataContent();
                    form.Add(content);
                    var response = await BsdHttpClient.Instance().PostAsync(ApiRouter.FURNITUREPRODUCT_IMAGE_UPLOAD, form);

                    if (!response.IsSuccessStatusCode)
                    {
                        await DisplayAlert("", Language.khong_the_upload_hinh_anh, Language.dong);

                        loadingPopup.IsVisible = false;
                        return;
                    }
                }
                else
                {
                    imageList[i] = item.PreviewPath.Replace(Configuration.ApiConfig.CloudStorageApiCDN + "/furniture/product/", "");
                }
            }

            product.AvatarUrl = imageList[0];
            product.Images    = string.Join(",", imageList);

            if (chkCompanyAddress.IsChecked && viewModel.Company != null) //sp cty
            {
                product.CompanyId = viewModel.Company.Id;
            }

            //save
            ApiResponse apiResponse = null;

            if (_productId == Guid.Empty)//add
            {
                apiResponse = await ApiHelper.Post(ApiRouter.FURNITUREPRODUCT_ADD_UPDATE, product, true);
            }
            else//upd
            {
                product.Id  = _productId;
                apiResponse = await ApiHelper.Put($"{ApiRouter.FURNITUREPRODUCT_ADD_UPDATE}/update", product, true);
            }

            if (apiResponse.IsSuccess)
            {
                var responseProduct = JsonConvert.DeserializeObject <FurnitureProduct>(apiResponse.Content.ToString());
                product.Id = responseProduct.Id;
                await Navigation.PopAsync();

                if (_productId == Guid.Empty)
                {
                    MessagingCenter.Send <AddProductPage, bool>(this, "AddProduct", (bool)viewModel.AddProductModel.IsPromotion);
                    ToastMessageHelper.ShortMessage(Language.dang_thanh_cong);
                }
                else
                {
                    MessagingCenter.Send <AddProductPage, FurnitureProduct>(this, "UpdateProduct", product);
                    ToastMessageHelper.ShortMessage(Language.luu_san_pham_thanh_cong);
                }
            }
            else
            {
                ToastMessageHelper.ShortMessage($"{Language.loi}, {apiResponse.Message}");
            }
            loadingPopup.IsVisible = false;
        }
Exemple #26
0
        private async void Save_Clicked(object sender, EventArgs e)
        {
            // truong hop dang them tu bên post .
            if (CheckLastPost)
            {
                if (postItemService == null)
                {
                    postItemService = DependencyService.Get <IPostItemService>();
                }

                DateTime?lastTime = postItemService.GatLastPostTime(UserLogged.Id);
                if (lastTime.HasValue)
                {
                    var      now      = DateTime.Now;
                    TimeSpan timeSpan = now.Subtract(lastTime.Value);
                    if (timeSpan.TotalMinutes >= 120)
                    {
                    }
                    else
                    {
                        //Mỗi bài đăng từ tin đăng phải cách 2 tiếng! Vui lòng thử lại.
                        await DisplayAlert("", Language.moi_bai_dang_phai_tu_it_nhat_x_tieng, Language.dong);

                        return;
                    }
                }
            }
            if (string.IsNullOrWhiteSpace(EntryTitle.Text))
            {
                await DisplayAlert("", Language.vui_long_nhap_tieu_de, Language.dong);

                return;
            }

            if (string.IsNullOrWhiteSpace(editor.Text))
            {
                await DisplayAlert("", Language.vui_long_nhap_noi_dung, Language.dong);

                return;
            }

            loadingPopup.IsVisible = true;
            // kiem tra co hinh thi upload.
            if (viewModel.Media.Count > 0)
            {
                if (viewModel.Media.Count > 9)
                {
                    loadingPopup.IsVisible = false;
                    await DisplayAlert("", Language.vui_long_chon_toi_da_9_anh, Language.dong);

                    return;
                }

                List <MediaFile> listUploadMedia = viewModel.Media.Where(x => x.Path != null).ToList();
                if (listUploadMedia.Any())
                {
                    MultipartFormDataContent form = new MultipartFormDataContent();
                    for (int i = 0; i < listUploadMedia.Count; i++)
                    {
                        string imageName = $"postitem_{Guid.NewGuid().ToString()}.jpg";
                        ImageList.Add(imageName);

                        var media   = listUploadMedia[i];
                        var stream  = new MemoryStream(File.ReadAllBytes(media.Path));
                        var content = new StreamContent(stream);
                        content.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
                        {
                            Name     = "files" + i,
                            FileName = imageName
                        };
                        form.Add(content);
                    }

                    var uploadResonse = await UploadImage(form);

                    if (!uploadResonse.IsSuccess)
                    {
                        loadingPopup.IsVisible = false;
                        await DisplayAlert("", uploadResonse.Message, Language.dong);

                        return;
                    }
                }
            }


            PostItem item = new PostItem();

            item.Title       = EntryTitle.Text.Trim();
            item.Type        = ControlSegment.GetCurrentIndex();
            item.Description = editor.Text;
            item.Images      = ImageList.Any() ? ImageList.ToArray() : null;
            item.CreatedById = UserLogged.Id;
            item.CreatedBy   = new PostItemUser()
            {
                UserId   = UserLogged.Id,
                FullName = UserLogged.FullName,
                Avatar   = UserLogged.AvatarUrl.Replace(ApiConfig.IP2, "")
            };
            item.CreatedDate = DateTime.Now;
            item.HasImage    = ImageList != null && ImageList.Count() > 0;

            // gia
            if (EntryPrice.Text.HasValue)
            {
                item.HasPrice = true;
                item.Price    = DecimalHelper.ToCurrency(EntryPrice.Text.Value) + " " + (pickerUnitPrice.SelectedItem != null ? ((PriceOption)pickerUnitPrice.SelectedItem).Name.ToLower() : "");
            }
            // dien tich
            if (!string.IsNullOrWhiteSpace(EntryArea.Text))
            {
                item.HasArea = true;
                item.Area    = EntryArea.Text + "m2";
            }

            if (!string.IsNullOrWhiteSpace(viewModel.Address))
            {
                item.HasAddress = true;
                item.Address    = viewModel.Address;
            }

            if (viewModel.Province != null)
            {
                item.ProvinceId = viewModel.Province.Id;

                if (viewModel.District != null)
                {
                    item.DistrictId = viewModel.District.Id;

                    if (viewModel.Ward != null)
                    {
                        item.WardId = viewModel.Ward.Id;
                    }
                }
            }

            if (LookUpType.SelectedItem != null)
            {
                var loaiBatDongSan = LookUpType.SelectedItem as LoaiBatDongSanModel;
                item.HasLoaiBatDongSan = true;
                item.BDSTypeId         = loaiBatDongSan.Id;
            }

            if (CheckSelected(StacklayoutSoPhongtam))
            {
                item.HasSoPhongTam = true;
                RadBorder radBorder = GetRadBorder(StacklayoutSoPhongtam);
                var       label     = radBorder.Content as Label;
                item.SoPhongTam = int.Parse(label.Text);
            }

            if (CheckSelected(StacklayoutSophongngu))
            {
                item.HasSoPhongNgu = true;
                RadBorder radBorder = GetRadBorder(StacklayoutSophongngu);
                var       label     = radBorder.Content as Label;
                item.SoPhongNgu = int.Parse(label.Text);
            }

            if (postItemService == null)
            {
                postItemService = DependencyService.Get <IPostItemService>();
            }

            postItemService.AddPostItem(item);
            MessagingCenter.Send <AddPostItemPage, PostItem>(this, "AddPostItemSuccess", item);
            loadingPopup.IsVisible = false;
            await Navigation.PopAsync();

            ToastMessageHelper.ShortMessage(Language.luu_thanh_cong);
        }
Exemple #27
0
        private async void Save_Clicked(object sender, EventArgs e)
        {
            if (viewModel.LiquidationModel.LiquidationCategory == null)
            {
                await DisplayAlert("", Language.vui_long_chon_danh_muc_san_pham, Language.dong);

                return;
            }
            if (string.IsNullOrWhiteSpace(viewModel.LiquidationModel.Name))
            {
                await DisplayAlert("", Language.vui_long_nhap_ten_san_pham, Language.dong);

                return;
            }
            if (type == 0 && viewModel.LiquidationModel.Price == 0)
            {
                await DisplayAlert("", Language.vui_long_nhap_gia_thanh_ly, Language.dong);

                return;
            }
            if (viewModel.LiquidationModel.Province == null || viewModel.LiquidationModel.District == null || viewModel.LiquidationModel.Ward == null)
            {
                await DisplayAlert("", Language.vui_long_cung_cap_thong_tin_dia_chi, Language.dong);

                return;
            }

            if (viewModel.Media.Any() == false)
            {
                await DisplayAlert("", Language.vui_long_chon_hinh_anh_san_pham, Language.dong);

                return;
            }

            loadingPopup.IsVisible = true;

            bool ImageUploaded            = true;
            MultipartFormDataContent form = new MultipartFormDataContent();

            string[] imageList = new string[viewModel.Media.Count];
            for (int i = 0; i < viewModel.Media.Count; i++)
            {
                var item = viewModel.Media[i];
                // chua upload. upload roi link = null
                if (string.IsNullOrEmpty(item.Path) == false) // co link la co chon tu dien thoai.
                {
                    imageList[i] = $"{Guid.NewGuid().ToString()}.jpg";
                    var stream  = new MemoryStream(File.ReadAllBytes(item.Path));
                    var content = new StreamContent(stream);
                    content.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data")
                    {
                        Name     = "files" + i,
                        FileName = imageList[i]
                    };
                    form.Add(content);
                }
                else
                {
                    imageList[i] = item.PreviewPath.Replace(ApiConfig.CloudStorageApiCDN + "/liquidation/", "");
                }
            }

            // bat dau up hinh.
            if (viewModel.Media.Any(x => x.Path != null))
            {
                ApiResponse uploadImageResponse = await UploadImage(form);

                if (!uploadImageResponse.IsSuccess)
                {
                    await DisplayAlert("", Language.hinh_anh_vuot_qua_dung_luong_vui_long_thu_lai, Language.dong);

                    ImageUploaded          = false;
                    loadingPopup.IsVisible = false;
                }
            }

            if (ImageUploaded)
            {
                Liquidation liquidation = new Liquidation();
                liquidation.Id          = viewModel.LiquidationModel.Id;
                liquidation.Name        = viewModel.LiquidationModel.Name;
                liquidation.Code        = viewModel.LiquidationModel.Code;
                liquidation.CategoryId  = viewModel.LiquidationModel.LiquidationCategory.Id;
                liquidation.Type        = type;
                liquidation.Price       = type == 0 ? viewModel.LiquidationModel.Price : 0;
                liquidation.Status      = 0;
                liquidation.Description = viewModel.LiquidationModel.Description;
                liquidation.ProvinceId  = viewModel.LiquidationModel.Province.Id;
                liquidation.DistrictId  = viewModel.LiquidationModel.District.Id;
                liquidation.WardId      = viewModel.LiquidationModel.Ward.Id;
                liquidation.Street      = viewModel.LiquidationModel.Street;
                liquidation.Address     = viewModel.LiquidationModel.Address;
                liquidation.Avatar      = imageList[0];
                liquidation.Images      = string.Join(",", imageList);

                ApiResponse apiResponse = null;
                if (liquidationId == Guid.Empty)
                {
                    liquidationId = liquidation.Id;
                    apiResponse   = await ApiHelper.Post(ApiRouter.LIQUIDATION_SAVE, liquidation, true);
                }
                else
                {
                    apiResponse = await ApiHelper.Put(ApiRouter.LIQUIDATION_SAVE, liquidation, true);
                }

                if (apiResponse.IsSuccess)
                {
                    try
                    {
                        await Navigation.PopAsync(false);

                        MessagingCenter.Send <AddLiquidationPage>(this, "OnSaveItem");
                        MessagingCenter.Send <AddLiquidationPage, Guid>(this, "OnSaveItem", liquidation.Id);
                        ToastMessageHelper.ShortMessage(Language.luu_san_pham_thanh_cong);
                    }
                    catch
                    {
                    }
                }
                else
                {
                    loadingPopup.IsVisible = false;
                    await DisplayAlert("", Language.khong_the_luu_san_pham_vui_long_thu_lai, Language.dong);
                }
            }
            loadingPopup.IsVisible = false;
        }
        public async void OnBtnSaveContactDetail_Click(object sender, EventArgs e)
        {
            if (viewModel.ContactModel.FullName == null)
            {
                await Shell.Current.DisplayAlert(Language.thong_bao, Language.vui_long_nhap_ten_khach_hang, Language.dong);
            }
            else if (viewModel.ContactModel.SelectGroup == null)
            {
                await Shell.Current.DisplayAlert(Language.thong_bao, Language.vui_long_chon_nhom_khach_hang, Language.dong);
            }
            else if (viewModel.ContactModel.Phone == null)
            {
                await Shell.Current.DisplayAlert(Language.thong_bao, Language.vui_long_nhap_so_dien_thoai, Language.dong);
            }
            else
            {
                //Contact contact = new Contact();
                //contact.Id = viewModel.ContactModel.Id;
                //contact.FullName = viewModel.ContactModel.FullName;
                //contact.Phone = viewModel.ContactModel.Phone;
                //contact.GroupId = viewModel.ContactModel.GroupId;
                //contact.ProvinceId = viewModel.ContactModel.ProvinceId;
                //contact.DistrictId = viewModel.ContactModel.DistrictId;
                //contact.WardId = viewModel.ContactModel.WardId;
                //contact.Street = viewModel.ContactModel.Street;
                //contact.Address = viewModel.ContactModel.Address;
                //contact.CreatedById = viewModel.ContactModel.CreatedById;
                //contact.CompanyId = viewModel.ContactModel.CompanyById;

                if (viewModel.ContactModel.Province != null)
                {
                    viewModel.ContactModel.ProvinceId = viewModel.ContactModel.Province.Id;
                }
                else
                {
                    viewModel.ContactModel.ProvinceId = null;
                }

                if (viewModel.ContactModel.District != null)
                {
                    viewModel.ContactModel.DistrictId = viewModel.ContactModel.District.Id;
                }
                else
                {
                    viewModel.ContactModel.DistrictId = null;
                }

                if (viewModel.ContactModel.Ward != null)
                {
                    viewModel.ContactModel.WardId = viewModel.ContactModel.Ward.Id;
                }
                else
                {
                    viewModel.ContactModel.WardId = null;
                }

                if (viewModel.ContactModel.SelectGroup != null)
                {
                    viewModel.ContactModel.GroupId = viewModel.ContactModel.SelectGroup.Id;
                }
                loadingPopup.IsVisible = true;
                ApiResponse apiResponce = await ApiHelper.Put(ApiRouter.CONTACT_PUT, viewModel.ContactModel);

                if (apiResponce.IsSuccess)
                {
                    viewModel.Contact = new ContactModel(viewModel.ContactModel);
                    MessagingCenter.Send <ContactDetailContent>(this, "ReloadData");
                    await ModalEditContact.Hide();

                    loadingPopup.IsVisible = false;
                    ToastMessageHelper.ShortMessage(Language.cap_nhat_thanh_cong);
                }
                else
                {
                    await Shell.Current.DisplayAlert(Language.thong_bao, Language.cap_nhat_thong_tin_khach_hang_that_bai, Language.dong);
                }
                loadingPopup.IsVisible = false;
            }
        }
        private async void DataListView_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            var post = e.Item as Post;

            if (UserLogged.RoleId != 0)
            {
                await Shell.Current.Navigation.PushAsync(new PostDetailPage(post.Id));

                return;
            }

            IDictionary <int, string> options = new Dictionary <int, string>()
            {
                { 1, Language.xem_thong_tin_chi_tiet },
            };

            if (UserLogged.RoleId == 0 && viewModel.Status != 0)
            {
                options[2] = Language.xoa;
            }

            if (viewModel.Status.HasValue && viewModel.Status == 0)
            {
                options[3] = Language.duyet;
                options[4] = Language.khong_duyet;
            }
            //if (viewModel.Status.HasValue && viewModel.Status == 1)
            //{
            //    options[5] = Language.dua_vao_gio_chung;
            //}

            string action = await Shell.Current.DisplayActionSheet("", Language.huy, null, options.Values.ToArray());

            if (action == options[1])
            {
                await Shell.Current.Navigation.PushAsync(new PostDetailPage(post.Id));
            }
            else if (options.ContainsKey(2) && action == options[2])
            {
                var response = await ApiHelper.Delete(ApiRouter.COMPANY_REMOVOUT_POST + "/" + post.Id);

                if (response.IsSuccess)
                {
                    MessagingCenter.Send <FilterCompanyPostListView>(this, "OnUpdateStatus");
                    ToastMessageHelper.ShortMessage(Language.xoa_thanh_cong);
                }
                else
                {
                    await Shell.Current.DisplayAlert("", Language.loi_he_thong_vui_long_thu_lai, Language.dong);
                }
            }
            else if (options.ContainsKey(3) && action == options[3])
            {
                var response = await ApiHelper.Put(ApiRouter.COMPANY_APPROVE_POST + "/" + post.Id, null, false);

                if (response.IsSuccess)
                {
                    MessagingCenter.Send <FilterCompanyPostListView>(this, "OnUpdateStatus");
                    ToastMessageHelper.ShortMessage(Language.duyet_thanh_cong);
                }
                else
                {
                    await Shell.Current.DisplayAlert("", Language.loi_he_thong_vui_long_thu_lai, Language.dong);
                }
            }
            else if (options.ContainsKey(4) && action == options[4])
            {
                var response = await ApiHelper.Put(ApiRouter.COMPANY_REJECT_POST + "/" + post.Id, null, false);

                if (response.IsSuccess)
                {
                    MessagingCenter.Send <FilterCompanyPostListView>(this, "OnUpdateStatus");
                    ToastMessageHelper.ShortMessage(Language.thanh_cong);
                }
                else
                {
                    await Shell.Current.DisplayAlert("", Language.loi_he_thong_vui_long_thu_lai, Language.dong);
                }
            }
            //else if (options.ContainsKey(5) && action == options[5])
            //{
            //    var response = await ApiHelper.Put(ApiRouter.COMPANY_ADDTO_GIOCHUNG + "/" + post.Id, null, false);
            //    if (response.IsSuccess)
            //    {
            //        MessagingCenter.Send<FilterCompanyPostListView>(this, "OnUpdateStatus");
            //        ToastMessageHelper.ShortMessage(Language.dua_vao_gio_chung_thanh_cong);
            //    }
            //    else
            //    {
            //        await Shell.Current.DisplayAlert("", response.Message, Language.dong);
            //    }
            //}
        }
        public async void OnBtnSavePromotion_Click(object sender, EventArgs e)
        {
            if (viewModel.PromotionPrice == null)
            {
                await Shell.Current.DisplayAlert(Language.thong_bao, Language.vui_long_nhap_gia_giam, Language.dong);
            }
            else
            {
                FurnitureProduct product = new FurnitureProduct();
                product.Name             = FurnitureUpdate.Name;
                product.ParentCategoryId = FurnitureUpdate.ParentCategoryId;
                product.CategoryId       = FurnitureUpdate.CategoryId;
                product.CreatedById      = Guid.Parse(UserLogged.Id);
                product.Price            = FurnitureUpdate.Price;
                product.Status           = FurnitureUpdate.Status;
                product.Model            = FurnitureUpdate.Model;
                product.Origin           = FurnitureUpdate.Origin;
                product.Guarantee        = FurnitureUpdate.Guarantee;
                product.Description      = FurnitureUpdate.Description;
                product.Address          = FurnitureUpdate.Address;

                product.Category   = FurnitureUpdate.Category;
                product.Company    = FurnitureUpdate.Company;
                product.CompanyId  = FurnitureUpdate.CompanyId;
                product.AvatarUrl  = FurnitureUpdate.AvatarUrl;
                product.CreatedBy  = FurnitureUpdate.CreatedBy;
                product.DistrictId = FurnitureUpdate.DistrictId;
                product.Images     = FurnitureUpdate.Images;
                product.Model      = FurnitureUpdate.Model;
                product.ProvinceId = FurnitureUpdate.ProvinceId;
                product.Street     = FurnitureUpdate.Street;
                product.WardId     = FurnitureUpdate.WardId;
                product.Videos     = FurnitureUpdate.Videos;

                product.ProductStatus     = FurnitureUpdate.ProductStatus;
                product.IsPromotion       = true;
                product.PromotionFromDate = viewModel.PromotionFromDate;
                product.PromotionToDate   = viewModel.PromotionToDate;
                product.PromotionPrice    = viewModel.PromotionPrice;



                ApiResponse apiResponse = await ApiHelper.Post($"{ApiRouter.FURNITUREPRODUCT_ADD_UPDATE}", product, true);

                if (apiResponse.IsSuccess)
                {
                    await ModalUpdate.Hide();

                    viewModel.PromotionFromDate = DateTime.Now;
                    viewModel.PromotionToDate   = DateTime.Now;
                    viewModel.PromotionPrice    = null;
                    await viewModel.LoadOnRefreshCommandAsync();

                    ToastMessageHelper.ShortMessage(Language.dang_thanh_cong);
                    MessagingCenter.Send <PromotionPage>(this, "AddProduct");
                    await ModalPickProduct.Hide();
                }
                else
                {
                    ToastMessageHelper.ShortMessage(apiResponse.Message);
                }
            }
        }