Beispiel #1
0
        public int UpdateReceiveVoucher(ReceiveVoucher vUpdate)
        {
            int    rowAffected = 0;
            string idVoucher   = vUpdate.ID;

            ReceiveVoucher voucher = db.ReceiveVouchers.Find(idVoucher);

            if (voucher != null)
            {
                //voucher.Supplier = null;
                voucher.IDSupplier = vUpdate.IDSupplier;
                voucher.Date       = vUpdate.Date;

                //remove old info
                foreach (var oInfo in voucher.ReceiveVoucherInfoes.ToList())
                {
                    voucher.ReceiveVoucherInfoes.Remove(oInfo);
                }

                //add new info
                foreach (var nInfo in vUpdate.ReceiveVoucherInfoes)
                {
                    voucher.ReceiveVoucherInfoes.Add(nInfo);
                }

                rowAffected = db.SaveChanges();
                db.Entry(voucher).Reference(v => v.Supplier).Load();
            }

            return(rowAffected);
        }
Beispiel #2
0
        public FormUpdateReceiveVoucher(ReceiveVoucher voucher)
        {
            InitializeComponent();

            reVoucherSelected = voucher;

            reVoucherInfos = ReceiveVoucherInfoDAO.Instance.GetListDTO(reVoucherSelected.ID);

            supplierInVoucher = reVoucherSelected.Supplier;

            listProductOutOfReceiveVoucher = ProductDAO.Instance.GetListProductOutOfReceiveVoucher(reVoucherSelected.ID);
        }
Beispiel #3
0
        private void buttonOK_Click(object sender, EventArgs e)
        {
            var result = MessageBox.Show("Xác nhận thay đổi?", "Xác nhận", MessageBoxButtons.OKCancel);

            if (result == DialogResult.OK)
            {
                int rowAffected = 0;
                //step1: update receive voucher
                ReceiveVoucher voucherUpdate = new ReceiveVoucher();
                voucherUpdate.ID         = reVoucherSelected.ID;
                voucherUpdate.IDSupplier = (comboBoxIDSupplier.SelectedItem as Supplier).ID;
                voucherUpdate.Date       = dateTimePickerInputDate.Value;

                //ReceiveVoucherDAO.Instance.UpdateReceiveVoucher(voucherUpdate);

                //step2: update receive voucher infomation
                //step2.1: remove all product have quantityOutput = 0( not been sold)
                //step2.2: if product in dtgview has been sold, the only thing we can do is update it
                //step2.3: add product in dtgrview never be sold, add it to receive voucher

                //add new product info have quantity output = 0
                //or update if it's quantity output > 0

                for (int i = 0; i < dtgvProduct.RowCount; i++)
                {
                    ReceiveVoucherInfoDTO infoDTO = dtgvProduct.Rows[i].DataBoundItem as ReceiveVoucherInfoDTO;

                    ReceiveVoucherInfo voucherInfo = new ReceiveVoucherInfo();
                    voucherInfo.IDProduct        = infoDTO.IDProduct;
                    voucherInfo.IDReceiveVoucher = infoDTO.IDReceiveVoucher;
                    voucherInfo.QuantityInput    = infoDTO.QuantityInput;
                    voucherInfo.PriceInput       = infoDTO.PriceInput;
                    voucherInfo.QuantityOutput   = infoDTO.QuantityOutput;
                    voucherInfo.Note             = infoDTO.Note;

                    voucherUpdate.ReceiveVoucherInfoes.Add(voucherInfo);
                }

                rowAffected = ReceiveVoucherDAO.Instance.UpdateReceiveVoucher(voucherUpdate);
                if (rowAffected > 0)
                {
                    MessageBox.Show("Cập nhật thành công");
                }
                else
                {
                    MessageBox.Show("Không thành công");
                }
                this.Close();
            }
        }
        public ActionResult ImportProductSingle(ReceiveVoucher receiveVoucher, ReceiveVoucherDetail receiveVoucherDetail)
        {
            ViewBag.ProductID         = new SelectList(db.Suppliers.OrderBy(n => n.Name), "ID", "Name");
            receiveVoucher.IsDeleted  = false;
            receiveVoucher.UpdateDate = DateTime.Now;
            db.ReceiveVouchers.Add(receiveVoucher);
            db.SaveChanges();
            receiveVoucherDetail.IDDetail = receiveVoucher.ID;
            Product product = db.Products.FirstOrDefault(n => n.ID == receiveVoucherDetail.ProductID);

            product.Amount += receiveVoucherDetail.Amount;
            db.ReceiveVoucherDetails.Add(receiveVoucherDetail);
            db.SaveChanges();
            return(RedirectToAction("ProductOutOfStock"));
        }
Beispiel #5
0
        public int InserReceivetVoucher(string id, DateTime date, string IDSupplier)
        {
            int rowAffected = 0;

            ReceiveVoucher v = new ReceiveVoucher();

            v.ID         = id;
            v.Date       = date;
            v.IDSupplier = IDSupplier;

            db.ReceiveVouchers.Add(v);
            rowAffected = db.SaveChanges();

            return(rowAffected);
        }
Beispiel #6
0
        public bool HaveTheProductBeenSold(string idVoucher)
        {
            bool check = false;

            ReceiveVoucher voucher = GetByID(idVoucher);

            foreach (var info in voucher.ReceiveVoucherInfoes)
            {
                if (info.QuantityOutput > 0)
                {
                    check = true;
                }
                break;
            }

            return(check);
        }
Beispiel #7
0
        public int InserReceivetVoucher(string idVoucher, DateTime date, string IDSupplier, List <ReceiveVoucherInfo> voucherInfos)
        {
            int rowAffected = 0;

            ReceiveVoucher voucher = new ReceiveVoucher();

            voucher.ID         = idVoucher;
            voucher.Date       = date;
            voucher.IDSupplier = IDSupplier;
            foreach (var info in voucherInfos)
            {
                voucher.ReceiveVoucherInfoes.Add(info);
            }

            db.ReceiveVouchers.Add(voucher);
            rowAffected = db.SaveChanges();

            db.Entry(voucher).Reference(v => v.Supplier).Load();

            return(rowAffected);
        }
        public ActionResult ImportGoods(ReceiveVoucher receiveVoucher, IEnumerable <ReceiveVoucherDetail> lstReceiveVoucherDetails)
        {
            ViewBag.SupplierID  = db.Suppliers;
            ViewBag.ListProduct = db.Products;

            receiveVoucher.IsDeleted = false;
            db.ReceiveVouchers.Add(receiveVoucher);
            db.SaveChanges();
            Product product;

            foreach (var item in lstReceiveVoucherDetails)
            {
                //update quantity product
                product         = db.Products.Single(n => n.ID == item.ProductID);
                product.Amount += item.Amount;

                item.ReceiveVoucherID = receiveVoucher.ID;
            }
            db.ReceiveVoucherDetails.AddRange(lstReceiveVoucherDetails);
            db.SaveChanges();
            return(View());
        }
Beispiel #9
0
        public int RemoveReceiveVoucher(string idVoucher)
        {
            int rowAffected = 0;

            //we check HaveTheProductBeenSold before remove

            if (!HaveTheProductBeenSold(idVoucher))
            {
                ReceiveVoucher voucher = GetByID(idVoucher);
                if (voucher != null)
                {
                    foreach (var info in voucher.ReceiveVoucherInfoes.ToList())
                    {
                        voucher.ReceiveVoucherInfoes.Remove(info);
                    }

                    db.ReceiveVouchers.Remove(voucher);

                    rowAffected = db.SaveChanges();
                }
            }
            return(rowAffected);
        }
Beispiel #10
0
        private void buttonDelete_Click(object sender, EventArgs e)
        {
            Button categoryButtonTagged = buttonDelete.Tag as Button;

            if (categoryButtonTagged == buttonCategoryProduct)
            {
                ProductDTO productSelected = rowSelectedObj as ProductDTO;
                if (productSelected != null)
                {
                    FormDeleteProduct formDelete = new FormDeleteProduct();
                    formDelete.productSelected = productSelected;
                    formDelete.ShowDialog();

                    LoadDtgvProduct();
                }
                else
                {
                    MessageBox.Show("Bạn chưa chọn sản phẩm");
                }
            }

            if (categoryButtonTagged == buttonCategorySupplier)
            {
                Supplier supplierSelected = rowSelectedObj as Supplier;
                if (supplierSelected != null)
                {
                    FormDeleteSupplier fDel = new FormDeleteSupplier();
                    fDel.supplierSelectedFromDtgv = supplierSelected;
                    fDel.ShowDialog();

                    LoadDtgvSupplier();
                }
                else
                {
                    MessageBox.Show("Bạn chưa chọn nhà cung cấp");
                }
            }

            if (categoryButtonTagged == buttonCategoryCustomer)
            {
                Customer customerSelected = rowSelectedObj as Customer;
                if (customerSelected != null)
                {
                    FormDeleteCustomer fDel = new FormDeleteCustomer();
                    fDel.customerSelectedFromListView = customerSelected;
                    fDel.ShowDialog();

                    LoadDtgvCustomer();
                }
                else
                {
                    MessageBox.Show("Bạn chưa chọn khách hàng");
                }
            }

            if (categoryButtonTagged == buttonCategoryReceiveVoucher)
            {
                ReceiveVoucherDTO voucherInfoSelected = rowSelectedObj as ReceiveVoucherDTO;
                if (voucherInfoSelected != null)
                {
                    if (ReceiveVoucherDAO.Instance.HaveTheProductBeenSold(voucherInfoSelected.ReceiveVoucherID))
                    {
                        MessageBox.Show("Phiếu nhập hàng này đã có sản phẩm được xuất kho. Bạn không thể xóa");
                    }
                    else
                    {
                        ReceiveVoucher voucher = ReceiveVoucherDAO.Instance.GetByID(voucherInfoSelected.ReceiveVoucherID);

                        FormDeleteReceiveVoucher f = new FormDeleteReceiveVoucher();
                        f.voucherSelected = voucher;
                        this.Hide();
                        f.ShowDialog();

                        LoadDtgvReceiveVoucher();

                        this.Show();
                    }
                }
                else
                {
                    MessageBox.Show("Hãy chọn dòng thông tin bạn muốn xóa");
                }
            }

            if (categoryButtonTagged == buttonCategoryDeliveryVoucher)
            {
                var voucher = rowSelectedObj as DeliveryVoucherView;
                if (voucher != null)
                {
                    string deliveryVoucherID = voucher.VoucherID.ToString();

                    FormDeleteDeliveryVoucher f = new FormDeleteDeliveryVoucher();
                    f.DeliveryVoucherID = deliveryVoucherID;
                    f.ShowDialog();

                    LoadDtgvDeliveryVoucher();
                }
                else
                {
                    MessageBox.Show("Hãy chọn phiếu xuất bạn muốn xóa");
                }
            }
        }
Beispiel #11
0
        private void buttonUpdate_Click(object sender, EventArgs e)
        {
            Button categoryButtonClicked = buttonUpdate.Tag as Button;

            if (categoryButtonClicked == buttonCategoryProduct)
            {
                FormUpdateProduct formUpdate      = new FormUpdateProduct();
                ProductDTO        selectedProduct = rowSelectedObj as ProductDTO;
                if (selectedProduct != null)
                {
                    formUpdate.selectedProductFromDtgv = selectedProduct;
                    formUpdate.ShowDialog();

                    //reload dtgv
                    LoadDtgvProduct();
                }
                else
                {
                    MessageBox.Show("Bạn chưa chọn sản phẩm");
                }
            }

            if (categoryButtonClicked == buttonCategorySupplier)
            {
                Supplier supplierSelected = rowSelectedObj as Supplier;
                if (supplierSelected != null)
                {
                    FormUpdateSupplier fUpSupp = new FormUpdateSupplier();
                    fUpSupp.supplierSelectedFromDtgv = supplierSelected;
                    fUpSupp.ShowDialog();

                    LoadDtgvSupplier();
                }
                else
                {
                    MessageBox.Show("Hãy click vào nhà cung cấp bạn muốn");
                }
            }

            if (categoryButtonClicked == buttonCategoryCustomer)
            {
                Customer customerSelected = rowSelectedObj as Customer;
                if (customerSelected != null)
                {
                    FormUpdateCustomer f = new FormUpdateCustomer();
                    f.customerSelectedFromListView = customerSelected;
                    f.ShowDialog();

                    LoadDtgvCustomer();
                }
                else
                {
                    MessageBox.Show("Hãy click vào khách hàng bạn muốn");
                }
            }

            if (categoryButtonClicked == buttonCategoryReceiveVoucher)
            {
                ReceiveVoucherDTO voucherInfoSelected = rowSelectedObj as ReceiveVoucherDTO;
                if (voucherInfoSelected != null)
                {
                    string idVoucher = voucherInfoSelected.ReceiveVoucherID;

                    ReceiveVoucher voucher = ReceiveVoucherDAO.Instance.GetByID(idVoucher);

                    FormUpdateReceiveVoucher fUpdate = new FormUpdateReceiveVoucher(voucher);
                    this.Hide();
                    fUpdate.ShowDialog();
                    this.Show();

                    LoadDtgvReceiveVoucher();
                }
                else
                {
                    MessageBox.Show("Hãy click  vào hóa đơn bạn muốn sửa.");
                }
            }

            if (categoryButtonClicked == buttonCategoryDeliveryVoucher)
            {
            }
        }