예제 #1
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            Button oBtn = sender as Button;

            if (oBtn != null && formloaded)
            {
                var ErrorM = core.returnMessage(MandSelected, true, MandatoryFields);

                if (!string.IsNullOrEmpty(ErrorM))
                {
                    MessageBox.Show(ErrorM);
                    return;
                }


                //--------------------------------------------------------------------------------
                // Now update the order details
                //--------------------------------------------------------------------------
                TLSPN_YarnOrder yarnorder = new TLSPN_YarnOrder();
                using (var context = new TTI2Entities())
                {
                    if (_EditMode)
                    {
                        var selected = (TLSPN_YarnOrder)cmbPrevious.SelectedItem;
                        if (selected != null)
                        {
                            yarnorder = context.TLSPN_YarnOrder.Find(selected.YarnO_Pk);
                        }
                    }

                    var Merge = (TLSPN_CottonMerge)cmbMerge.SelectedItem;
                    if (Merge != null)
                    {
                        yarnorder.YarnO_MergeContract_FK = (int)cmbMerge.SelectedValue;
                    }

                    var CottonOrigin = context.TLADM_CottonOrigin.Where(x => x.CottonOrigin_Description == txtCottonOrigin.Text).FirstOrDefault();
                    if (CottonOrigin != null)
                    {
                        yarnorder.Yarno_CottonOrigin_FK = CottonOrigin.CottonOrigin_Pk;
                    }

                    yarnorder.YarnO_Date    = dtpYarnOrderDate.Value;
                    yarnorder.YarnO_DelDate = dtpYarnDeliveryDate.Value;

                    var MachineNo = (TLADM_MachineDefinitions)cmbMachineNo.SelectedItem;
                    if (MachineNo != null)
                    {
                        yarnorder.Yarno_MachNo_FK = MachineNo.MD_Pk;
                    }

                    if (!_EditMode)
                    {
                        yarnorder.YarnO_OrderNumber = Convert.ToInt32(txtYarnOrder.Text);
                    }

                    yarnorder.Yarno_OrderWeight = Convert.ToInt32(txtOrderWeight.Text);
                    yarnorder.Yarno_Packing     = rtbPacking.Text;

                    var YarnType = (TLADM_Yarn)cmbYarnType.SelectedItem;
                    if (YarnType != null)
                    {
                        yarnorder.Yarno_YarnType_FK = YarnType.YA_Id;
                    }

                    var deptDetail = context.TLADM_Departments.Where(x => x.Dep_ShortCode == "SPIN").FirstOrDefault();
                    if (deptDetail != null)
                    {
                        var tranType = context.TLADM_TranactionType.Where(x => x.TrxT_Department_FK == deptDetail.Dep_Id && x.TrxT_Number == 600).FirstOrDefault();
                        if (tranType != null)
                        {
                            yarnorder.YarnO_TransactionType_FK = tranType.TrxT_Pk;
                        }
                    }

                    if (!_EditMode)
                    {
                        //Dont forget to update the last number used
                        //-----------------------------------------------------------------------------------
                        var LastNumberUsed = context.TLADM_LastNumberUsed.Find(1);
                        if (LastNumberUsed != null)
                        {
                            LastNumberUsed.col6 += 1;
                        }

                        context.TLSPN_YarnOrder.Add(yarnorder);
                    }
                    try
                    {
                        context.SaveChanges();


                        SetUp();
                        MessageBox.Show("Records successfully updated to database");
                        if (_EditMode)
                        {
                            DialogResult res = MessageBox.Show("Would you like to reprint the report?", "Info", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                            if (res == DialogResult.Cancel)
                            {
                                return;
                            }
                        }
                        frmViewReport vRep = new frmViewReport(9, yarnorder.YarnO_OrderNumber);
                        int           h    = Screen.PrimaryScreen.WorkingArea.Height;
                        int           w    = Screen.PrimaryScreen.WorkingArea.Width;
                        vRep.ClientSize = new Size(w, h);
                        vRep.ShowDialog(this);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
            }
        }
예제 #2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            TLSPN_YarnOrder       YO     = null;
            TLKNI_YarnTransaction YO3rdP = null;

            Button oBtn = sender as Button;

            if (oBtn != null && FormLoaded)
            {
                var KO = (TLKNI_Order)cmboKnitOrders.SelectedItem;

                using (var context = new TTI2Entities())
                {
                    if (rbOwnYarn.Checked)
                    {
                        YO = (TLSPN_YarnOrder)cmboYarnOrders.SelectedItem;
                    }
                    else
                    {
                        YO3rdP = (TLKNI_YarnTransaction)cmboYarnOrders.SelectedItem;
                    }

                    foreach (DataGridViewRow Row in dataGridView1.Rows)
                    {
                        if ((bool)Row.Cells[1].Value == false)
                        {
                            continue;
                        }

                        bool lSplit = false;

                        TLKNI_YarnOrderPallets yarnStat = new TLKNI_YarnOrderPallets();
                        var _Key = (int)Row.Cells[0].Value;
                        yarnStat = context.TLKNI_YarnOrderPallets.Find(_Key);

                        if ((decimal)Row.Cells[4].Value > (decimal)Row.Cells[6].Value)
                        {
                            // We now need to start recording as and when a pallet is across orders
                            //---------------------------------------------------------------------
                            DialogResult res = MessageBox.Show("Please confirm split transaction", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                            if (res == DialogResult.Yes)
                            {
                                TLKNI_YarnOrderPallets YarnSplit = new TLKNI_YarnOrderPallets();
                                YarnSplit.TLKNIOP_CommisionCust   = yarnStat.TLKNIOP_CommisionCust;
                                YarnSplit.TLKNIOP_Cones           = yarnStat.TLKNIOP_Cones;
                                YarnSplit.TLKNIOP_DatePacked      = yarnStat.TLKNIOP_DatePacked;
                                YarnSplit.TLKNIOP_Grade           = yarnStat.TLKNIOP_Grade;
                                YarnSplit.TLKNIOP_GrossWeight     = yarnStat.TLKNIOP_GrossWeight;
                                YarnSplit.TLKNIOP_HeaderRecord_FK = yarnStat.TLKNIOP_HeaderRecord_FK;
                                YarnSplit.TLKNIOP_NettWeight      = yarnStat.TLKNIOP_NettWeight;
                                YarnSplit.TLKNIOP_SplitPallet     = true;
                                YarnSplit.TLKNIOP_ReservedBy      = KO.KnitO_Pk;
                                YarnSplit.TLKNIOP_ReservedDate    = dtpTransactionDate.Value;
                                YarnSplit.TLKNIOP_OrderConfirmed  = yarnStat.TLKNIOP_OrderConfirmed;
                                YarnSplit.TLKNIOP_OwnYarn         = yarnStat.TLKNIOP_OwnYarn;
                                YarnSplit.TLKNIOP_PalletNo        = yarnStat.TLKNIOP_PalletNo;
                                YarnSplit.TLKNIOP_Store_FK        = yarnStat.TLKNIOP_Store_FK;
                                YarnSplit.TLKNIOP_TareWeight      = yarnStat.TLKNIOP_TareWeight;
                                YarnSplit.TLKNIOP_YarnOrder_FK    = yarnStat.TLKNIOP_YarnOrder_FK;
                                YarnSplit.TLKNIOP_YarnType_FK     = yarnStat.TLKNIOP_YarnType_FK;

                                YarnSplit.TLKNIOP_NettWeight         = (decimal)Row.Cells[6].Value;
                                YarnSplit.TLKNIOP_ConesReserved      = (int)Row.Cells[5].Value;
                                YarnSplit.TLKNIOP_NettWeightReserved = (decimal)Row.Cells[6].Value;
                                YarnSplit.TLKNIOP_Cones = (int)Row.Cells[5].Value;

                                context.TLKNI_YarnOrderPallets.Add(YarnSplit);
                                lSplit = true;
                            }
                            else
                            {
                                return;
                            }
                        }

                        yarnStat.TLKNIOP_ConesReserved      += (int)Row.Cells[5].Value;
                        yarnStat.TLKNIOP_NettWeightReserved += (decimal)Row.Cells[6].Value;

                        if (!lSplit)
                        {
                            yarnStat.TLKNIOP_ReservedBy   = KO.KnitO_Pk;
                            yarnStat.TLKNIOP_ReservedDate = dtpTransactionDate.Value;
                        }
                    }

                    // Note for the file
                    //-----------------------------------
                    // The Yarn Order Number is either TTL own Yarn or that received
                    // from a Third Party
                    //----------------------------------------------------------------
                    var KnitOrder = context.TLKNI_Order.Find(KO.KnitO_Pk);
                    if (KnitOrder != null)
                    {
                        KnitOrder.KnitO_YarnAssigned = true;

                        if (rbOwnYarn.Checked)
                        {
                            KnitOrder.KnitO_YarnO_FK = YO.YarnO_Pk;
                        }
                        else
                        {
                            KnitOrder.KnitO_YarnO_FK = YO3rdP.KnitY_Pk;
                        }
                    }

                    try
                    {
                        context.SaveChanges();
                        MessageBox.Show("Data saved to the database successfully");
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }

                dataGridView1.Rows.Clear();

                FormLoaded = false;
                cmboKnitOrders.SelectedItem = -1;
                cmboYarnOrders.SelectedItem = -1;
                FormLoaded = true;

                btnSave.Enabled = false;
            }
        }