Пример #1
0
 public void Insert(DeliveryVoucherInfo info)
 {
     if (info != null)
     {
         db.DeliveryVoucherInfoes.Add(info);
         db.SaveChanges();
         db.Entry(info).Reference(i => i.DeliveryVoucher).Load();
     }
 }
Пример #2
0
        public int Delete(DeliveryVoucherInfo _info)
        {
            int rowAffected          = 0;
            DeliveryVoucherInfo info = db.DeliveryVoucherInfoes.Find(_info.IDProduct, _info.IDDeliveryVoucher, _info.IDReceiveVoucher);

            if (info != null)
            {
                db.DeliveryVoucherInfoes.Remove(info);
                rowAffected = db.SaveChanges();
            }

            return(rowAffected);
        }
Пример #3
0
        private void buttonOK_Click(object sender, EventArgs e)
        {
            DialogResult action = MessageBox.Show("Bạn đồng ý thêm sản phẩm", "Xác nhận", MessageBoxButtons.OKCancel);

            if (action == DialogResult.OK)
            {
                if (dtgvDeliveryInfo.Rows.Count > 0)
                {
                    string   idDeliveryVoucher, idCustomer;
                    DateTime date = dateTimePickerDeliveryDate.Value;
                    idDeliveryVoucher = comboBoxIDDeliveryVoucher.Text;
                    idCustomer        = sourceCustomer[comboBoxIDCustomer.SelectedIndex].ID;
                    List <DeliveryVoucherInfo> voucherInfos = new List <DeliveryVoucherInfo>();

                    if (CheckIDValid(idDeliveryVoucher))
                    {
                        //DeliveryVoucherDAO.Instance.Insert(idDeliveryVoucher,idCustomer,date);

                        //insert delivery voucher info, sell product one by one
                        foreach (var dtgvRowData in sourceProductDtgv)
                        {
                            int quantity = (int)dtgvRowData.DeliveryQuantity;

                            List <ReceiveVoucherInfo> thisProductInManyReiceveVoucher = ReceiveVoucherInfoDAO.Instance.GetListProductCanSellByID(dtgvRowData.ProductID)
                                                                                        .OrderBy(i => i.ReceiveVoucher.Date).ToList();

                            foreach (var inAVoucher in thisProductInManyReiceveVoucher)
                            {
                                int inventoryNum = inAVoucher.QuantityInput.ToInt() - inAVoucher.QuantityOutput.ToInt();

                                if (inventoryNum < quantity)
                                {
                                    //update delivery voucher infomation
                                    DeliveryVoucherInfo deliVoucherInfo = new DeliveryVoucherInfo();
                                    deliVoucherInfo.IDProduct         = inAVoucher.IDProduct;
                                    deliVoucherInfo.IDDeliveryVoucher = idDeliveryVoucher;
                                    deliVoucherInfo.IDReceiveVoucher  = inAVoucher.IDReceiveVoucher;
                                    deliVoucherInfo.PriceOutput       = (int)dtgvRowData.DeliveryPrice;
                                    deliVoucherInfo.Quantity          = inventoryNum;

                                    //DeliveryVoucherInfoDAO.Instance.Insert(deliVoucherInfo);
                                    voucherInfos.Add(deliVoucherInfo);

                                    quantity = quantity - inventoryNum;
                                }
                                else if (inventoryNum >= quantity)
                                {
                                    //update delivery voucher infomation
                                    DeliveryVoucherInfo deliVoucherInfo = new DeliveryVoucherInfo();
                                    deliVoucherInfo.IDProduct         = inAVoucher.IDProduct;
                                    deliVoucherInfo.IDDeliveryVoucher = idDeliveryVoucher;
                                    deliVoucherInfo.IDReceiveVoucher  = inAVoucher.IDReceiveVoucher;
                                    deliVoucherInfo.PriceOutput       = (int)numericUpDownDeliveryPrice.Value;
                                    deliVoucherInfo.Quantity          = quantity;

                                    //DeliveryVoucherInfoDAO.Instance.Insert(deliVoucherInfo);
                                    voucherInfos.Add(deliVoucherInfo);

                                    break;
                                }
                            }
                        }

                        DeliveryVoucherDAO.Instance.Insert(idDeliveryVoucher, idCustomer, date, voucherInfos);

                        MessageBox.Show("Thêm thành công");
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("ID phiếu xuất không hợp lệ");
                    }
                }
                else
                {
                    MessageBox.Show("Bạn chưa chọn sản phẩm muốn xuất kho");
                }
            }
        }