public void setItemProducts(string itemNumber)
        {
            var idItem = Item_Master.RetrieveData(oCon, "", "", itemNumber, 0);

            Session["idItem"] = idItem.Rows[0][0].ToString();

            DataTable ldata = Item_Serial.GetDetailsForCostAdjustment(oCon, itemNumber);


            if (ldata.Rows[0][0].ToString() == "")
            {
                txtOnHandQty.Text = "0";
            }
            else
            {
                txtOnHandQty.Text = ldata.Rows[0][0].ToString();
            }

            if (ldata.Rows[0][1].ToString() == "")
            {
                txtCostPerUnit.Text = "0";
            }
            else
            {
                txtCostPerUnit.Text = ldata.Rows[0][1].ToString();
            }

            if (ldata.Rows[0][0].ToString() == "")
            {
                txtCostAdjQty.Text = "0";
            }
            else
            {
                txtCostAdjQty.Text = ldata.Rows[0][0].ToString();
            }
            txtOnHandCost.Text = (Convert.ToDecimal(txtOnHandQty.Text) * Convert.ToDecimal(txtCostPerUnit.Text)).ToString();
        }
        public bool Save_SO_Detail(int idSOHeader, int idItem, decimal Qty, decimal Cost, string UM, decimal Discount, decimal Amount, decimal Tax_Amount)
        {
            bool          returnValue = true;
            StringBuilder sQuery      = new StringBuilder();

            try
            {
                sQuery.Append(@"INSERT INTO a_SO_Detail
                                 (idSOHeader
                                 ,idItem
                                 ,Qty
                                 ,Cost
                                 ,UM
                                 ,Discount
             ,Tax_Amount
             ,Amount)
                                 VALUES
                                 (@idSOHeader
                                 ,@idItem
                                 ,@Qty
                                 ,@Cost
                                 ,@UM
                                 ,@Discount
             ,@Tax_Amount           
             ,@Amount)
");
                oCon.Open();

                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection  = oCon;
                    cmd.CommandText = sQuery.ToString();
                    cmd.CommandType = CommandType.Text;

                    SqlParameter parm2 = new SqlParameter
                    {
                        ParameterName = "@idSOHeader",
                        SqlDbType     = SqlDbType.Int,
                        Value         = idSOHeader
                    };
                    cmd.Parameters.Add(parm2);

                    SqlParameter parm3 = new SqlParameter
                    {
                        ParameterName = "@idItem",
                        SqlDbType     = SqlDbType.Int,
                        Value         = idItem
                    };
                    cmd.Parameters.Add(parm3);

                    SqlParameter parm4 = new SqlParameter
                    {
                        ParameterName = "@Qty",
                        SqlDbType     = SqlDbType.Int,
                        Value         = Qty
                    };
                    cmd.Parameters.Add(parm4);

                    SqlParameter parm5 = new SqlParameter
                    {
                        ParameterName = "@Cost",
                        SqlDbType     = SqlDbType.Decimal,
                        Value         = Cost
                    };
                    cmd.Parameters.Add(parm5);

                    SqlParameter parm6 = new SqlParameter
                    {
                        ParameterName = "@UM",
                        SqlDbType     = SqlDbType.NVarChar,
                        Value         = UM
                    };
                    cmd.Parameters.Add(parm6);

                    SqlParameter parm7 = new SqlParameter
                    {
                        ParameterName = "@Discount",
                        SqlDbType     = SqlDbType.Decimal,
                        Value         = Discount
                    };
                    cmd.Parameters.Add(parm7);

                    SqlParameter parm8 = new SqlParameter
                    {
                        ParameterName = "@Tax_Amount",
                        SqlDbType     = SqlDbType.Decimal,
                        Value         = Tax_Amount
                    };
                    cmd.Parameters.Add(parm8);

                    SqlParameter parm9 = new SqlParameter
                    {
                        ParameterName = "@Amount",
                        SqlDbType     = SqlDbType.Decimal,
                        Value         = Amount
                    };
                    cmd.Parameters.Add(parm9);

                    if (cmd.ExecuteNonQuery() >= 1)
                    {
                        bool save = Item_Serial.UpdateAllocQuantity(oCon, idItem, decimal.ToInt32(Qty));
                        if (save == true)
                        {
                            returnValue = true;
                        }
                        else
                        {
                            returnValue = false;
                        }
                    }
                    else
                    {
                        returnValue = false;
                    }

                    cmd.Dispose();
                    cmd.Parameters.Clear();
                }

                oCon.Close();
            }
            catch
            {
                //throw new ArgumentException(ex.Message);
            }

            return(returnValue);
        }
        protected void btnSaveCostAdj_Click(object sender, EventArgs e)
        {
            string CostAdjNum = Cost_Adjustment.GetLastCostAdjNum(oCon);

            if (CostAdjNum == null)
            {
                CostAdjNum = "CF000000";
            }
            CostAdjNum = CostAdjNum.Substring(2);
            int CostAdjNum_ = int.Parse(CostAdjNum) + 1;

            string CostAdjNumber = "CF" + CostAdjNum_.ToString("000000");

            Cost_Adjustment_Model Cost_Adjustment_Model = new Cost_Adjustment_Model
            {
                CostAdjustNumber    = CostAdjNumber,
                idItem              = Convert.ToInt32(Session["idItem"].ToString()),
                InitialCost         = Convert.ToDecimal(txtCostPerUnit.Text),
                InitialQuantity     = Convert.ToInt32(txtOnHandQty.Text),
                AdjustedCostPerUnit = Convert.ToDecimal(txtCostAdjPerUnit.Text),
                AdjustedQuantity    = Convert.ToInt32(txtCostAdjQty.Text),
                AdjustedAmount      = Convert.ToDecimal(txtCostAdjAmt.Text),
                DocumentNumber      = txtDocNumber.Text,
                Transaction_Date    = DateTime.Now,
                Remarks             = txtCARemarks.Text,
                user_id_chg_by      = Session["User_Domain"].ToString()
            };
            bool save = Cost_Adjustment.Save(oCon, Cost_Adjustment_Model);

            if (save == true)
            {
                bool updateCost = Item_Serial.UpdateCost(oCon, Convert.ToInt32(Session["idItem"].ToString()), Convert.ToDecimal(txtCostAdjPerUnit.Text));
                if (updateCost == true)
                {
                    Item_Master.RecomputeItemCost(oCon, Convert.ToInt32(Session["idItem"].ToString()));

                    Trans_History_Model trans_History_Model = new Trans_History_Model
                    {
                        Trans_Code   = "COF",
                        Item_Number  = txtItemSearch.Text,
                        Site         = "WH-JMS",
                        UM           = "UT",
                        Doc_No       = txtDocNumber.Text,
                        Serial_No    = "",
                        Reason_Code  = "",
                        Trans_Date   = DateTime.Now,
                        Order_No     = "",
                        Invoice_No   = "",
                        Reference_No = "",
                        Trans_Qty    = Convert.ToInt32(txtCostAdjQty.Text),
                        Trans_Amt    = Convert.ToDecimal(txtCostAdjAmt.Text),
                        Remarks      = txtCARemarks.Text,
                        user_domain  = Session["User_Domain"].ToString()
                    };
                    Trans_History.Save(oCon, trans_History_Model);

                    HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "Saving Complete! Cost Adjustment # : " + CostAdjNumber + ControlChars.Quote + ");</script>");

                    ClearAdj();
                }
                else
                {
                    HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "Error in updating cost" + ControlChars.Quote + ");</script>");
                }
            }
            else
            {
                HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "Error in saving cost adjustment" + ControlChars.Quote + ");</script>");
            }
        }
Exemple #4
0
        protected void btnTransfer_Click(object sender, EventArgs e)
        {
            string transcode   = "";
            string sourcesite  = "";
            string ordernumber = "";
            bool   result      = false;

            if (lblStockCode.Text == "PUR" || lblStockCode.Text == "STI")
            {
                transcode   = "STO";
                ordernumber = "";
            }
            else if (lblStockCode.Text == "STO")
            {
                transcode   = "STI";
                ordernumber = "";
            }

            if (ddlSourceSite.SelectedValue.ToString() == "WH-JMS")
            {
                transcode = "STO";
            }
            else
            {
                transcode = "STI";
            }

            string idSO       = Stock_Transfer_Header.GetLastDocNumber(oCon);
            string doc_number = "";

            if (idSO == null)
            {
                idSO = DateTime.Now.Year.ToString() + "000";
            }
            idSO = idSO.Substring(4);
            int idSO_ = int.Parse(idSO) + 1;

            doc_number = DateTime.Now.Year.ToString() + idSO_.ToString("000");

            if (dvstockcode.Visible == true && dvuploadexcel.Visible == false)
            {
                sourcesite = "";

                Stock_Transfer_Header_Model sthm = new Stock_Transfer_Header_Model
                {
                    Doc_Number = doc_number,
                    STR_Number = txtSTRNumber.Text,
                    //Qty = qty,
                    Site_From = sourcesite,
                    Site_To   = ddlDestinationSite.SelectedItem.Text,
                    timestamp = DateTime.Now
                };
                int idSTHeader = Stock_Transfer_Header.Save(oCon, sthm);

                if (idSTHeader != 0)
                {
                    int  iditem   = 0;
                    int  destSite = Convert.ToInt32(ddlDestinationSite.SelectedValue.ToString());
                    bool check    = Item_Master.CheckIfExist(oCon, txtSearchItemNumber.Text, destSite);
                    if (check == true)
                    {
                        iditem = Item_Master.RetrieveIdItem(oCon, txtSearchItemNumber.Text, destSite);
                    }
                    else if (check == false)
                    {
                        int oldIdItem = Item_Master.RetrieveIdItem(oCon, txtSearchItemNumber.Text, 2);
                        var imm       = Item_Master.RetrieveData(oCon, "", "", "", oldIdItem);
                        var isc       = Item_Subclass.RetrieveData(oCon, imm.Rows[0][1].ToString(), "", imm.Rows[0][2].ToString());

                        if (destSite == 9)
                        {
                            Item_Master_Model item_Master_Model = new Item_Master_Model
                            {
                                idClass       = Convert.ToInt32(imm.Rows[0][1].ToString()),
                                idSubClass    = 12,
                                ItemNumber    = "JBW-" + imm.Rows[0][4].ToString(),
                                Principal_SKU = imm.Rows[0][4].ToString(),
                                Description   = imm.Rows[0][5].ToString(),
                                Site          = destSite.ToString(),
                                Unit_Weight   = 0,
                                Weight_UM     = "",
                                UM            = "UT",
                                OnHand_Qty    = 0,
                                Alloc_Qty     = 0,
                                Total_Qty     = 0,
                                Ave_Cost      = 0,
                                Total_Cost    = 0
                            };
                            iditem = Item_Master.Save(oCon, item_Master_Model);
                        }
                        else
                        {
                            Item_Master_Model item_Master_Model = new Item_Master_Model
                            {
                                idClass       = Convert.ToInt32(imm.Rows[0][1].ToString()),
                                idSubClass    = Convert.ToInt32(imm.Rows[0][2].ToString()),
                                ItemNumber    = isc[0].Subclass_Name.Substring(0, 4) + "-" + imm.Rows[0][4].ToString(),
                                Principal_SKU = imm.Rows[0][4].ToString(),
                                Description   = imm.Rows[0][5].ToString(),
                                Site          = destSite.ToString(),
                                Unit_Weight   = 0,
                                Weight_UM     = "",
                                UM            = "UT",
                                OnHand_Qty    = 0,
                                Alloc_Qty     = 0,
                                Total_Qty     = 0,
                                Ave_Cost      = 0,
                                Total_Cost    = 0
                            };
                            iditem = Item_Master.Save(oCon, item_Master_Model);
                        }
                    }

                    Stock_Transfer_Detail_Model stdm = new Stock_Transfer_Detail_Model
                    {
                        idItem     = iditem,
                        Qty        = 1,
                        idSTHeader = idSTHeader
                    };
                    int idstdetail = Stock_Transfer_Detail.Save(oCon, stdm);

                    Stock_Transfer_Serial_Model stsm = new Stock_Transfer_Serial_Model
                    {
                        idSerial   = Item_Serial.RetrieveIdSerial(oCon, txtSearchSerialNumber.Text),
                        idSTDetail = idstdetail
                    };
                    Stock_Transfer_Serial.Save(oCon, stsm);

                    Item_Serial.UpdateStockStatus(oCon, txtSearchSerialNumber.Text.Trim(), "N");

                    Trans_History_Model trans_History_Model = new Trans_History_Model
                    {
                        Trans_Code   = transcode,
                        Item_Number  = txtSearchItemNumber.Text,
                        Site         = ddlDestinationSite.SelectedItem.Text,
                        UM           = "UT",
                        Doc_No       = doc_number,
                        Serial_No    = txtSearchSerialNumber.Text.Trim(),
                        Reason_Code  = "",
                        Trans_Date   = DateTime.Now,
                        Order_No     = ordernumber,
                        Invoice_No   = txtSTRNumber.Text,
                        Reference_No = txtSTRNumber.Text,
                        Trans_Qty    = -1,
                        Trans_Amt    = Trans_History.GetSerialCost(oCon, txtSearchItemNumber.Text, txtSearchSerialNumber.Text),
                        Remarks      = "",
                        user_domain  = Session["User_Domain"].ToString()
                    };
                    Trans_History.Save(oCon, trans_History_Model);

                    result = true;
                }
            }
            else if (dvstockcode.Visible == false && dvuploadexcel.Visible == true)
            {
                sourcesite = ddlSourceSite.SelectedItem.Text;
                int sourceSite = Convert.ToInt32(ddlSourceSite.SelectedValue.ToString());
                int destSite   = Convert.ToInt32(ddlDestinationSite.SelectedValue.ToString());

                DataTable    dtUpload = new DataTable();
                DataTable    dtCheck  = new DataTable();
                StreamReader SR       = new StreamReader(fuTransfer.PostedFile.InputStream);
                string       line;
                DataRow      rowUpload;
                DataRow      rowCheck;
                dtUpload.Columns.Add(new DataColumn());
                dtCheck.Columns.Add(new DataColumn());
                dtUpload.Columns.Add(new DataColumn());
                dtCheck.Columns.Add(new DataColumn());

                try
                {
                    do
                    {
                        line = SR.ReadLine().Trim();
                        if (line != string.Empty)
                        {
                            rowUpload = dtUpload.NewRow();
                            rowCheck  = dtCheck.NewRow();
                            //line = line.ToString().Replace(",", "_");
                            //line = line.ToString().Replace("'", "");
                            line = line.Trim();
                            rowUpload.ItemArray = line.Split(',');
                            dtUpload.Rows.Add(rowUpload);
                            rowCheck.ItemArray = line.Split(',');
                            dtCheck.Rows.Add(rowCheck);
                        }
                        else
                        {
                            break;
                        }
                    }while (true);
                }
                catch
                {
                }

                int duplicateCount     = 0;
                int notInDatabaseCount = 0;
                int invalidCode        = 0;
                for (var x = 0; x <= dtCheck.Rows.Count - 1; x++)
                {
                    int counter = 0;
                    for (var y = 0; y <= dtUpload.Rows.Count - 1; y++)
                    {
                        if (dtCheck.Rows[x][1].ToString() == dtUpload.Rows[y][1].ToString())
                        {
                            counter = counter + 1;
                            if (counter > 1)
                            {
                                duplicateCount = duplicateCount + 1;
                            }
                        }
                    }

                    if (Item_Serial.CheckDuplicate(oCon, dtCheck.Rows[x][1].ToString(), 0, dtCheck.Rows[x][0].ToString(), sourceSite) == 0)
                    {
                        notInDatabaseCount = notInDatabaseCount + 1;
                    }

                    string serialLastCode = Trans_History.GetItemLastState(oCon, dtCheck.Rows[x][0].ToString(), dtCheck.Rows[x][1].ToString());
                    if (serialLastCode != ddlSourceSite.SelectedItem.Text)
                    {
                        invalidCode = invalidCode + 1;
                    }
                }

                if (invalidCode == 0)
                {
                    if (duplicateCount == 0)
                    {
                        if (notInDatabaseCount == 0)
                        {
                            Stock_Transfer_Header_Model sthm = new Stock_Transfer_Header_Model
                            {
                                Doc_Number = doc_number,
                                STR_Number = txtSTRNumber.Text,
                                //Qty = qty,
                                Site_From = sourcesite,
                                Site_To   = ddlDestinationSite.SelectedItem.Text,
                                timestamp = DateTime.Now
                            };
                            int idSTHeader = Stock_Transfer_Header.Save(oCon, sthm);

                            if (idSTHeader != 0)
                            {
                                DataSet dsUpload = new DataSet();

                                for (var x = 0; x <= dtUpload.Rows.Count - 1; x++)
                                {
                                    if (x == 0 || dtUpload.Rows[x][0].ToString() != dtUpload.Rows[x - 1][0].ToString())
                                    {
                                        dsUpload.Tables.Add(dtUpload.Rows[x][0].ToString());
                                        dsUpload.Tables[dtUpload.Rows[x][0].ToString()].Columns.Add(new DataColumn());
                                        dsUpload.Tables[dtUpload.Rows[x][0].ToString()].Columns.Add(new DataColumn());
                                        DataRow dr = dsUpload.Tables[dtUpload.Rows[x][0].ToString()].NewRow();
                                        dr[0] = dtUpload.Rows[x][0];
                                        dr[1] = dtUpload.Rows[x][1];
                                        dsUpload.Tables[dtUpload.Rows[x][0].ToString()].Rows.Add(dr);
                                    }
                                    else if (dtUpload.Rows[x][0].ToString() == dtUpload.Rows[x - 1][0].ToString())
                                    {
                                        DataRow dr = dsUpload.Tables[dtUpload.Rows[x][0].ToString()].NewRow();
                                        dr[0] = dtUpload.Rows[x][0];
                                        dr[1] = dtUpload.Rows[x][1];
                                        dsUpload.Tables[dtUpload.Rows[x][0].ToString()].Rows.Add(dr);
                                    }
                                }

                                for (int x = 0; x <= dsUpload.Tables.Count - 1; x++)
                                {
                                    int  iditem = 0;
                                    bool check  = Item_Master.CheckIfExist(oCon, dsUpload.Tables[x].Rows[0][0].ToString(), destSite);
                                    if (check == true)
                                    {
                                        iditem = Item_Master.RetrieveIdItem(oCon, dsUpload.Tables[x].Rows[0][0].ToString(), destSite);
                                    }
                                    else if (check == false)
                                    {
                                        int oldIdItem = Item_Master.RetrieveIdItem(oCon, txtSearchItemNumber.Text, 2);
                                        var imm       = Item_Master.RetrieveData(oCon, "", "", "", oldIdItem);
                                        var isc       = Item_Subclass.RetrieveData(oCon, imm.Rows[0][1].ToString(), "", imm.Rows[0][2].ToString());
                                        if (destSite == 9)
                                        {
                                            Item_Master_Model item_Master_Model = new Item_Master_Model
                                            {
                                                idClass       = Convert.ToInt32(imm.Rows[0][1].ToString()),
                                                idSubClass    = 12,
                                                ItemNumber    = "JBW-" + imm.Rows[0][4].ToString(),
                                                Principal_SKU = imm.Rows[0][4].ToString(),
                                                Description   = imm.Rows[0][5].ToString(),
                                                Site          = destSite.ToString(),
                                                Unit_Weight   = 0,
                                                Weight_UM     = "",
                                                UM            = "UT",
                                                OnHand_Qty    = 0,
                                                Alloc_Qty     = 0,
                                                Total_Qty     = 0,
                                                Ave_Cost      = 0,
                                                Total_Cost    = 0
                                            };
                                            iditem = Item_Master.Save(oCon, item_Master_Model);
                                        }
                                        else
                                        {
                                            Item_Master_Model item_Master_Model = new Item_Master_Model
                                            {
                                                idClass       = Convert.ToInt32(imm.Rows[0][1].ToString()),
                                                idSubClass    = Convert.ToInt32(imm.Rows[0][2].ToString()),
                                                ItemNumber    = isc[0].Subclass_Name.Substring(0, 4) + "-" + imm.Rows[0][4].ToString(),
                                                Principal_SKU = imm.Rows[0][4].ToString(),
                                                Description   = imm.Rows[0][5].ToString(),
                                                Site          = destSite.ToString(),
                                                Unit_Weight   = 0,
                                                Weight_UM     = "",
                                                UM            = "UT",
                                                OnHand_Qty    = 0,
                                                Alloc_Qty     = 0,
                                                Total_Qty     = 0,
                                                Ave_Cost      = 0,
                                                Total_Cost    = 0
                                            };
                                            iditem = Item_Master.Save(oCon, item_Master_Model);
                                        }
                                    }

                                    Stock_Transfer_Detail_Model stdm = new Stock_Transfer_Detail_Model
                                    {
                                        idItem = iditem,
                                        Qty    = dsUpload.Tables[x].Rows.Count,
                                        // = Item_Serial.RetrieveidItem(oCon, dtUpload.Rows[x][1].ToString()),
                                        idSTHeader = idSTHeader
                                    };
                                    int idstdetail = Stock_Transfer_Detail.Save(oCon, stdm);

                                    for (int y = 0; y <= dsUpload.Tables[x].Rows.Count - 1; y++)
                                    {
                                        Stock_Transfer_Serial_Model stsm = new Stock_Transfer_Serial_Model
                                        {
                                            idSerial   = Item_Serial.RetrieveIdSerial(oCon, dsUpload.Tables[x].Rows[y][1].ToString()),
                                            idSTDetail = idstdetail
                                        };
                                        Stock_Transfer_Serial.Save(oCon, stsm);

                                        int transqty = 0;

                                        if (transcode == "STO")
                                        {
                                            Item_Serial.UpdateStockStatus(oCon, dsUpload.Tables[x].Rows[y][1].ToString(), "N");
                                            transqty = -1;
                                        }
                                        else
                                        {
                                            Item_Serial.UpdateStockStatus(oCon, dsUpload.Tables[x].Rows[y][1].ToString(), "Y");
                                            transqty = 1;
                                        }

                                        Item_Serial.UpdateIdItem(oCon, dsUpload.Tables[x].Rows[y][1].ToString(), iditem);

                                        Trans_History_Model trans_History_Model = new Trans_History_Model
                                        {
                                            Trans_Code   = transcode,
                                            Item_Number  = dsUpload.Tables[x].Rows[y][0].ToString(),
                                            Site         = ddlDestinationSite.SelectedItem.Text,
                                            UM           = "PC",
                                            Doc_No       = doc_number,
                                            Serial_No    = dsUpload.Tables[x].Rows[y][1].ToString(),
                                            Reason_Code  = "",
                                            Trans_Date   = DateTime.Now,
                                            Order_No     = ordernumber,
                                            Invoice_No   = txtSTRNumber.Text,
                                            Reference_No = txtSTRNumber.Text,
                                            Trans_Qty    = transqty,
                                            Trans_Amt    = Trans_History.GetSerialCost(oCon, txtSearchItemNumber.Text, txtSearchSerialNumber.Text),
                                            Remarks      = "",
                                            user_domain  = Session["User_Domain"].ToString()
                                        };
                                        Trans_History.Save(oCon, trans_History_Model);
                                    }
                                }

                                result = true;
                            }
                        }
                        else
                        {
                            result = false;

                            //lblVerify.Text = "There are " + notInDatabaseCount.ToString() + " serial numbers that are not included in the specified item number.";
                            HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "There are " + notInDatabaseCount.ToString() + " serial numbers that is not in the database." + ControlChars.Quote + ");</script>");
                        }
                    }
                    else
                    {
                        result = false;
                        //lblVerify.Text = "Duplicate serial numbers detected in file : " + duplicateCount.ToString();
                        HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "Duplicate serial numbers detected in file : " + duplicateCount.ToString() + ControlChars.Quote + ");</script>");
                    }
                }
                else
                {
                    result = false;
                    //lblVerify.Text = "Duplicate serial numbers detected in file : " + duplicateCount.ToString();
                    HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "Incorrect serial numbers' last location in file : " + duplicateCount.ToString() + ControlChars.Quote + ");</script>");
                }
            }

            if (result == true)
            {
                Response.Write(@"<script>window.open ('/Forms/DownloadReports/DownloadStockTransfer.aspx?DocumentNumber=" + doc_number +
                               "&STRNumber=" + txtSTRNumber.Text +
                               "&SourceSite=" + sourcesite +
                               "&DestinationSite=" + ddlDestinationSite.SelectedItem.Text +
                               "','_blank');</script>");

                dvStockTransfer.Visible = false;
                btnOpenModal.Visible    = false;
                Item_Master.InventoryCheckForError(oCon);
                getHistory(txtSearchItemNumber.Text, txtSearchSerialNumber.Text);
            }
        }
        private decimal computeCost(string idItem, string itemQuantity, string itemCost)
        {
            decimal dCharges          = 0;
            decimal dFinalPOAmount    = 0;
            decimal dPercentage       = 0;
            decimal dComputedCharge   = 0;
            decimal dItemCost         = 0;
            decimal dFinalItemCost    = 0;
            decimal dItemCostQuantity = 0;
            decimal dItemQuantity     = Convert.ToDecimal(itemQuantity);
            decimal dPOQuantity       = Convert.ToDecimal(txtPOQuantity.Text);

            //Convert.ToDecimal(txtBrokerage.Text);
            //Convert.ToDecimal(txtCEDEC.Text);
            //Convert.ToDecimal(txtCustomsStamps.Text);
            //Convert.ToDecimal(txtDeliveryCharges.Text);
            //Convert.ToDecimal(txtDocumentaryStamps.Text);
            //Convert.ToDecimal(txtDocumentationCharges.Text);
            //Convert.ToDecimal(txtForkliftCost.Text);
            //Convert.ToDecimal(txtFreightCharges.Text);
            //Convert.ToDecimal(txtHandlingFee.Text);
            //Convert.ToDecimal(txtImportDuties.Text);
            //Convert.ToDecimal(txtImportProcessingFee.Text);
            //Convert.ToDecimal(txtImportationInsurance.Text);
            //Convert.ToDecimal(txtMiscellaneous.Text);
            //Convert.ToDecimal(txtNotarialFee.Text);
            //Convert.ToDecimal(txtOtherCharges.Text);
            //Convert.ToDecimal(txtProcessingFee.Text);
            //Convert.ToDecimal(txtWarehouseStorageCharges.Text);
            //Convert.ToDecimal(txtXerox.Text);

            dCharges = Convert.ToDecimal(txtTotalCharges.Text);

            //Convert.ToDecimal(txtBrokerage.Text) + Convert.ToDecimal(txtCEDEC.Text) + Convert.ToDecimal(txtCustomsStamps.Text) + Convert.ToDecimal(txtDeliveryCharges.Text) + Convert.ToDecimal(txtDocumentaryStamps.Text) + Convert.ToDecimal(txtDocumentationCharges.Text) + Convert.ToDecimal(txtForkliftCost.Text) + Convert.ToDecimal(txtFreightCharges.Text) + Convert.ToDecimal(txtHandlingFee.Text) + Convert.ToDecimal(txtImportDuties.Text) + Convert.ToDecimal(txtImportProcessingFee.Text) + Convert.ToDecimal(txtImportationInsurance.Text) + Convert.ToDecimal(txtMiscellaneous.Text) + Convert.ToDecimal(txtNotarialFee.Text) + Convert.ToDecimal(txtOtherCharges.Text) + Convert.ToDecimal(txtProcessingFee.Text) + Convert.ToDecimal(txtWarehouseStorageCharges.Text) + Convert.ToDecimal(txtXerox.Text);

            if (txtForexRate.Text.Trim() != "" && Decimal.ToInt32(Convert.ToDecimal(txtForexRate.Text)) != 0)
            {
                dFinalPOAmount = Convert.ToDecimal(txtForexRate.Text) * Convert.ToDecimal(txtPOAmount.Text);
                dItemCost      = Convert.ToDecimal(txtForexRate.Text) * Convert.ToDecimal(itemCost);
            }
            else
            {
                dFinalPOAmount = Convert.ToDecimal(txtPOAmount.Text);
                dItemCost      = Convert.ToDecimal(itemCost);
            }

            if (ddlPurchase.SelectedIndex == 1)
            {
                dPercentage       = (dItemCost * dItemQuantity) / dFinalPOAmount;
                dComputedCharge   = dPercentage * dCharges;
                dItemCostQuantity = dItemCost * dItemQuantity;
                dFinalItemCost    = (dComputedCharge + dItemCostQuantity) / dItemQuantity;
            }
            else if (ddlPurchase.SelectedIndex == 2)
            {
                dComputedCharge = dCharges / dPOQuantity;
                dFinalItemCost  = dComputedCharge + dItemCost;
            }

            if (ddlUnitPrice.SelectedIndex == 1)
            {
                dFinalItemCost = Convert.ToDecimal(dFinalItemCost.ToString("N4"));
            }
            else if (ddlUnitPrice.SelectedIndex == 2)
            {
                DataTable averageCost         = Item_Serial.AverageCosting(oCon, idItem);
                decimal   dTotalInventoryCost = 0;
                //decimal dAverageCost = 0;
                int inventoryStock = 0;

                for (int x = 0; x <= averageCost.Rows.Count - 1; x++)
                {
                    dTotalInventoryCost = dTotalInventoryCost + Convert.ToDecimal(averageCost.Rows[x][3].ToString());
                    inventoryStock      = inventoryStock + Convert.ToInt32(averageCost.Rows[x][1].ToString());
                }
                dFinalItemCost = ((dFinalItemCost * dItemQuantity) + dTotalInventoryCost) / (dItemQuantity + inventoryStock);
                dFinalItemCost = Convert.ToDecimal(dFinalItemCost.ToString("N4"));
            }

            dFinalItemCost = Convert.ToDecimal(Convert.ToDouble(dFinalItemCost) * 1.02);

            return(dFinalItemCost);
        }
        protected void btnUploadReplacementSerial_Click(object sender, EventArgs e)
        {
            StreamReader SR   = new StreamReader(uploadReplacementSerial.PostedFile.InputStream);
            string       line = SR.ReadLine();

            string[]  strArray = line.Split(',');
            DataTable dtUpload = new DataTable();
            DataRow   rowUpload;
            DataTable dtCheck = new DataTable();
            DataRow   rowCheck;

            dtUpload.Columns.Add(new DataColumn());
            dtCheck.Columns.Add(new DataColumn());

            try
            {
                do
                {
                    line = SR.ReadLine().Trim();
                    if (line != string.Empty)
                    {
                        rowUpload           = dtUpload.NewRow();
                        rowCheck            = dtCheck.NewRow();
                        line                = line.ToString().Replace(",", "_");
                        line                = line.ToString().Replace("'", "");
                        line                = line.Trim();
                        rowUpload.ItemArray = line.Split(',');
                        dtUpload.Rows.Add(rowUpload);
                        rowCheck.ItemArray = line.Split(',');
                        dtCheck.Rows.Add(rowCheck);
                    }
                    else
                    {
                        break;
                    }
                }while (true);
            }
            catch
            {
            }

            int duplicateCount     = 0;
            int notInDatabaseCount = 0;
            int TransHistDuplicate = 0;

            for (var x = 0; x <= dtCheck.Rows.Count - 1; x++)
            {
                int counter = 0;
                for (var y = 0; y <= dtUpload.Rows.Count - 1; y++)
                {
                    if (dtCheck.Rows[x][0].ToString() == dtUpload.Rows[y][0].ToString())
                    {
                        counter = counter + 1;
                        if (counter > 1)
                        {
                            duplicateCount = duplicateCount + 1;
                        }
                    }
                }

                if (Item_Serial.CheckDuplicate(oCon, dtCheck.Rows[x][0].ToString(), Convert.ToInt32(Session["idItem"].ToString())) == 1)
                {
                    notInDatabaseCount = notInDatabaseCount + 1;
                }

                if (Trans_History.CheckDuplicate(oCon, dtCheck.Rows[x][0].ToString(), Convert.ToInt32(Session["idItem"].ToString()), txtSONumber.Text) == 0)
                {
                    TransHistDuplicate = TransHistDuplicate + 1;
                }
            }

            if (duplicateCount == 0)
            {
                if (notInDatabaseCount == 0)
                {
                    if (TransHistDuplicate == 0)
                    {
                        string dtName = "Rep" + Session["rowIndex"].ToString() + "-" + Session["Item_Number"].ToString();
                        Session[dtName] = dtUpload;
                        lblVerify.Text  = "Serial numbers verified!";

                        btnSaveReturn.Visible = true;
                        //HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "Serial numbers verified!" + ControlChars.Quote + ");</script>");
                    }
                    else
                    {
                        lblVerify.Text = "There are " + TransHistDuplicate.ToString() + " serial numbers that is already returned.";
                        //HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "There are " + notInDatabaseCount.ToString() + " serial numbers that is not in the database." + ControlChars.Quote + ");</script>");
                    }
                }
                else
                {
                    lblVerify.Text = "There are " + notInDatabaseCount.ToString() + " serial numbers that are not included in the specified item number.";
                    //HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "There are " + notInDatabaseCount.ToString() + " serial numbers that is not in the database." + ControlChars.Quote + ");</script>");
                }
            }
            else
            {
                lblVerify.Text = "Duplicate serial numbers detected in file : " + duplicateCount.ToString();
                //HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "Duplicate serial numbers detected in file : " + duplicateCount.ToString() + ControlChars.Quote + ");</script>");
            }
        }
        protected void btnSaveAllReturn_Click(object sender, EventArgs e)
        {
            if (ddlReasonCode.SelectedValue.Trim().ToString() == "210" || ddlReasonCode.SelectedValue.Trim().ToString() == "165")
            {
                string idSLR      = Return_Header.GetLastSLRNumber(oCon);
                string SLR_Number = "";
                if (idSLR == "")
                {
                    idSLR = "SLR000000";
                }
                idSLR = idSLR.Substring(3);
                int idSLR_ = int.Parse(idSLR) + 1;

                SLR_Number = "SLR" + idSLR_.ToString("000000");

                string isreplacement = "";
                isreplacement = "Y";

                Return_Header_Model rhm = new Return_Header_Model
                {
                    SLR_Number      = SLR_Number,
                    SO_Number       = txtSONumber.Text,
                    Customer_Code   = txtCustomerCode.Text,
                    Auth_Number     = txtAuthorizationNumber.Text,
                    isReplacement   = isreplacement,
                    Document_Number = txtInvoiceNumber.Text,
                    Site            = ddlSite.SelectedValue,
                    Reason_Code     = ddlReasonCode.SelectedValue,
                    Date_Returned   = DateTime.Parse(txtReturnDate.Text),
                    Remarks         = txtSRERemarks.Text
                };
                int ReturnHeaderid = Return_Header.Save(oCon, rhm);

                DataSet ReturnDataSet = (DataSet)Session["ReturnDataSet"];

                foreach (GridViewRow row in grvItemDetails.Rows)
                {
                    string    tablename     = "Rep" + row.RowIndex.ToString() + "-" + row.Cells[2].Text;
                    DataTable dtReplacement = ReturnDataSet.Tables[tablename];
                    string    tablename2    = row.RowIndex.ToString() + "-" + row.Cells[2].Text;
                    DataTable dtUpload      = ReturnDataSet.Tables[tablename];

                    if (ReturnHeaderid != 0)
                    {
                        Return_Detail_Model rdm = new Return_Detail_Model
                        {
                            idReturnHeader = ReturnHeaderid,
                            idItem         = Convert.ToInt32(row.Cells[0].Text),
                            Returned_Qty   = Convert.ToInt32(dtUpload.Rows.Count),
                            Returned_Cost  = Convert.ToDecimal(row.Cells[4].Text)
                        };
                        int returnDetailId = Return_Detail.Save(oCon, rdm);

                        if (returnDetailId != 0)
                        {
                            for (var y = 0; y <= dtUpload.Rows.Count - 1; y++)
                            {
                                Item_Serial.ReturnStock(oCon, Convert.ToInt32(row.Cells[0].Text), dtUpload.Rows[y][0].ToString(), dtReplacement.Rows[y][0].ToString());

                                Return_Serial_Model rsm = new Return_Serial_Model
                                {
                                    idReturnDetail     = returnDetailId,
                                    Serial_No          = dtUpload.Rows[y][0].ToString(),
                                    Replacement_Serial = dtReplacement.Rows[y][0].ToString()
                                };
                                bool saveValue = Return_Serial.Save(oCon, rsm);

                                if (saveValue == true)
                                {
                                    Trans_History_Model trans_History_Model = new Trans_History_Model
                                    {
                                        Trans_Code   = "SRE",
                                        Item_Number  = row.Cells[2].Text,
                                        Site         = ddlSite.SelectedItem.Text,
                                        UM           = "UT",
                                        Doc_No       = SLR_Number,
                                        Serial_No    = dtUpload.Rows[y][0].ToString(),
                                        Reason_Code  = ddlReasonCode.SelectedValue.ToString(),
                                        Trans_Date   = DateTime.Now,
                                        Order_No     = txtSONumber.Text,
                                        Invoice_No   = txtInvoiceNumber.Text,
                                        Reference_No = txtAuthorizationNumber.Text,
                                        Trans_Qty    = 1,
                                        Trans_Amt    = Convert.ToDecimal(row.Cells[4].Text),
                                        Remarks      = txtSRERemarks.Text,
                                        user_domain  = Session["User_Domain"].ToString()
                                    };
                                    Trans_History.Save(oCon, trans_History_Model);
                                }
                            }
                        }
                    }
                }

                Item_Master.InventoryCheckForError(oCon);

                clearReturns();

                Response.Write("<script>window.open('/Forms/DownloadReports/DownloadSalesReturn.aspx?SLR_Number=" + SLR_Number + "','_blank');</script>");
            }
            else if (ddlReasonCode.SelectedValue.Trim().ToString() == "169")
            {
                string idSLR      = Return_Header.GetLastSLRNumber(oCon);
                string SLR_Number = "";
                if (idSLR == "")
                {
                    idSLR = "SLR000000";
                }
                idSLR = idSLR.Substring(3);
                int idSLR_ = int.Parse(idSLR) + 1;

                SLR_Number = "SLR" + idSLR_.ToString("000000");

                string isreplacement = "";
                isreplacement = "N";

                Return_Header_Model rhm = new Return_Header_Model
                {
                    SLR_Number      = SLR_Number,
                    SO_Number       = txtSONumber.Text,
                    Customer_Code   = txtCustomerCode.Text,
                    Auth_Number     = txtAuthorizationNumber.Text,
                    isReplacement   = isreplacement,
                    Document_Number = txtInvoiceNumber.Text,
                    Site            = ddlSite.SelectedValue,
                    Reason_Code     = ddlReasonCode.SelectedValue,
                    Date_Returned   = DateTime.Parse(txtReturnDate.Text),
                    Remarks         = txtSRERemarks.Text
                };
                int ReturnHeaderid = Return_Header.Save(oCon, rhm);

                DataSet ReturnDataSet = (DataSet)Session["ReturnDataSet"];

                foreach (GridViewRow row in grvItemDetails.Rows)
                {
                    string    tablename = row.RowIndex.ToString() + "-" + row.Cells[2].Text;
                    DataTable dtUpload  = ReturnDataSet.Tables[tablename];

                    if (ReturnHeaderid != 0)
                    {
                        Return_Detail_Model rdm = new Return_Detail_Model
                        {
                            idReturnHeader = ReturnHeaderid,
                            idItem         = Convert.ToInt32(row.Cells[0].Text),
                            Returned_Qty   = Convert.ToInt32(dtUpload.Rows.Count),
                            Returned_Cost  = Convert.ToDecimal(row.Cells[4].Text)
                        };
                        int returnDetailId = Return_Detail.Save(oCon, rdm);

                        if (returnDetailId != 0)
                        {
                            for (var y = 0; y <= dtUpload.Rows.Count - 1; y++)
                            {
                                Item_Serial.ReturnStock(oCon, dtUpload.Rows[y][0].ToString(), row.Cells[2].Text);

                                Return_Serial_Model rsm = new Return_Serial_Model
                                {
                                    idReturnDetail     = returnDetailId,
                                    Serial_No          = dtUpload.Rows[y][0].ToString(),
                                    Replacement_Serial = ""
                                };
                                bool saveValue = Return_Serial.Save(oCon, rsm);

                                if (saveValue == true)
                                {
                                    Trans_History_Model trans_History_Model = new Trans_History_Model
                                    {
                                        Trans_Code   = "SRE",
                                        Item_Number  = row.Cells[2].Text,
                                        Site         = ddlSite.SelectedValue.ToString(),
                                        UM           = "UT",
                                        Doc_No       = SLR_Number,
                                        Serial_No    = dtUpload.Rows[y][0].ToString(),
                                        Reason_Code  = ddlReasonCode.SelectedValue.ToString(),
                                        Trans_Date   = DateTime.Now,
                                        Order_No     = txtSONumber.Text,
                                        Invoice_No   = txtInvoiceNumber.Text,
                                        Reference_No = txtAuthorizationNumber.Text,
                                        Trans_Qty    = 1,
                                        Trans_Amt    = Convert.ToDecimal(row.Cells[4].Text),
                                        Remarks      = txtSRERemarks.Text,
                                        user_domain  = Session["User_Domain"].ToString()
                                    };
                                    Trans_History.Save(oCon, trans_History_Model);
                                }
                            }
                        }
                    }
                }

                Item_Master.InventoryCheckForError(oCon);

                clearReturns();

                Response.Write("<script>window.open('/Forms/DownloadReports/DownloadSalesReturn.aspx?SLR_Number=" + SLR_Number + "','_blank');</script>");
            }
            else
            {
                string idSLR      = Return_Header.GetLastSLRNumber(oCon);
                string SLR_Number = "";
                if (idSLR == "")
                {
                    idSLR = "SLR000000";
                }
                idSLR = idSLR.Substring(3);
                int idSLR_ = int.Parse(idSLR) + 1;

                SLR_Number = "SLR" + idSLR_.ToString("000000");

                string isreplacement = "";
                isreplacement = "N";

                Return_Header_Model rhm = new Return_Header_Model
                {
                    SLR_Number      = SLR_Number,
                    SO_Number       = txtSONumber.Text,
                    Customer_Code   = txtCustomerCode.Text,
                    Auth_Number     = txtAuthorizationNumber.Text,
                    isReplacement   = isreplacement,
                    Document_Number = txtInvoiceNumber.Text,
                    Site            = ddlSite.SelectedValue,
                    Reason_Code     = ddlReasonCode.SelectedValue,
                    Date_Returned   = DateTime.Parse(txtReturnDate.Text),
                    Remarks         = txtSRERemarks.Text
                };
                int ReturnHeaderid = Return_Header.Save(oCon, rhm);

                DataSet ReturnDataSet = (DataSet)Session["ReturnDataSet"];

                foreach (GridViewRow row in grvItemDetails.Rows)
                {
                    string    tablename = row.RowIndex.ToString() + "-" + row.Cells[2].Text;
                    DataTable dtUpload  = ReturnDataSet.Tables[tablename];

                    if (ReturnHeaderid != 0)
                    {
                        Return_Detail_Model rdm = new Return_Detail_Model
                        {
                            idReturnHeader = ReturnHeaderid,
                            idItem         = Convert.ToInt32(row.Cells[0].Text),
                            Returned_Qty   = Convert.ToInt32(dtUpload.Rows.Count),
                            Returned_Cost  = Convert.ToDecimal(row.Cells[4].Text)
                        };
                        int returnDetailId = Return_Detail.Save(oCon, rdm);

                        if (returnDetailId != 0)
                        {
                            for (var y = 0; y <= dtUpload.Rows.Count - 1; y++)
                            {
                                Item_Serial.ReturnStock(oCon, Convert.ToInt32(row.Cells[0].Text), dtUpload.Rows[y][0].ToString());

                                Return_Serial_Model rsm = new Return_Serial_Model
                                {
                                    idReturnDetail     = returnDetailId,
                                    Serial_No          = dtUpload.Rows[y][0].ToString(),
                                    Replacement_Serial = ""
                                };
                                bool saveValue = Return_Serial.Save(oCon, rsm);

                                if (saveValue == true)
                                {
                                    Trans_History_Model trans_History_Model = new Trans_History_Model
                                    {
                                        Trans_Code   = "SRE",
                                        Item_Number  = row.Cells[2].Text,
                                        Site         = ddlSite.SelectedValue.ToString(),
                                        UM           = "UT",
                                        Doc_No       = SLR_Number,
                                        Serial_No    = dtUpload.Rows[y][0].ToString(),
                                        Reason_Code  = ddlReasonCode.SelectedValue.ToString(),
                                        Trans_Date   = DateTime.Now,
                                        Order_No     = txtSONumber.Text,
                                        Invoice_No   = txtInvoiceNumber.Text,
                                        Reference_No = txtAuthorizationNumber.Text,
                                        Trans_Qty    = 1,
                                        Trans_Amt    = Convert.ToDecimal(row.Cells[4].Text),
                                        Remarks      = txtSRERemarks.Text,
                                        user_domain  = Session["User_Domain"].ToString()
                                    };
                                    Trans_History.Save(oCon, trans_History_Model);
                                }
                            }
                        }
                    }
                }

                Item_Master.InventoryCheckForError(oCon);

                clearReturns();

                Response.Write("<script>window.open('/Forms/DownloadReports/DownloadSalesReturn.aspx?SLR_Number=" + SLR_Number + "','_blank');</script>");
            }
        }
Exemple #8
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            MIR_Header_Model MIR_Header_Model = new MIR_Header_Model
            {
                RequestNo   = txtRequestNo.Text,
                ReferenceNo = txtRefNo.Text,
                POCMNumber  = txtPOCMNum.Text,
                PreparedBy  = txtPreparedBy.Text,
                Remarks     = txtRemarks.Text,
                RequestDate = Convert.ToDateTime(txtDate.Text, System.Globalization.CultureInfo.InvariantCulture),
                Requestor   = txtRequestor.Text
            };
            int idMIRheader = MIR_Header.Save(oCon, MIR_Header_Model);

            DataTable dtTempData = (DataTable)Session["TempData"];

            for (int x = 0; x <= dtTempData.Rows.Count - 1; x++)
            {
                int     idItem      = Convert.ToInt32(dtTempData.Rows[x][0].ToString());
                string  item_number = dtTempData.Rows[x][1].ToString();
                int     qty         = Convert.ToInt32(dtTempData.Rows[x][2].ToString());
                decimal cost        = Convert.ToDecimal(dtTempData.Rows[x][3].ToString());

                MIR_Detail_Model MIR_Detail_Model = new MIR_Detail_Model
                {
                    idMIRHeader = idMIRheader,
                    Cost        = cost,
                    Quantity    = qty,
                    idItem      = idItem
                };
                int idMIRdetail = MIR_Detail.Save(oCon, MIR_Detail_Model);

                string dtname = "Ser" + idItem.ToString() + "-" + item_number;

                var dt = (DataTable)Session[dtname];

                for (int y = 0; y <= dt.Rows.Count - 1; y++)
                {
                    Item_Serial_Model item_Serial_Model = new Item_Serial_Model
                    {
                        idItem      = idItem,
                        Serial_No   = dt.Rows[y][0].ToString(),
                        InStock     = "Y",
                        PO_Number   = "",
                        timestamp   = DateTime.Now,
                        Unit_Comp   = "",
                        Unit_Cost   = cost,
                        user_change = Session["User_Domain"].ToString()
                    };
                    Item_Serial.Save(oCon, item_Serial_Model);

                    int idSerial = Item_Serial.RetrieveIdSerial(oCon, dt.Rows[y][0].ToString());

                    MIR_Serial_Model MIR_Serial_Model = new MIR_Serial_Model
                    {
                        idMIRDetail = idMIRdetail,
                        idSerial    = idSerial
                    };
                    MIR_Serial.Save(oCon, MIR_Serial_Model);

                    Trans_History_Model trans_History_Model = new Trans_History_Model
                    {
                        Trans_Code   = "MIR",
                        Item_Number  = item_number,
                        Site         = "WH-JMS",
                        UM           = "UT",
                        Doc_No       = txtRequestNo.Text,
                        Serial_No    = dt.Rows[y][0].ToString(),
                        Reason_Code  = "",
                        Trans_Date   = DateTime.Now,
                        Order_No     = "",
                        Invoice_No   = "",
                        Reference_No = txtRefNo.Text,
                        Trans_Qty    = 1,
                        Trans_Amt    = cost,
                        Remarks      = txtRemarks.Text,
                        user_domain  = Session["User_Domain"].ToString()
                    };
                    Trans_History.Save(oCon, trans_History_Model);
                }
            }

            Item_Master.InventoryCheckForError(oCon);
            clearAll();
            dvView.Visible   = true;
            dvCreate.Visible = false;

            HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "MIR Saved!" + ControlChars.Quote + ");</script>");
        }
Exemple #9
0
        protected void btnAddToTempGv_Click(object sender, EventArgs e)
        {
            try
            {
                string extension = System.IO.Path.GetExtension(fuUploadSerial.FileName);
                if (extension == ".csv")
                {
                    int qty = Convert.ToInt32(txtQuantity.Text);

                    StreamReader SR       = new StreamReader(fuUploadSerial.PostedFile.InputStream);
                    string       line     = SR.ReadLine();
                    string[]     strArray = line.Split(',');
                    DataTable    dtUpload = new DataTable();
                    DataRow      rowUpload;
                    DataTable    dtCheck = new DataTable();
                    DataRow      rowCheck;
                    dtUpload.Columns.Add(new DataColumn());
                    dtCheck.Columns.Add(new DataColumn());

                    DataTable dtForSave = new DataTable();
                    //dtForSave.Columns.Add("idSerial");
                    dtForSave.Columns.Add("Serial_No");

                    try
                    {
                        do
                        {
                            line = SR.ReadLine().Trim();
                            if (line != string.Empty)
                            {
                                rowUpload           = dtUpload.NewRow();
                                rowCheck            = dtCheck.NewRow();
                                line                = line.ToString().Replace(",", "_");
                                line                = line.ToString().Replace("'", "");
                                line                = line.Trim();
                                rowUpload.ItemArray = line.Split(',');
                                dtUpload.Rows.Add(rowUpload);
                                rowCheck.ItemArray = line.Split(',');
                                dtCheck.Rows.Add(rowCheck);
                            }
                            else
                            {
                                break;
                            }
                        }while (true);
                    }
                    catch
                    {
                    }

                    if (qty == dtUpload.Rows.Count)
                    {
                        int duplicateCount     = 0;
                        int notInDatabaseCount = 0;
                        int notInStock         = 0;

                        for (var x = 0; x <= dtCheck.Rows.Count - 1; x++)
                        {
                            int counter = 0;
                            for (var y = 0; y <= dtUpload.Rows.Count - 1; y++)
                            {
                                if (dtCheck.Rows[x][0].ToString() == dtUpload.Rows[y][0].ToString())
                                {
                                    counter = counter + 1;
                                    if (counter > 1)
                                    {
                                        duplicateCount = duplicateCount + 1;
                                    }
                                }
                            }

                            if (Item_Serial.CheckDuplicate(oCon, dtCheck.Rows[x][0].ToString(), Convert.ToInt32(Session["idItem"].ToString())) == 0)
                            {
                                notInDatabaseCount = notInDatabaseCount + 1;
                            }

                            if (Item_Serial.CheckIfInStock(oCon, dtCheck.Rows[x][0].ToString()) == 0)
                            {
                                notInStock = notInStock + 1;
                            }

                            if (duplicateCount == 0)
                            {
                                if (notInStock == 0)
                                {
                                    if (notInDatabaseCount == 0)
                                    {
                                        //int idSerial = Item_Serial.RetrieveIdSerial(oCon, dtUpload.Rows[x][0].ToString());

                                        DataRow dr = dtForSave.NewRow();
                                        //dr[0] = idSerial;
                                        //dr[1] = dtCheck.Rows[x][0].ToString();
                                        dr[0] = dtCheck.Rows[x][0].ToString();
                                        dtForSave.Rows.Add(dr);
                                    }
                                }
                            }
                        }

                        if (notInStock == 0)
                        {
                            if (duplicateCount == 0)
                            {
                                if (notInDatabaseCount == 0)
                                {
                                    var dt = (DataTable)Session["TempData"];

                                    DataRow dr2    = dt.NewRow();
                                    int     iditem = Convert.ToInt32(Session["idItem"].ToString());
                                    dr2[0] = iditem;
                                    dr2[1] = txtItemNumber.Text;
                                    dr2[2] = txtQuantity.Text;
                                    dr2[3] = txtCost.Text;
                                    dt.Rows.Add(dr2);

                                    Session.Remove("TempData");
                                    Session["TempData"] = dt;
                                    gvTempGv.DataSource = dt;
                                    gvTempGv.DataBind();

                                    string dtName = "Ser" + Session["idItem"].ToString() + "-" + txtItemNumber.Text;
                                    Session[dtName] = dtForSave;
                                    clearItemDetails();

                                    dvItemDetails.Visible   = false;
                                    dvAddNewProduct.Visible = false;
                                }
                                else
                                {
                                    HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "There are " + notInDatabaseCount.ToString() + " serial numbers that is not in the database." + ControlChars.Quote + ");</script>");
                                }
                            }
                            else
                            {
                                HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "Duplicate serial numbers detected in file : " + duplicateCount.ToString() + ControlChars.Quote + ");</script>");
                            }
                        }
                        else
                        {
                            HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "Serial Numbers not in stock : " + notInStock.ToString() + ControlChars.Quote + ");</script>");
                        }
                    }
                    else
                    {
                        HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "Uploaded file quantity is not equal to quantity entered! " + ControlChars.Quote + ");</script>");
                    }
                }
                else
                {
                    HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "Please upload a CSV file! " + ControlChars.Quote + ");</script>");
                }
            }
            catch (Exception ex)
            {
                HttpContext.Current.Response.Write("<script>alert(" + ControlChars.Quote + "Please select a file! " + ControlChars.Quote + ");</script>");
            }
        }
Exemple #10
0
        protected void gvView_SelectedIndexChanged(object sender, EventArgs e)
        {
            Session["WorkMode"] = "View";

            dvView.Visible   = false;
            dvCreate.Visible = true;

            GridViewRow row         = gvView.SelectedRow;
            int         idMIRHeader = Convert.ToInt32(row.Cells[0].Text.Trim());

            txtRequestNo.Text  = row.Cells[1].Text.Trim();
            txtRequestor.Text  = row.Cells[2].Text.Trim();
            txtRefNo.Text      = row.Cells[3].Text.Trim();
            txtPOCMNum.Text    = row.Cells[4].Text.Trim();
            txtDate.Text       = Convert.ToDateTime(row.Cells[5].Text.Trim()).ToShortDateString();
            txtPreparedBy.Text = row.Cells[6].Text.Trim();
            txtRemarks.Text    = row.Cells[7].Text.Trim();

            var source = new DataTable();

            source.Columns.Add("idItem");
            source.Columns.Add("Item Number");
            source.Columns.Add("Qty");
            source.Columns.Add("Cost");

            var detail = MIR_Detail.RetrieveData(oCon, idMIRHeader, 0);

            for (int x = 0; x <= detail.Count - 1; x++)
            {
                int    iditem     = detail[x].idItem;
                var    master     = Item_Master.RetrieveData(oCon, iditem);
                string itemnumber = master[0].ItemNumber;

                DataRow dr = source.NewRow();
                dr[0] = iditem;
                dr[1] = itemnumber;
                dr[2] = detail[x].Quantity;
                dr[3] = detail[x].Cost;
                source.Rows.Add(dr);

                var serial = MIR_Serial.RetrieveData(oCon, detail[x].idMIRDetail, 0);

                var serialList = new DataTable();
                serialList.Columns.Add("Serial Number");

                for (int y = 0; y <= serial.Count - 1; y++)
                {
                    var     dtSerial = Item_Serial.RetrieveData(oCon, serial[y].idSerial);
                    DataRow dr2      = serialList.NewRow();
                    dr2[0] = dtSerial[0].Serial_No;
                    serialList.Rows.Add(dr2);
                }

                string dtName = "Ser" + iditem + "-" + itemnumber;
                Session[dtName] = serialList;
            }

            gvTempGv.DataSource = source;
            gvTempGv.DataBind();

            btnSave.Visible         = false;
            btnCancel.Visible       = false;
            btnAddItemModal.Visible = false;
        }