コード例 #1
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            Button oBtn = sender as Button;

            TLKNI_YarnTransactionDetails yarnTD;
            TLSPN_YarnOrderPallets       palletStore;
            TLADM_TranactionType         TranType = null;
            int LastNumberUsed = 0;

            bool success = true;

            if (oBtn != null && formloaded)
            {
                var errorM = core.returnMessage(MandatorySelected, true, MandatoryFields);
                if (!string.IsNullOrEmpty(errorM))
                {
                    MessageBox.Show(errorM);
                    return;
                }

                //-------------------------------------------------------------
                // must write out a header record
                //------------------------------------------------------------------
                if (rbCommission.Checked || rb3rdParty.Checked)
                {
                    var YarnTrx = (TLKNI_YarnTransaction)oCmboTransactions.SelectedItem;
                    if (YarnTrx != null)
                    {
                        using (var context = new TTI2Entities())
                        {
                            var LastNumber = context.TLADM_LastNumberUsed.Find(2);
                            if (LastNumber != null)
                            {
                                LastNumberUsed   = LastNumber.col5;
                                LastNumber.col5 += 1;
                            }

                            var Dept = context.TLADM_Departments.Where(x => x.Dep_ShortCode.Contains("KNIT")).FirstOrDefault();
                            if (Dept != null)
                            {
                                if (rbCommission.Checked)
                                {
                                    TranType = context.TLADM_TranactionType.Where(x => x.TrxT_Department_FK == Dept.Dep_Id && x.TrxT_Number == 600).FirstOrDefault();
                                }
                                else
                                {
                                    TranType = context.TLADM_TranactionType.Where(x => x.TrxT_Department_FK == Dept.Dep_Id && x.TrxT_Number == 500).FirstOrDefault();
                                }
                            }


                            try
                            {
                                context.SaveChanges();

                                var yt = (TLKNI_YarnTransaction)oCmboTransactions.SelectedItem;

                                foreach (DataGridViewRow dr in dataGridView1.Rows)
                                {
                                    if (!(bool)dr.Cells[1].Value)
                                    {
                                        continue;
                                    }

                                    yarnTD = new TLKNI_YarnTransactionDetails();
                                    yarnTD.KnitYD_KnitY_FK = YarnTrx.KnitY_Pk;

                                    var TypeOfYarn  = dr.Cells[3].Value;
                                    var YarnDetails = context.TLADM_Yarn.Where(x => x.YA_Description.Contains(TypeOfYarn.ToString())).FirstOrDefault();
                                    if (YarnDetails != null)
                                    {
                                        yarnTD.KnitYD_YarnType_FK = YarnDetails.YA_Id;
                                    }

                                    yarnTD.KnitYD_PalletNo_FK       = (int)dr.Cells[0].Value;
                                    yarnTD.KnitYD_NoOfCones         = Convert.ToInt32(dr.Cells[7].Value.ToString());
                                    yarnTD.KnitYD_NettWeight        = Convert.ToDecimal(dr.Cells[8].Value.ToString());
                                    yarnTD.KnitYD_TransactionNumber = LastNumberUsed;
                                    yarnTD.KnitYD_TransactionDate   = dateTimePicker1.Value;
                                    yarnTD.KnitYD_ApprovedBy        = txtApprovedBy.Text;
                                    yarnTD.KnitYD_Notes             = rtbNotes.Text;
                                    yarnTD.KnitYD_RTS = false;

                                    if (yt != null)
                                    {
                                        yarnTD.KnitYD_OriginalOrderNo = yt.KnitY_GRNNumber;
                                    }

                                    if (TranType != null)
                                    {
                                        yarnTD.KnitYD_TransactionType = TranType.TrxT_Pk;
                                    }

                                    context.TLKNI_YarnTransactionDetails.Add(yarnTD);

                                    //--------------------------------------------------------------------
                                    // Now we have to keep the Status file uptodate
                                    //--------------------------------------------------------------------------
                                    var _key         = (int)dr.Cells[0].Value;
                                    var palletStorex = context.TLKNI_YarnOrderPallets.Find(_key);
                                    if (palletStorex != null)
                                    {
                                        if ((bool)dr.Cells[9].Value == true)
                                        {
                                            palletStorex.TLKNIOP_Cones       -= yarnTD.KnitYD_NoOfCones;
                                            palletStorex.TLKNIOP_NettWeight  -= yarnTD.KnitYD_NettWeight;
                                            palletStorex.TLKNIOP_GrossWeight -= yarnTD.KnitYD_GrossWeight;
                                        }
                                        else
                                        {
                                            palletStorex.TLKNIOP_Cones       += yarnTD.KnitYD_NoOfCones;
                                            palletStorex.TLKNIOP_NettWeight  += yarnTD.KnitYD_NettWeight;
                                            palletStorex.TLKNIOP_GrossWeight += yarnTD.KnitYD_GrossWeight;
                                        }

                                        if (core.CalculatePalletNett(palletStorex) <= 0.00M)
                                        {
                                            palletStorex.TLKNIOP_PalletAllocated = true;
                                        }
                                        else
                                        {
                                            palletStorex.TLKNIOP_PalletAllocated = false;
                                        }
                                    }
                                }

                                context.SaveChanges();
                                MessageBox.Show("Data successfully stored to database");
                                frmKnitViewRep vRep = new frmKnitViewRep(6, LastNumberUsed);
                                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);
                                success = false;
                            }
                        }

                        if (success)
                        {
                            dataGridView1.Rows.Clear();
                            SetUp();
                        }
                    }
                }
                else
                {
                }
            }
        }
コード例 #2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            Button oBtn = sender as Button;


            TLADM_CustomerFile           CommissionCust;
            TLKNI_YarnTransaction        yarnT;
            TLKNI_YarnTransactionDetails yarnTD;
            //TLKNI_YarnStatus yarnStat;
            TLADM_TranactionType   TranType = null;
            TLKNI_YarnOrderPallets PalletStore;

            int LastNumberUsed = 0;

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

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

                if (dataGridView1.RowCount == 0)
                {
                    MessageBox.Show("Please enter a least one row in the datagrid");
                    return;
                }

                CommissionCust = (TLADM_CustomerFile)cmbCommissionCustomers.SelectedItem;
                using (var context = new TTI2Entities())
                {
                    //-------------------------
                    //  Yarn Header Record
                    //----------------------------------------
                    yarnT = new TLKNI_YarnTransaction();
                    yarnT.KnitY_TransactionDate = dtpDateReceived.Value;
                    yarnT.KnitY_Customer_FK     = CommissionCust.Cust_Pk;
                    yarnT.KnitY_Notes           = rtbComments.Text;
                    yarnT.KnitY_TransactionDoc  = txtCustomerDoc.Text;
                    yarnT.KnitY_ThirdParty      = false;
                    yarnT.KnitY_RTS             = false;

                    var LastNumber = context.TLADM_LastNumberUsed.Find(2);
                    if (LastNumber != null)
                    {
                        LastNumberUsed        = LastNumber.col1;
                        yarnT.KnitY_GRNNumber = LastNumberUsed;
                        LastNumber.col1      += 1;
                    }

                    var Dept = context.TLADM_Departments.Where(x => x.Dep_ShortCode.Contains("KNIT")).FirstOrDefault();
                    if (Dept != null)
                    {
                        TranType = context.TLADM_TranactionType.Where(x => x.TrxT_Department_FK == Dept.Dep_Id && x.TrxT_Number == 100).FirstOrDefault();
                    }


                    try
                    {
                        context.TLKNI_YarnTransaction.Add(yarnT);
                        context.SaveChanges();


                        foreach (DataGridViewRow dr in dataGridView1.Rows)
                        {
                            if (dr.Cells[1].Value == null)
                            {
                                continue;
                            }

                            var PalletNo = (int)dr.Cells[0].Value;

                            PalletStore = new TLKNI_YarnOrderPallets();

                            PalletStore.TLKNIOP_CommisionCust      = true;
                            PalletStore.TLKNIOP_Cones              = (int)dr.Cells[7].Value;
                            PalletStore.TLKNIOP_DatePacked         = dtpDateReceived.Value;
                            PalletStore.TLKNIOP_Grade              = string.Empty;
                            PalletStore.TLKNIOP_GrossWeight        = (decimal)dr.Cells[5].Value;
                            PalletStore.TLKNIOP_TareWeight         = 0.00M;
                            PalletStore.TLKNIOP_NettWeight         = (decimal)dr.Cells[6].Value;
                            PalletStore.TLKNIOP_YarnType_FK        = (int)dr.Cells[1].Value;
                            PalletStore.TLKNIOP_PalletNo           = PalletNo;
                            PalletStore.TLKNIOP_Store_FK           = (int)TranType.TrxT_ToWhse_FK;
                            PalletStore.TLKNIOP_NettWeightReserved = 0.00M;
                            PalletStore.TLKNIOP_HeaderRecord_FK    = yarnT.KnitY_Pk;
                            PalletStore.TLKNIOP_ConesReserved      = 0;

                            context.TLKNI_YarnOrderPallets.Add(PalletStore);
                            context.SaveChanges();

                            yarnTD = new TLKNI_YarnTransactionDetails();
                            yarnTD.KnitYD_KnitY_FK          = yarnT.KnitY_Pk;
                            yarnTD.KnitYD_YarnType_FK       = (int)dr.Cells[1].Value;
                            yarnTD.KnitYD_PalletNo_FK       = PalletStore.TLKNIOP_Pk;
                            yarnTD.KnitYD_GrossWeight       = (decimal)dr.Cells[5].Value;
                            yarnTD.KnitYD_NettWeight        = (decimal)dr.Cells[6].Value;
                            yarnTD.KnitYD_NoOfCones         = (int)dr.Cells[7].Value;
                            yarnTD.KnitYD_TransactionDate   = dtpDateReceived.Value;
                            yarnTD.KnitYD_RTS               = false;
                            yarnTD.KnitYD_TransactionNumber = LastNumberUsed;
                            if (TranType != null)
                            {
                                yarnTD.KnitYD_TransactionType = TranType.TrxT_Pk;
                            }
                            yarnTD.KnitYD_RTS = false;

                            context.TLKNI_YarnTransactionDetails.Add(yarnTD);
                        }

                        context.SaveChanges();

                        dataGridView1.Rows.Clear();
                        MessageBox.Show("Records stored successfully to database");

                        frmKnitViewRep vRep = new frmKnitViewRep(1, yarnT.KnitY_Pk);
                        vRep.ShowDialog(this);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
            }
        }
コード例 #3
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            Button oBtn = sender as Button;

            int RecCount       = 0;
            int LastNumberUsed = 0;

            TLADM_Suppliers CommissionCust;

            TLKNI_YarnTransaction        yarnT;
            TLKNI_YarnTransactionDetails yarnTD;
            TLADM_TranactionType         TranType = null;
            TLKNI_YarnOrderPallets       PalletStore;

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

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

                if (dataGridView1.RowCount == 0)
                {
                    MessageBox.Show("Please enter a least one row in the datagrid");
                    return;
                }

                foreach (DataGridViewRow dr in dataGridView1.Rows)
                {
                    var tst = fieldEntered.Find(x => x.rownumber == dr.Index);
                    if (tst.fieldComplete == null)
                    {
                        continue;
                    }

                    var cnt = tst.fieldComplete.Where(x => x == false).Count();
                    if (cnt == MandatoryRows.Length)
                    {
                        continue;
                    }

                    cnt = tst.fieldComplete.Where(x => x == true).Count();
                    if (cnt != MandatoryRows.Length)
                    {
                        MessageBox.Show("Line " + (1 + dr.Index).ToString() + " Has not been completed correctly");
                        return;
                    }
                }

                CommissionCust = (TLADM_Suppliers)cmbCommissionCustomers.SelectedItem;
                using (var context = new TTI2Entities())
                {
                    yarnT = new TLKNI_YarnTransaction();
                    yarnT.KnitY_TransactionDate = dtpDateReceived.Value;
                    yarnT.KnitY_Customer_FK     = CommissionCust.Sup_Pk;
                    yarnT.KnitY_Notes           = rtbComments.Text;
                    yarnT.KnitY_TransactionDoc  = txtCustomerDoc.Text;
                    yarnT.KnitY_ThirdParty      = true;

                    var LastNumber = context.TLADM_LastNumberUsed.Find(2);
                    if (LastNumber != null)
                    {
                        LastNumberUsed        = LastNumber.col2;
                        yarnT.KnitY_GRNNumber = LastNumberUsed;
                        LastNumber.col2      += 1;
                    }

                    var YarnLastNumber = context.TLADM_LastNumberUsed.Find(1);

                    var Dept = context.TLADM_Departments.Where(x => x.Dep_ShortCode.Contains("KNIT")).FirstOrDefault();
                    if (Dept != null)
                    {
                        TranType = context.TLADM_TranactionType.Where(x => x.TrxT_Department_FK == Dept.Dep_Id && x.TrxT_Number == 200).FirstOrDefault();
                    }


                    try
                    {
                        context.TLKNI_YarnTransaction.Add(yarnT);
                        context.SaveChanges();

                        StringBuilder sb      = null;
                        int           Counter = 0;
                        foreach (DataGridViewRow dr in dataGridView1.Rows)
                        {
                            var tst = fieldEntered.Find(x => x.rownumber == dr.Index);
                            if (tst.fieldComplete == null)
                            {
                                continue;
                            }
                            var cnt = tst.fieldComplete.Where(x => x == false).Count();
                            if (cnt == MandatoryRows.Count())
                            {
                                continue;
                            }

                            var PalletNo = (int)dr.Cells[0].Value;

                            PalletStore = new TLKNI_YarnOrderPallets();

                            PalletStore.TLKNIOP_CommisionCust = false;
                            sb = new StringBuilder();
                            sb.Append(YarnLastNumber.col6.ToString());
                            sb.Append(" - ");
                            sb.Append((++Counter).ToString());
                            PalletStore.TLKNIOP_TLPalletNo         = sb.ToString();
                            PalletStore.TLKNIOP_Cones              = (int)dr.Cells[7].Value;
                            PalletStore.TLKNIOP_DatePacked         = dtpDateReceived.Value;
                            PalletStore.TLKNIOP_Grade              = string.Empty;
                            PalletStore.TLKNIOP_GrossWeight        = (decimal)dr.Cells[5].Value;
                            PalletStore.TLKNIOP_TareWeight         = 0.00M;
                            PalletStore.TLKNIOP_NettWeight         = (decimal)dr.Cells[6].Value;
                            PalletStore.TLKNIOP_YarnType_FK        = (int)dr.Cells[1].Value;
                            PalletStore.TLKNIOP_PalletNo           = PalletNo;
                            PalletStore.TLKNIOP_Store_FK           = (int)TranType.TrxT_ToWhse_FK;
                            PalletStore.TLKNIOP_NettWeightReserved = 0.00M;
                            PalletStore.TLKNIOP_HeaderRecord_FK    = yarnT.KnitY_Pk;
                            PalletStore.TLKNIOP_ConesReserved      = 0;
                            context.TLKNI_YarnOrderPallets.Add(PalletStore);
                            context.SaveChanges();

                            yarnTD = new TLKNI_YarnTransactionDetails();
                            yarnTD.KnitYD_KnitY_FK          = yarnT.KnitY_Pk;
                            yarnTD.KnitYD_YarnType_FK       = (int)dr.Cells[1].Value;
                            yarnTD.KnitYD_PalletNo_FK       = PalletStore.TLKNIOP_Pk;
                            yarnTD.KnitYD_GrossWeight       = (decimal)dr.Cells[5].Value;
                            yarnTD.KnitYD_NettWeight        = (decimal)dr.Cells[6].Value;
                            yarnTD.KnitYD_NoOfCones         = (int)dr.Cells[7].Value;
                            yarnTD.KnitYD_TransactionDate   = dtpDateReceived.Value;
                            yarnTD.KnitYD_RTS               = false;
                            yarnTD.KnitYD_TransactionNumber = LastNumberUsed;

                            if (TranType != null)
                            {
                                yarnTD.KnitYD_TransactionType = TranType.TrxT_Pk;
                            }
                            yarnTD.KnitYD_RTS = false;

                            context.TLKNI_YarnTransactionDetails.Add(yarnTD);

                            RecCount += 1;
                        }

                        YarnLastNumber = context.TLADM_LastNumberUsed.Find(1);
                        if (YarnLastNumber != null)
                        {
                            YarnLastNumber.col6 += 1;
                        }

                        context.SaveChanges();

                        formloaded = false;
                        dataGridView1.Rows.Clear();
                        formloaded = true;

                        MessageBox.Show("Records stored successfully to database");

                        frmKnitViewRep vRep = new frmKnitViewRep(3, yarnT.KnitY_Pk);
                        int            h    = Screen.PrimaryScreen.WorkingArea.Height;
                        int            w    = Screen.PrimaryScreen.WorkingArea.Width;
                        vRep.ClientSize = new Size(w, h);
                        vRep.ShowDialog(this);

                        SetUp();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
            }
        }
コード例 #4
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            Button oBtn = sender as Button;
            TLKNI_YarnTransactionDetails yarnTD;
            TLADM_TranactionType         TranType = null;
            int  LastNumberUsed = 0;
            bool success        = true;

            if (oBtn != null && formloaded)
            {
                var ErrorM = core.returnMessage(MandatoryFieldsSelected, true, MandatoryFields);
                if (!string.IsNullOrEmpty(ErrorM))
                {
                    MessageBox.Show(ErrorM);
                    return;
                }

                var YO = (TLKNI_YarnTransaction)cmboYarnOrder.SelectedItem;
                if (YO != null)
                {
                    using (var context = new TTI2Entities())
                    {
                        var LNU = context.TLADM_LastNumberUsed.Find(2);
                        if (LNU != null)
                        {
                            LastNumberUsed = LNU.col3;
                            LNU.col3      += 1;
                        }

                        var Dept = context.TLADM_Departments.Where(x => x.Dep_ShortCode.Contains("KNIT")).FirstOrDefault();
                        if (Dept != null)
                        {
                            if (_reportNo == 1)
                            {
                                TranType = context.TLADM_TranactionType.Where(x => x.TrxT_Department_FK == Dept.Dep_Id && x.TrxT_Number == 400).FirstOrDefault();
                            }
                            else
                            {
                                TranType = context.TLADM_TranactionType.Where(x => x.TrxT_Department_FK == Dept.Dep_Id && x.TrxT_Number == 300).FirstOrDefault();
                            }
                        }

                        foreach (DataGridViewRow dr in dataGridView1.Rows)
                        {
                            if (!(bool)dr.Cells[1].Value)
                            {
                                continue;
                            }

                            yarnTD = new TLKNI_YarnTransactionDetails();
                            yarnTD.KnitYD_KnitY_FK = YO.KnitY_Pk;

                            var TypeOfYarn  = dr.Cells[3].Value;
                            var YarnDetails = context.TLADM_Yarn.Where(x => x.YA_Description.Contains(TypeOfYarn.ToString())).FirstOrDefault();
                            if (YarnDetails != null)
                            {
                                yarnTD.KnitYD_YarnType_FK = YarnDetails.YA_Id;
                            }

                            yarnTD.KnitYD_PalletNo_FK       = (int)dr.Cells[0].Value;
                            yarnTD.KnitYD_GrossWeight       = (decimal)dr.Cells[7].Value;
                            yarnTD.KnitYD_NettWeight        = (decimal)dr.Cells[8].Value;
                            yarnTD.KnitYD_NoOfCones         = (int)dr.Cells[9].Value;
                            yarnTD.KnitYD_WriteOff          = true;
                            yarnTD.KnitYD_RTS               = true;
                            yarnTD.KnitYD_TransactionDate   = dtpDateReceived.Value;
                            yarnTD.KnitYD_TransactionNumber = LastNumberUsed;
                            if (TranType != null)
                            {
                                yarnTD.KnitYD_TransactionType = TranType.TrxT_Pk;
                            }

                            context.TLKNI_YarnTransactionDetails.Add(yarnTD);

                            //--------------------------------------------------------------------
                            // Now we have to keep the Status file uptodate
                            //--------------------------------------------------------------------------
                            TLKNI_YarnOrderPallets palletStore = context.TLKNI_YarnOrderPallets.Find(yarnTD.KnitYD_PalletNo_FK);
                            if (palletStore != null)
                            {
                                palletStore.TLKNIOP_Cones          -= yarnTD.KnitYD_NoOfCones;
                                palletStore.TLKNIOP_NettWeight     -= yarnTD.KnitYD_NettWeight;
                                palletStore.TLKNIOP_GrossWeight    -= yarnTD.KnitYD_GrossWeight;
                                palletStore.TLKNIOP_PalletAllocated = true;
                            }
                        }

                        try
                        {
                            context.SaveChanges();
                            frmKnitViewRep vRep = new frmKnitViewRep(4, LastNumberUsed);
                            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);
                        }
                    }
                    if (success)
                    {
                        dataGridView1.Rows.Clear();
                        MessageBox.Show("Data saved to database successfully");
                        SetUp();
                    }
                }
            }
        }
コード例 #5
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            Button oBtn = sender as Button;
            TLADM_TranactionType TranType = null;

            if (oBtn != null && formloaded)
            {
                var KO = (TLKNI_Order)cmbKnitOrder.SelectedItem;
                if (KO != null)
                {
                    using (var context = new TTI2Entities())
                    {
                        KO = context.TLKNI_Order.Find(KO.KnitO_Pk);
                        KO.KnitO_Closed     = true;
                        KO.KnitO_ClosedDate = dtpKnitOrderClosed.Value;

                        var LNU  = context.TLADM_LastNumberUsed.Find(2);
                        var Dept = context.TLADM_Departments.Where(x => x.Dep_ShortCode.Contains("KNIT")).FirstOrDefault();

                        foreach (DataGridViewRow dr in dataGridView1.Rows)
                        {
                            if (dr.Cells[0].Value == null)
                            {
                                continue;
                            }

                            if (dr.Cells[3].Value != null && (bool)dr.Cells[3].Value == true)
                            {
                                if (dr.Cells[4].Value == null)
                                {
                                    MessageBox.Show("When using the select button please select an alternative Knit Order to allocate against", "Line " + (dr.Index + 1).ToString());
                                    return;
                                }
                            }

                            TLKNI_YarnTransactionDetails trnsDet = new TLKNI_YarnTransactionDetails();

                            trnsDet.KnitYD_Notes           = txtNotes.Text;
                            trnsDet.KnitYD_OriginalOrderNo = KO.KnitO_OrderNumber;
                            trnsDet.KnitYD_PalletNo_FK     = (int)dr.Cells[0].Value;
                            trnsDet.KnitYD_RTS             = false;
                            trnsDet.KnitYD_TransactionDate = dtpKnitOrderClosed.Value;
                            trnsDet.KnitYD_WriteOff        = false;

                            if (LNU != null)
                            {
                                trnsDet.KnitYD_TransactionNumber = LNU.col7;
                            }

                            trnsDet.KnitYD_ApprovedBy   = string.Empty;
                            trnsDet.KnitYD_NoOfCones    = (int)dr.Cells[1].Value;
                            trnsDet.KnitYD_NettWeight   = (decimal)dr.Cells[2].Value;
                            trnsDet.KnitYD_GrossWeight  = 0.00M;
                            trnsDet.KnitYD_KnitY_FK     = KO.KnitO_Pk;
                            trnsDet.KnitYD_YarnReturned = true;

                            Decimal WeightRecorded = (decimal)dr.Cells[2].Value;

                            var Pallet = context.TLKNI_YarnOrderPallets.Find(trnsDet.KnitYD_PalletNo_FK);
                            if (Pallet != null)
                            {
                                trnsDet.KnitYD_YarnType_FK = Pallet.TLKNIOP_YarnType_FK;
                                if (dr.Cells[3].Value != null && (bool)dr.Cells[3].Value == true)
                                {
                                    //======================================================================
                                    // has to be a negative number to facilitate the calculations
                                    //=================================================================
                                    TLKNI_YarnAllocTransctions TransAlloc = new TLKNI_YarnAllocTransctions();
                                    TransAlloc.TLKYT_KnitOrder_FK = KO.KnitO_Pk;
                                    TransAlloc.TLKYT_NettWeight   = -1 * WeightRecorded;
                                    TransAlloc.TLKYT_NoOfCones    = -1 * (int)dr.Cells[1].Value;;
                                    TransAlloc.TLKYT_TransDate    = dtpKnitOrderClosed.Value;
                                    TransAlloc.TLKYT_TranType     = 3;
                                    TransAlloc.TLKYT_YOP_FK       = Pallet.TLKNIOP_Pk;

                                    context.TLKNI_YarnAllocTransctions.Add(TransAlloc);

                                    //=================================================================
                                    // Now find the pallet to which the balance is going to be added
                                    //========================================================
                                    var ReservedBy = (int)dr.Cells[4].Value;
                                    var Trans      = context.TLKNI_YarnAllocTransctions.Where(x => x.TLKYT_KnitOrder_FK == ReservedBy && x.TLKYT_TranType == 1).FirstOrDefault();
                                    if (Trans != null)
                                    {
                                        var PalletTo = context.TLKNI_YarnOrderPallets.Find(Trans.TLKYT_YOP_FK);
                                        if (PalletTo != null)
                                        {
                                            PalletTo.TLKNIOP_AdditionalYarn += WeightRecorded;

                                            //=============================================
                                            // we need a record of this transaction
                                            //========================================
                                            TransAlloc = new TLKNI_YarnAllocTransctions();
                                            TransAlloc.TLKYT_KnitOrder_FK = ReservedBy;
                                            TransAlloc.TLKYT_NoOfCones   += (int)dr.Cells[1].Value;
                                            TransAlloc.TLKYT_NettWeight   = WeightRecorded;
                                            TransAlloc.TLKYT_TransDate    = dtpKnitOrderClosed.Value;
                                            TransAlloc.TLKYT_TranType     = 3;
                                            TransAlloc.TLKYT_YOP_FK       = PalletTo.TLKNIOP_Pk;
                                            context.TLKNI_YarnAllocTransctions.Add(TransAlloc);

                                            if (core.CalculatePalletNett(PalletTo) <= 0.00m)
                                            {
                                                PalletTo.TLKNIOP_PalletAllocated = true;
                                            }
                                            else
                                            {
                                                PalletTo.TLKNIOP_PalletAllocated = false;
                                            }
                                        }
                                    }

                                    trnsDet.KnitYD_TransactionType = 2005;
                                }
                                else
                                {
                                    var Cones = (int)dr.Cells[1].Value;
                                    WeightRecorded = (decimal)dr.Cells[2].Value;

                                    trnsDet.KnitYD_YarnReturned = true;

                                    Pallet.TLKNIOP_NettWeightReturned += WeightRecorded;

                                    //=============================================
                                    //we need a record of this transaction
                                    //========================================
                                    var TransAlloc = new TLKNI_YarnAllocTransctions();
                                    TransAlloc.TLKYT_KnitOrder_FK = KO.KnitO_Pk;
                                    TransAlloc.TLKYT_NettWeight   = WeightRecorded;
                                    TransAlloc.TLKYT_NoOfCones    = -Cones;
                                    TransAlloc.TLKYT_TransDate    = dtpKnitOrderClosed.Value;
                                    TransAlloc.TLKYT_TranType     = 2;
                                    TransAlloc.TLKYT_YOP_FK       = Pallet.TLKNIOP_Pk;

                                    context.TLKNI_YarnAllocTransctions.Add(TransAlloc);

                                    //=========================================
                                    // This should make the pallet available
                                    //======================================================
                                    if (core.CalculatePalletNett(Pallet) <= 0.00M)
                                    {
                                        Pallet.TLKNIOP_PalletAllocated = true;
                                    }
                                    else
                                    {
                                        Pallet.TLKNIOP_PalletAllocated = false;
                                    }

                                    //==============================
                                    // Now do the the swop between stores
                                    // dont have to do this for the above has it stays in WIP spinning
                                    //===================================================
                                    if (Pallet.TLKNIOP_OwnYarn)
                                    {
                                        frmSelectStore selectStore = new frmSelectStore();
                                        selectStore.ShowDialog();

                                        Pallet.TLKNIOP_Store_FK = selectStore.WhseId;

                                        /*
                                         * TranType = context.TLADM_TranactionType.Where(x => x.TrxT_Number == 1400).FirstOrDefault();
                                         * if (TranType != null)
                                         *  Pallet.TLKNIOP_Store_FK = (int)TranType.TrxT_ToWhse_FK;
                                         */

                                        trnsDet.KnitYD_TransactionType = 1400;
                                    }
                                    else
                                    {
                                        if (Pallet.TLKNIOP_CommisionCust)
                                        {
                                            TranType = context.TLADM_TranactionType.Where(x => x.TrxT_Number == 1300).FirstOrDefault();
                                            if (TranType != null)
                                            {
                                                Pallet.TLKNIOP_Store_FK = (int)TranType.TrxT_ToWhse_FK;
                                            }

                                            trnsDet.KnitYD_TransactionType = 1300;
                                        }
                                        else
                                        {
                                            TranType = context.TLADM_TranactionType.Where(x => x.TrxT_Number == 1200).FirstOrDefault();
                                            if (TranType != null)
                                            {
                                                Pallet.TLKNIOP_Store_FK = (int)TranType.TrxT_ToWhse_FK;
                                            }

                                            trnsDet.KnitYD_TransactionType = 1200;
                                        }
                                    }
                                }
                            }
                            context.TLKNI_YarnTransactionDetails.Add(trnsDet);
                        }

                        if (LNU != null)
                        {
                            LNU.col7 += 1;
                        }

                        try
                        {
                            context.SaveChanges();
                            MessageBox.Show("Data successfully saved to database");
                            dataGridView1.Rows.Clear();

                            frmKnitViewRep vRep = new frmKnitViewRep(11, LNU.col7 - 1);
                            int            h    = Screen.PrimaryScreen.WorkingArea.Height;
                            int            w    = Screen.PrimaryScreen.WorkingArea.Width;
                            vRep.ClientSize = new Size(w, h);
                            vRep.ShowDialog(this);
                            frmCloseKnitOrder_Load(this, null);
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message);
                        }
                    }
                }
            }
        }