public bool Update(PurchaseBillViewModel entity)
        {
            var purchaseBill           = entity.MapToPuchaseBill();
            var newPurchaseBillDetails = new List <PurchaseBillDetail>();

            foreach (var item in entity.PurchaseBillDetailViewModels)
            {
                var purchaseBillDetail = item.MapToPurchaseBillDetail();
                purchaseBillDetail.PurchaseBillId = purchaseBill.PurchaseBillId;
                newPurchaseBillDetails.Add(purchaseBillDetail);
            }
            _purchaseBillRepository.Update(purchaseBill);
            var oldPurchaseBillDetails = _purchaseBillDetailRepository.FindAll(pd => pd.PurchaseBillId == entity.PurchaseBillId).ToList();

            if (oldPurchaseBillDetails != null)
            {
                var deletePurchaseBillDetails = oldPurchaseBillDetails.Where(op => !newPurchaseBillDetails.Any(p => p.Id == op.Id));
                var addPurchaseBillDetails    = newPurchaseBillDetails.Where(p => !oldPurchaseBillDetails.Any(op => op.Id == p.Id));
                var updatePurchaseBillDetails = newPurchaseBillDetails.Where(p => oldPurchaseBillDetails.Any(op => op.Id == p.Id));
                _purchaseBillDetailRepository.DeleteRange(deletePurchaseBillDetails);
                _purchaseBillDetailRepository.AddRange(addPurchaseBillDetails);
                _purchaseBillDetailRepository.UpdateRange(updatePurchaseBillDetails);
            }
            return(true);
        }
 private void Add_Click(object sender, RoutedEventArgs e)
 {
     if (purchaseBillViewModel.PurchaseBillDetailViewModels == null || purchaseBillViewModel.PurchaseBillDetailViewModels.Count == 0)
     {
         MessageBox.Show("Chưa có sản phẩm nào được thêm!", "Add", MessageBoxButton.OK, MessageBoxImage.Warning);
     }
     else
     {
         if (purchaseBillViewModel.IsValidModel())
         {
             var isSuccess = _purchaseBillBusiness.Add(purchaseBillViewModel);
             if (isSuccess)
             {
                 MessageBox.Show("Đã thêm thành công!", "Add", MessageBoxButton.OK, MessageBoxImage.Information);
                 purchaseBillViewModel = new PurchaseBillViewModel();
                 this.DataContext      = purchaseBillViewModel;
                 Load_DataGrid_PurchaseBillDetail();
             }
             else
             {
                 MessageBox.Show("Thêm không thành công!", "Add", MessageBoxButton.OK, MessageBoxImage.Error);
             }
         }
     }
 }
        public ActionResult Edit(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Supplier supplier = _dbContext.Suppliers.Find(id);

            if (supplier == null)
            {
                return(HttpNotFound());
            }
            SupplierViewModel            viewModel = AutoMapper.Mapper.Map <SupplierViewModel>(supplier);
            List <PurchaseBillViewModel> purchaseBillViewModelList = new List <PurchaseBillViewModel>();
            var purchaseBills = _dbContext.PurchaseBills.ToList();

            foreach (var bill in purchaseBills)
            {
                PurchaseBillViewModel purchaseBillViewModel = new PurchaseBillViewModel();
                purchaseBillViewModel.Id              = bill.Id;
                purchaseBillViewModel.BillInvoice     = bill.BillInvoice;
                purchaseBillViewModel.BillTotal       = bill.BillTotal;
                purchaseBillViewModel.BillDate        = bill.BillDate;
                purchaseBillViewModel.SupplierInvoice = bill.SupplierInvoice;
                purchaseBillViewModelList.Add(purchaseBillViewModel);
            }
            IEnumerable <PurchaseBillViewModel> en = purchaseBillViewModelList;

            viewModel.PurchaseBillViewModel = en;
            return(View(viewModel));
        }
 public EditPurchaseBillUserControl(PurchaseBill purchaseBill)
 {
     InitializeComponent();
     _purchaseBillBusiness      = new PurchaseBillBusiness();
     _supplierBusiness          = new SupplierBusiness();
     this.purchaseBillViewModel = new PurchaseBillViewModel(purchaseBill);
     InitializeData();
 }
 public AddPurchaseBillUserControl()
 {
     InitializeComponent();
     _purchaseBillBusiness = new PurchaseBillBusiness();
     _supplierBusiness     = new SupplierBusiness();
     purchaseBillViewModel = new PurchaseBillViewModel();
     this.DataContext      = purchaseBillViewModel;
     InitializeData();
 }
        public bool Add(PurchaseBillViewModel entity)
        {
            var purchaseBill = entity.MapToPuchaseBill();

            purchaseBill.PurchaseBillId = IdUtilities.GenerateByTimeSpan();
            purchaseBill.CreatedDate    = DateTime.Now;
            purchaseBill.StaffId        = StaffGlobal.StaffId;
            _purchaseBillRepository.Add(purchaseBill);

            //purchaseBill.PurchaseBillDetails = new List<PurchaseBillDetail>();
            //var purchaseBillDetails = new List<PurchaseBillDetail>();
            foreach (var item in entity.PurchaseBillDetailViewModels)
            {
                var purchaseBillDetail = item.MapToPurchaseBillDetail();
                purchaseBillDetail.PurchaseBillId = purchaseBill.PurchaseBillId;
                _purchaseBillDetailRepository.Add(purchaseBillDetail);
            }

            return(true);
        }