private void SaveOrder()
        {
            var Vaccines = new Dictionary <Int32, Double>();

            foreach (DataGridViewRow vRow in this.dgvVaccine.Rows)
            {
                var StockID = Convert.ToInt32(vRow.Cells["colVaccineStockID"].Value);
                var Unit    = Convert.ToDouble(vRow.Cells["colVaccineUnit"].Value);
                if (Vaccines.ContainsKey(StockID))
                {
                    Vaccines[StockID] += Unit;
                }
                else
                {
                    Vaccines.Add(StockID, Unit);
                }
            }

            var Msg = new StringBuilder();

            foreach (KeyValuePair <Int32, Double> Vaccine in Vaccines)
            {
                Double?CurrentUnit = this.stockTableAdapter.QueryCurrentUnit(Vaccine.Key);
                if (CurrentUnit.Value < Vaccine.Value)
                {
                    Msg.Append(String.Format("{0} จำนวนปัจจุบัน:{1} จำนวนที่ต้องการ:{2}\n", stockTableAdapter.GetDataByPK(Vaccine.Key)[0].Name, CurrentUnit, Vaccine.Value));
                }
            }

            if (Msg.Length != 0)
            {
                MessageBox.Show(String.Format("พัสดุไม่พอ \n{0}\n กรุณาลองใหม่อีกครั้ง", Msg), "ข้อผิดผลาด", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }


            if (CustomerPID == null)
            {
                CustomerPID = (String)this.customerTableAdapter.InsertQuery(
                    this.tbxCustomerPID.Text,
                    this.Prename,
                    this.tbxfName.Text,
                    this.tbxlName.Text,
                    this.Company,
                    this.tbxAddress.Text,
                    this.tbxStreed.Text,
                    this.tbxPhone.Text,
                    this.tbxMobile.Text,
                    this.City,
                    this.District,
                    this.Province,
                    this.PostCode);

                if (CustomerPID != null)
                {
                    UserLogTableAdapter logTableAdapter = new UserLogTableAdapter();
                    logTableAdapter.Insert(TypeUtil.Customer, CustomerPID, MainForm.User.UserID, 0, DateTime.Now);
                }
                else
                {
                    lblFinishHeader.Text      = "ข้อผิดผลาด";
                    lblFinishDescription.Text = "พบข้อผิดผลาดในการบันทึกข้อมูลลูกค้า กรุณาลองใหม่อีกครั้ง";
                    Index = 3;
                    initialWizard();
                    return;
                }
            }

            var PaymentStatus = Convert.ToByte(cbxPaymentStatus.SelectedValue);
            var PaymentType   = Convert.ToByte(cbxPaymentType.SelectedValue);


            int OrderInID = (int)this.orderInTableAdapter.InsertQuery(
                this.OrderBy,
                this.CustomerPID,
                this.OrderBy,
                this.dtpOrderDate.Value,
                null,
                this.TransportType,
                Convert.ToDouble(tbxTransportCost.Text),
                this.tbxTransportNO.Text,
                this.tbxTransportIssueBy.Text,
                Convert.ToDouble(this.tbxUnit.Text),
                Convert.ToDouble(this.tbxAmountPerUnit.Text),
                Convert.ToDouble(this.tbxAmount.Text),
                PaymentStatus,
                PaymentStatus == 0 ? new Byte?() : PaymentType,
                PaymentStatus == 0 ? new Int32?() : Convert.ToByte(this.cbxPaymentBy.SelectedValue),
                PaymentStatus == 0 ? new DateTime?() : dtpPaymentDate.Value,
                cbxBankNO.SelectedValue == null ? new Int32?() : Convert.ToInt32(cbxBankNO.SelectedValue));



            var stockRemoveListTableAdapter = new StockRemoveListTableAdapter();
            var stockRemoveTableAdapter     = new StockRemoveTableAdapter();
            var vaccineTableAdapter         = new VaccineTableAdapter();

            if (OrderInID > 0)
            {
                MessageBox.Show(OrderInID.ToString());
                var log = new UserLogTableAdapter();
                log.Insert(TypeUtil.OrderIn, OrderInID.ToString(), MainForm.User.UserID, 0, DateTime.Now);


                var CowTableAdapter = new CowTableAdapter();
                var CowCount        = 0;
                foreach (DataGridViewRow row in dgvCow.Rows)
                {
                    String CowNO  = String.Format("{0:000}-{1:000}", OrderInID, Convert.ToInt32(row.Cells["colCowID"].Value));
                    Double Amount = Convert.ToDouble(row.Cells["colCowAmount"].Value);

                    CowNO = (String)CowTableAdapter.InsertQuery(
                        CowNO,
                        Convert.ToInt32(row.Cells["colCowCorral"].Value),
                        Convert.ToInt32(row.Cells["colCowGene"].Value),
                        Convert.ToByte(row.Cells["colCowSex"].Value),
                        String.Empty,
                        OrderInID,
                        Amount,
                        new Int32?(),
                        new Double?());


                    if (CowNO != null)
                    {
                        log.Insert(TypeUtil.Cow, CowNO, MainForm.User.UserID, TypeUtil.EVENT_BUY, DateTime.Now);


                        this.corralTableAdapter.UpdateAddCurrent(1, Convert.ToInt32(row.Cells["colCowCorral"].Value));
                        foreach (DataGridViewRow vRow in this.dgvVaccine.Rows)
                        {
                            int VaccineID = (int)vaccineTableAdapter.InsertQuery((Int32)vRow.Cells["colVaccineByID"].Value, CowNO, (Int32)vRow.Cells["colVaccineStockID"].Value, (Double)vRow.Cells["colVaccineUnit"].Value, (DateTime)vRow.Cells["colVaccineDate"].Value);
                            if (VaccineID > 0)
                            {
                                log.Insert(TypeUtil.Vaccine, VaccineID.ToString(), MainForm.User.UserID, 0, DateTime.Now);

                                this.stockTableAdapter.UpdateRemoveUnit((Double)vRow.Cells["colVaccineUnit"].Value, (Int32)vRow.Cells["colVaccineStockID"].Value);
                            }
                        }
                        CowCount++;
                    }
                }



                var StockRemoveID = 0;
                if (Vaccines.Count > 0)
                {
                    StockRemoveID = (int)stockRemoveTableAdapter.InsertQuery(
                        OrderBy,
                        this.dtpOrderDate.Value,
                        1,
                        OrderInID.ToString());//1 เบิกการฉีดวัคซีน
                    log.Insert(TypeUtil.StockRemove, StockRemoveID.ToString(), MainForm.User.UserID, 0, DateTime.Now);
                }

                foreach (KeyValuePair <Int32, Double> Vaccine in Vaccines)
                {
                    stockRemoveListTableAdapter.Insert(StockRemoveID, Vaccine.Key, Vaccine.Value, null);
                }

                lblFinishHeader.Text      = "เสร็จสมบูรณ์";
                lblFinishDescription.Text = "บันทึกการซื้อเสร็จสมบูรณ์";
            }
            else
            {
                lblFinishHeader.Text      = "ข้อผิดผลาด";
                lblFinishDescription.Text = "พบข้อผิดผลาดในการบันทึกข้อมูลการซื้อ";
                Index = 4;
                initialWizard();
                return;
            }
        }
Example #2
0
        private void SaveOrder()
        {
            int result = 0;

            if (CustomerPID == null)
            {
                CustomerPID = (String)customerTableAdapter.InsertQuery(
                    tbxCustomerPID.Text,
                    Prename,
                    tbxfName.Text,
                    tbxlName.Text,
                    Company,
                    tbxAddress.Text,
                    tbxStreed.Text,
                    tbxPhone.Text,
                    tbxMobile.Text,
                    City,
                    District,
                    Province,
                    PostCode);

                if (CustomerPID != null)
                {
                    result = 1;
                    UserLogTableAdapter logTableAdapter = new UserLogTableAdapter();
                    logTableAdapter.Insert(TypeUtil.Customer, CustomerPID, MainForm.User.UserID, 0, DateTime.Now);
                }
                else
                {
                    lblFinishHeader.Text      = "ข้อผิดผลาด";
                    lblFinishDescription.Text = "พบข้อผิดผลาดในการบันทึกข้อมูลลูกค้า กรุณาลองใหม่อีกครั้ง";
                    Index = 3;
                    initialWizard();
                    return;
                }
            }

            var PaymentStatus = Convert.ToByte(cbxPaymentStatus.SelectedValue);
            var PaymentType   = Convert.ToByte(cbxPaymentType.SelectedValue);

            int OrderOutID = (int)orderOutTableAdapter.InsertQuery(
                this.OrderType,
                this.CustomerPID,
                this.OrderBy,
                this.dtpOrderDate.Value,
                this.tbxNote.Text,
                this.TransportType,
                Convert.ToDouble(this.tbxTransportCost.Text),
                this.tbxTransportNO.Text,
                this.tbxTransportIssueBy.Text,
                Convert.ToDouble(this.tbxUnit.Text),
                Convert.ToDouble(this.tbxAmountPerUnit.Text),
                Convert.ToDouble(this.tbxAmount.Text),
                PaymentStatus,
                PaymentStatus == 0 ? new Byte?() : PaymentType,
                PaymentStatus == 0 ? new Int32?() : Convert.ToByte(this.cbxPaymentBy.SelectedValue),
                PaymentStatus == 0 ? new DateTime?() : this.dtpPaymentDate.Value);


            if (OrderOutID > 0)
            {
                var log = new UserLogTableAdapter();
                log.Insert(TypeUtil.OrderOut, OrderOutID.ToString(), MainForm.User.UserID, 0, DateTime.Now);

                var cowTableAdapter = new CowTableAdapter();
                var OrderType       = Convert.ToByte(cbxOrderType.SelectedValue);
                foreach (DataGridViewRow row in dgvCow.Rows)
                {
                    Double Amount = Convert.ToDouble(row.Cells["colCowOrderOutAmount"].Value);
                    result = cowTableAdapter.UpdateCowOrderOut(
                        OrderOutID,
                        Amount,
                        row.Cells["colCowNO"].Value.ToString());

                    if (result == 1)
                    {
                        log.Insert(TypeUtil.Cow, row.Cells["colCowNO"].Value.ToString(), MainForm.User.UserID, TypeUtil.EVENT_SELL, DateTime.Now);


                        corralTableAdapter.UpdateRemoveCurrent(1, Convert.ToInt32(row.Cells["colCowCorral"].Value));

                        lblFinishHeader.Text      = "เสร็จสมบูรณ์";
                        lblFinishDescription.Text = "บันทึกการซื้อเสร็จสมบูรณ์";
                    }
                    else
                    {
                        lblFinishHeader.Text      = "ข้อผิดผลาด";
                        lblFinishDescription.Text = "พบข้อผิดผลาดในการบันทึกข้อมูลการซื้อ";
                    }
                }
            }
            else
            {
                lblFinishHeader.Text      = "ข้อผิดผลาด";
                lblFinishDescription.Text = "พบข้อผิดผลาดในการบันทึกข้อมูลการซื้อ";
                Index = 4;
                initialWizard();
                return;
            }
        }