Пример #1
0
        private void AlertForItemShortage()
        {
            CReorderLevelBO oReorderLevelBO     = new CReorderLevelBO();
            CResult         oResultReorderLevel = new CResult();
            CReorderLevel   oReorderLevel       = new CReorderLevel();
            String          ItemName            = null;

            oResultReorderLevel = oReorderLevelBO.ReadAllReorderLevelData(oReorderLevel);
            if (oResultReorderLevel.IsSuccess)
            {
                foreach (CReorderLevel obj in oResultReorderLevel.Data as ArrayList)
                {
                    oReorderLevel.Quantity = obj.Quantity;

                    CInventoryBO oInventoryBO     = new CInventoryBO();
                    CResult      oResultInventory = new CResult();
                    CInventory   oInventory       = new CInventory();
                    oInventory.Invt_BranchOID = obj.Branch_ID;
                    oInventory.Invt_LocOID    = obj.Location_ID;
                    oInventory.Invt_ItemOID   = obj.Item_ID;
                    oResultInventory          = oInventoryBO.ReadForROL(oInventory);
                    if (oResultInventory.IsSuccess)
                    {
                        foreach (CInventory oInv in oResultInventory.Data as ArrayList)
                        {
                            if (int.Parse(oInv.Invt_QTY.ToString()) < int.Parse(oReorderLevel.Quantity.ToString()))
                            {
                                ItemName = ItemName + oInv.Invt_ItemName.ToString() + "\n";
                                // MessageBox.Show("Item", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                        }
                    }
                }
                //MessageBox.Show("Shortage Of Following Items "+ItemName+"", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                if (ItemName != null)
                {
                    frmPopup ofrmPopUp = new frmPopup(PopupSkins.AlertSkin);
                    ofrmPopUp.ShowPopup("Item Shortage!!", "Shortage Of Following Items-" + ItemName + "", 500, 2000, 500);
                }
            }
        }
Пример #2
0
        private float InventoryItemData(int i)
        {
            CResult      oResult      = new CResult();
            CInventoryBO oInventoryBO = new CInventoryBO();

            CInventory oInventory = new CInventory();

            if (dgItemList.Rows[i].Cells["colItem"].Value != null)
            {
                oInventory.Invt_ItemOID = ((DataGridViewComboBoxCell)dgItemList.Rows[i].Cells["colItem"]).Value.ToString();
            }
            if (dgItemList.Rows[i].Cells["colSrcBranch"].Value != null)
            {
                oInventory.Invt_BranchOID = ((DataGridViewComboBoxCell)dgItemList.Rows[i].Cells["colSrcBranch"]).Value.ToString();
            }
            if (dgItemList.Rows[i].Cells["colSourceLoc"].Value != null)
            {
                oInventory.Invt_LocOID = ((DataGridViewComboBoxCell)dgItemList.Rows[i].Cells["colSourceLoc"]).Value.ToString();
            }
            if (dgItemList.Rows[i].Cells["colSrcInvType"].Value != null)
            {
                oInventory.Invt_InvType = Convert.ToInt32(Enum.Parse(typeof(EInvType), ((DataGridViewComboBoxCell)dgItemList.Rows[i].Cells["colSrcInvType"]).Value.ToString()));
            }

            oResult = oInventoryBO.ReadQtyByCond(oInventory);

            if (oResult.IsSuccess)
            {
                return(((CInventory)oResult.Data).Invt_QTY);
            }
            else
            {
                MessageBox.Show("Loading error...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(0.00f);
        }
Пример #3
0
            //public CResult ReadByBranchAndDate(string BranchCode, DateTime FromDate, DateTime ToDate)
            //{
            //    List<CGRDetails> oItemList = new List<CGRDetails>();


            //    oResult = new CResult();
            //    conn = oConnManager.GetConnection(out s_DBError);
            //    if (conn != null)
            //    {
            //        try
            //        {
            //            DataSet ds = new DataSet();
            //            SqlCommand cmd = new SqlCommand();

            //            cmd.Connection = conn;
            //            cmd.CommandText = "sp_GRDetail_ReadByBrnIdAndDate";
            //            cmd.CommandType = CommandType.StoredProcedure;
            //            cmd.Parameters.Clear();

            //            cmd.Parameters.AddWithValue("@BranchID", BranchCode);
            //            cmd.Parameters.AddWithValue("@SOMstr_DateFrom", FromDate);
            //            cmd.Parameters.AddWithValue("@SOMstr_DateTo", ToDate);

            //            SqlDataAdapter da = new SqlDataAdapter(cmd);
            //            da.Fill(ds);
            //            DataTable dtItem = ds.Tables[0];

            //            //  oItemList.Add("");
            //            foreach (DataRow dr in dtItem.Rows)
            //            {
            //                CGRDetails oGRDetails = new CGRDetails();

            //                oGRDetails.GRDet_ItemOID = dr["GRDet_ItemOID"].ToString();
            //                oGRDetails.GRDet_QTY = float.Parse(dr["GRDet_QTY"].ToString());
            //                oGRDetails.GRDet_BranchOID = dr["GRDet_Branch"].ToString();
            //                oGRDetails.GRDet_Price = float.Parse(dr["GRDet_Price"].ToString());
            //                oGRDetails.GRDet_Amount = float.Parse(dr["GRDet_Amount"].ToString());
            //                oGRDetails.GRDet_ItemName = dr["GRDet_ItemName"].ToString();

            //                oItemList.Add(oGRDetails);

            //            }

            //            oResult.IsSuccess = true;
            //            oResult.Data = oItemList;

            //        }
            //        catch (SqlException e)
            //        {
            //            oResult.IsSuccess = false;
            //            oResult.ErrMsg = e.Message;
            //        }
            //        finally
            //        {
            //            oConnManager.Close();
            //        }
            //    }
            //    else
            //    {
            //        oResult.IsSuccess = false;
            //        oResult.ErrMsg = s_DBError;
            //    }

            //    return oResult;
            //}
            //public CResult ReduceByItemOID(List<CSODetails> oListSODetails)
            //{
            //    oResult = new CResult();
            //    conn = oConnManager.GetConnection(out s_DBError);
            //    if (conn != null)
            //    {
            //        SqlCommand cmd = new SqlCommand();
            //        cmd.Connection = conn;

            //        cmd.Transaction = oConnManager.BeginTransaction();
            //        try
            //        {
            //            foreach (CSODetails oSODetails in oListSODetails)
            //            {
            //                cmd.CommandText = "sp_GRDetails_ReduceByItemOID";
            //                cmd.CommandType = CommandType.StoredProcedure;
            //                cmd.Parameters.Clear();

            //                cmd.Parameters.AddWithValue("@ItemOID", oSODetails.SODet_ItemOID);
            //                cmd.Parameters.AddWithValue("@ItemQTY", oSODetails.SODet_QTY);
            //                cmd.Parameters.AddWithValue("@BranchOID", oSODetails.SODet_BranchOID);

            //                cmd.ExecuteNonQuery();
            //            }

            //            oConnManager.Commit();

            //            oResult.IsSuccess = true;
            //        }
            //        catch (SqlException e)
            //        {
            //            string sRollbackError = oConnManager.Rollback();

            //            oResult.IsSuccess = false;
            //            oResult.ErrMsg = sRollbackError.Equals("") ? oConnManager.GetErrorMessage(e) : sRollbackError;
            //        }
            //        finally
            //        {
            //            oConnManager.Close();
            //        }
            //    }
            //    else
            //    {
            //        oResult.IsSuccess = false;
            //        oResult.ErrMsg = s_DBError;
            //    }

            //    return oResult;
            //}


            public CResult ExportAndUpdate(CGRMaster oMaster, string url)
            {
                CInventory        oInventory      = new CInventory();
                CResult           oResult         = new CResult();
                DataTable         dt              = new DataTable();
                List <CInventory> oInvtList       = new List <CInventory>();
                List <CGRDetails> exportExcelList = new List <CGRDetails>();

                oResult = new CResult();
                conn    = oConnManager.GetConnection(out s_DBError);
                if (conn != null)
                {
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = conn;
                    cmd.Parameters.Clear();

                    cmd.Transaction = oConnManager.BeginTransaction();
                    try
                    {
                        foreach (CGRDetails oDetails in oMaster.GRMstr_DetailsList)
                        {
                            oInventory                = new CInventory();
                            oInventory.Invt_Branch    = oDetails.GRDet_Branch;
                            oInventory.Invt_BranchOID = oDetails.GRDet_BranchOID;
                            oInventory.Invt_InvType   = oDetails.GRDet_InvType;
                            oInventory.Invt_ItemOID   = oDetails.GRDet_ItemOID;
                            oInventory.Invt_LocOID    = oDetails.GRDet_LocOID;
                            oInventory.Invt_QTY       = oDetails.GRDet_QTY;

                            oInvtList.Add(oInventory);
                            exportExcelList.Add(oDetails);
                        }
                        CsvExport <CGRDetails> csv = new CsvExport <CGRDetails>(exportExcelList);
                        csv.Export();
                        csv.ExportToFile(url);

                        // InventoryDT = ConvertToDataTable<CGRDetails>(exportExcelList);

                        CInventoryBO oInventoryBO = new CInventoryBO();
                        oResult = oInventoryBO.InvtDec(oInvtList);

                        if (oResult.IsSuccess)
                        {
                            oConnManager.Commit();
                            oResult.IsSuccess = true;
                        }
                        else
                        {
                            oResult.ErrMsg    = oConnManager.Rollback();
                            oResult.IsSuccess = false;
                        }
                    }
                    catch (SqlException e)
                    {
                        string sRollbackError = oConnManager.Rollback();

                        oResult.IsSuccess = false;
                        oResult.ErrMsg    = sRollbackError.Equals("") ? oConnManager.GetErrorMessage(e) : sRollbackError;
                    }
                    finally
                    {
                        oConnManager.Close();
                    }
                }
                else
                {
                    oResult.IsSuccess = false;
                    oResult.ErrMsg    = s_DBError;
                }
                return(oResult);
            }
Пример #4
0
            public CResult ReduceByItemOID(List <CSODetails> oListSODetails)
            {
                List <CInventory> oInvtList = new List <CInventory>();

                oResult = new CResult();
                conn    = oConnManager.GetConnection(out s_DBError);
                if (conn != null)
                {
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = conn;

                    cmd.Transaction = oConnManager.BeginTransaction();
                    try
                    {
                        foreach (CSODetails oSODetails in oListSODetails)
                        {
                            StringBuilder sb = new StringBuilder();
                            sb.Append("DECLARE @GRDet_OID char(24); ");
                            sb.Append("DECLARE @GRDet_QTY float; ");
                            sb.Append("DECLARE @TempQTY float; ");
                            sb.Append("WHILE (@ItemQTY > 0) BEGIN ");
                            sb.Append("SELECT @GRDet_QTY = 0; ");
                            sb.Append("SELECT @TempQTY = 0; ");
                            sb.Append("SELECT TOP(1) @GRDet_OID = [GRDet_OID], @GRDet_QTY = [GRDet_QTY] ");
                            sb.Append("FROM t_GRDet ");
                            sb.Append("WHERE [GRDet_ItemOID] = @ItemOID	AND [GRDet_BranchOID] = @BranchOID AND [GRDet_QTY] > 0 ");
                            sb.Append("IF (@GRDet_OID IS NOT NULL) BEGIN ");
                            sb.Append("IF(@ItemQTY > @GRDet_QTY) BEGIN ");
                            sb.Append("SELECT @TempQTY = 0; ");
                            sb.Append("SELECT @ItemQTY = @ItemQTY - @GRDet_QTY; ");
                            sb.Append("END ELSE BEGIN ");
                            sb.Append("SELECT @TempQTY = @GRDet_QTY - @ItemQTY; ");
                            sb.Append("SELECT @ItemQTY = 0; ");
                            sb.Append("END ");
                            sb.Append("UPDATE t_GRDet ");
                            sb.Append("SET ");
                            sb.Append("[GRDet_QTY] = @TempQTY ");
                            sb.Append("WHERE ");
                            sb.Append("[GRDet_OID] = @GRDet_OID; ");
                            sb.Append("END ");
                            sb.Append("SELECT @GRDet_OID = NULL; ");
                            sb.Append("END");

                            cmd.CommandType = CommandType.Text;
                            cmd.Parameters.Clear();

                            cmd.CommandText = sb.ToString();
                            cmd.Parameters.AddWithValue("@ItemOID", oSODetails.SODet_ItemOID);
                            cmd.Parameters.AddWithValue("@ItemQTY", oSODetails.SODet_QTY);
                            cmd.Parameters.AddWithValue("@BranchOID", oSODetails.SODet_BranchOID);

                            cmd.ExecuteNonQuery();

                            // populate inv list
                            CInventory oInventory = new CInventory();

                            oInventory.Invt_Branch    = oSODetails.SODet_Branch;
                            oInventory.Invt_BranchOID = oSODetails.SODet_BranchOID;
                            oInventory.Invt_InvType   = (int)EInvType.GOOD;
                            oInventory.Invt_ItemOID   = oSODetails.SODet_ItemOID;
                            oInventory.Invt_LocOID    = oSODetails.SODet_LocOID;
                            oInventory.Invt_QTY       = oSODetails.SODet_QTY;

                            oInvtList.Add(oInventory);
                        }

                        //Update inv
                        CInventoryBO oInventoryBO = new CInventoryBO();
                        oResult = oInventoryBO.InvtDec(oInvtList);

                        if (oResult.IsSuccess)
                        {
                            oConnManager.Commit();
                            oResult.IsSuccess = true;
                        }
                        else
                        {
                            oResult.ErrMsg    = oConnManager.Rollback();
                            oResult.IsSuccess = false;
                        }
                    }
                    catch (SqlException e)
                    {
                        string sRollbackError = oConnManager.Rollback();

                        oResult.IsSuccess = false;
                        oResult.ErrMsg    = sRollbackError.Equals("") ? oConnManager.GetErrorMessage(e) : sRollbackError;
                    }
                    finally
                    {
                        oConnManager.Close();
                    }
                }
                else
                {
                    oResult.IsSuccess = false;
                    oResult.ErrMsg    = s_DBError;
                }

                return(oResult);
            }
Пример #5
0
            public CResult Update(CGRMaster oMaster, Dictionary <string, CGRDetails> oGRFinalQtyDic)
            {
                List <CInventory> oInvtList = new List <CInventory>();

                oResult = new CResult();
                conn    = oConnManager.GetConnection(out s_DBError);
                if (conn != null)
                {
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = conn;
                    cmd.Parameters.Clear();

                    cmd.Transaction = oConnManager.BeginTransaction();
                    try
                    {
                        cmd.CommandText = "sp_GRMaster_Update";
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.Clear();

                        cmd.Parameters.AddWithValue("@GRMstr_OID", oMaster.GRMstr_OID);
                        cmd.Parameters.AddWithValue("@GRMstr_Branch", oMaster.GRMstr_Branch);
                        cmd.Parameters.AddWithValue("@GRMstr_Code", oMaster.GRMstr_Code);
                        cmd.Parameters.AddWithValue("@GRMstr_Date", oMaster.GRMstr_Date);
                        cmd.Parameters.AddWithValue("@GRMstr_Type", oMaster.GRMstr_Type);
                        cmd.Parameters.AddWithValue("@GRMstr_By", oMaster.GRMstr_By);
                        cmd.Parameters.AddWithValue("@GRMstr_RefBy", oMaster.GRMstr_RefBy);
                        cmd.Parameters.AddWithValue("@GRMstr_VendorID", oMaster.GRMstr_VendorID);
                        cmd.Parameters.AddWithValue("@GRMstr_TotalAmt", oMaster.GRMstr_TotalAmt);

                        cmd.Parameters.AddWithValue("@Creator", oMaster.Creator);
                        cmd.Parameters.AddWithValue("@CreationDate", oMaster.CreationDate);
                        cmd.Parameters.AddWithValue("@UpdateBy", oMaster.UpdateBy);
                        cmd.Parameters.AddWithValue("@UpdateDate", oMaster.UpdateDate);
                        cmd.Parameters.AddWithValue("@IsActive", (oMaster.IsActive == "Y") ? 1 : 0);
                        cmd.Parameters.AddWithValue("@Remarks", oMaster.Remarks);

                        cmd.ExecuteNonQuery();


                        cmd.CommandText = "Delete from t_GRDet where GRDet_MStrOID=@GRMstr_OID";
                        cmd.CommandType = CommandType.Text;
                        cmd.Parameters.Clear();
                        cmd.Parameters.AddWithValue("@GRMstr_OID", oMaster.GRMstr_OID);
                        cmd.ExecuteNonQuery();

                        foreach (CGRDetails oDetails in oMaster.GRMstr_DetailsList)
                        {
                            cmd.CommandText = "sp_GRDetails_Insert";
                            cmd.CommandType = CommandType.StoredProcedure;
                            cmd.Parameters.Clear();

                            cmd.Parameters.AddWithValue("@GRDet_Branch", oDetails.GRDet_Branch);
                            cmd.Parameters.AddWithValue("@GRDet_OID", oDetails.GRDet_OID);
                            cmd.Parameters.AddWithValue("@GRDet_MStrOID", oMaster.GRMstr_OID);
                            cmd.Parameters.AddWithValue("@GRDet_ItemOID", oDetails.GRDet_ItemOID);
                            cmd.Parameters.AddWithValue("@GRDet_QTY", oDetails.GRDet_QTY);
                            cmd.Parameters.AddWithValue("@GRDet_UOM", oDetails.GRDet_UOM);
                            cmd.Parameters.AddWithValue("@GRDet_BranchOID", oDetails.GRDet_BranchOID);
                            cmd.Parameters.AddWithValue("@GRDet_LocOID", oDetails.GRDet_LocOID);
                            cmd.Parameters.AddWithValue("@GRDet_InvType", oDetails.GRDet_InvType);
                            cmd.Parameters.AddWithValue("@GRDet_Price", oDetails.GRDet_Price);
                            cmd.Parameters.AddWithValue("@GRDet_Currency", oDetails.GRDet_Currency);
                            cmd.Parameters.AddWithValue("@GRDet_Amount", oDetails.GRDet_Amount);

                            cmd.ExecuteNonQuery();
                        }

                        // update inventory

                        foreach (CGRDetails oGRDetails in oGRFinalQtyDic.Values)
                        {
                            // populate inv list
                            CInventory oInventory = new CInventory();

                            oInventory.Invt_Branch    = oGRDetails.GRDet_Branch;
                            oInventory.Invt_BranchOID = oGRDetails.GRDet_BranchOID;
                            oInventory.Invt_InvType   = oGRDetails.GRDet_InvType;
                            oInventory.Invt_ItemOID   = oGRDetails.GRDet_ItemOID;
                            oInventory.Invt_LocOID    = oGRDetails.GRDet_LocOID;
                            oInventory.Invt_QTY       = oGRDetails.GRDet_QTY;

                            oInvtList.Add(oInventory);
                        }

                        //Update inv

                        CInventoryBO oInventoryBO = new CInventoryBO();
                        oResult = oInventoryBO.InvtInc(oInvtList);

                        if (oResult.IsSuccess)
                        {
                            oConnManager.Commit();

                            oResult.IsSuccess = true;
                        }
                        else
                        {
                            oResult.ErrMsg    = oConnManager.Rollback();
                            oResult.IsSuccess = false;
                        }
                    }
                    catch (SqlException e)
                    {
                        string sRollbackError = oConnManager.Rollback();

                        oResult.IsSuccess = false;
                        oResult.ErrMsg    = sRollbackError.Equals("") ? oConnManager.GetErrorMessage(e) : sRollbackError;
                    }
                    finally
                    {
                        oConnManager.Close();
                    }
                }
                else
                {
                    oResult.IsSuccess = false;
                    oResult.ErrMsg    = s_DBError;
                }

                return(oResult);
            }
Пример #6
0
            public CResult Create(CGRMaster oMaster)
            {
                List <CInventory> oInvtList = new List <CInventory>();

                oResult = new CResult();
                conn    = oConnManager.GetConnection(out s_DBError);
                if (conn != null)
                {
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = conn;
                    cmd.Parameters.Clear();

                    cmd.Transaction = oConnManager.BeginTransaction();
                    try
                    {
                        //
                        cmd.CommandText = "sp_GRMaster_Insert";
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.Add("@GRMstr_OID", SqlDbType.Char, 24);
                        cmd.Parameters["@GRMstr_OID"].Direction = ParameterDirection.Output;

                        cmd.Parameters.AddWithValue("@GRMstr_Branch", oMaster.GRMstr_Branch);
                        cmd.Parameters.AddWithValue("@GRMstr_Code", oMaster.GRMstr_Code);
                        cmd.Parameters.AddWithValue("@GRMstr_Date", oMaster.GRMstr_Date);
                        cmd.Parameters.AddWithValue("@GRMstr_Type", oMaster.GRMstr_Type);
                        cmd.Parameters.AddWithValue("@GRMstr_By", oMaster.GRMstr_By);
                        cmd.Parameters.AddWithValue("@GRMstr_RefBy", oMaster.GRMstr_RefBy);
                        cmd.Parameters.AddWithValue("@GRMstr_VendorID", oMaster.GRMstr_VendorID);
                        cmd.Parameters.AddWithValue("@GRMstr_TotalAmt", oMaster.GRMstr_TotalAmt);

                        cmd.Parameters.AddWithValue("@Creator", oMaster.Creator);
                        cmd.Parameters.AddWithValue("@CreationDate", oMaster.CreationDate);
                        cmd.Parameters.AddWithValue("@UpdateBy", oMaster.UpdateBy);
                        cmd.Parameters.AddWithValue("@UpdateDate", oMaster.UpdateDate);
                        cmd.Parameters.AddWithValue("@IsActive", (oMaster.IsActive == "Y") ? 1 : 0);
                        cmd.Parameters.AddWithValue("@Remarks", oMaster.Remarks);
                        cmd.Parameters.AddWithValue("@IsImported", oMaster.GRMstr_IsImported);

                        cmd.ExecuteNonQuery();
                        string stGRMStr_OID = cmd.Parameters["@GRMstr_OID"].Value.ToString();

                        if (stGRMStr_OID.Trim() == "")
                        {
                            oResult.ErrMsg    = "This delivered data is already exists.";
                            oResult.IsSuccess = false;
                            return(oResult);
                        }

                        foreach (CGRDetails oDetails in oMaster.GRMstr_DetailsList)
                        {
                            cmd.CommandText = "sp_GRDetails_Insert";
                            cmd.Parameters.Clear();

                            cmd.Parameters.AddWithValue("@GRDet_Branch", oDetails.GRDet_Branch);
                            cmd.Parameters.AddWithValue("@GRDet_OID", oDetails.GRDet_OID);
                            cmd.Parameters.AddWithValue("@GRDet_MStrOID", stGRMStr_OID);
                            cmd.Parameters.AddWithValue("@GRDet_ItemOID", oDetails.GRDet_ItemOID);
                            cmd.Parameters.AddWithValue("@GRDet_QTY", oDetails.GRDet_QTY);
                            cmd.Parameters.AddWithValue("@GRDet_UOM", oDetails.GRDet_UOM);
                            cmd.Parameters.AddWithValue("@GRDet_BranchOID", oDetails.GRDet_BranchOID);
                            cmd.Parameters.AddWithValue("@GRDet_LocOID", oDetails.GRDet_LocOID);
                            cmd.Parameters.AddWithValue("@GRDet_InvType", oDetails.GRDet_InvType);
                            cmd.Parameters.AddWithValue("@GRDet_Price", oDetails.GRDet_Price);
                            cmd.Parameters.AddWithValue("@GRDet_Currency", oDetails.GRDet_Currency);
                            cmd.Parameters.AddWithValue("@GRDet_Amount", oDetails.GRDet_Amount);

                            cmd.ExecuteNonQuery();

                            // populate inv list
                            CInventory oInventory = new CInventory();

                            oInventory.Invt_Branch    = oDetails.GRDet_Branch;
                            oInventory.Invt_BranchOID = oDetails.GRDet_BranchOID;
                            oInventory.Invt_InvType   = oDetails.GRDet_InvType;
                            oInventory.Invt_ItemOID   = oDetails.GRDet_ItemOID;
                            oInventory.Invt_LocOID    = oDetails.GRDet_LocOID;
                            oInventory.Invt_QTY       = oDetails.GRDet_QTY;

                            oInvtList.Add(oInventory);
                        }

                        //Update inv

                        CInventoryBO oInventoryBO = new CInventoryBO();
                        oResult = oInventoryBO.InvtInc(oInvtList);

                        if (oResult.IsSuccess)
                        {
                            oConnManager.Commit();

                            oResult.IsSuccess = true;
                        }
                        else
                        {
                            oResult.ErrMsg    = oConnManager.Rollback();
                            oResult.IsSuccess = false;
                        }
                    }
                    catch (SqlException e)
                    {
                        string sRollbackError = oConnManager.Rollback();

                        oResult.IsSuccess = false;
                        oResult.ErrMsg    = sRollbackError.Equals("") ? oConnManager.GetErrorMessage(e) : sRollbackError;
                    }
                    finally
                    {
                        oConnManager.Close();
                    }
                }
                else
                {
                    oResult.IsSuccess = false;
                    oResult.ErrMsg    = s_DBError;
                }

                return(oResult);
            }
Пример #7
0
            public CResult Create(CMTMaster oMTMaster)
            {
                List <CInventory> oSrcInvtList = new List <CInventory>();
                List <CInventory> oDesInvtList = new List <CInventory>();

                oResult = new CResult();
                conn    = oConnManager.GetConnection(out s_DBError);
                if (conn != null)
                {
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = conn;

                    cmd.Transaction = oConnManager.BeginTransaction();
                    try
                    {
                        cmd.CommandText = "sp_MTMstr_Insert";
                        cmd.CommandType = CommandType.StoredProcedure;

                        //cmd.Parameters.AddWithValue("@MTMstr_OID", oMTMaster.MTMstr_OID);


                        SqlParameter sParam = new SqlParameter("@MTMstr_OID", SqlDbType.Char, 24);
                        sParam.Direction = ParameterDirection.Output;
                        cmd.Parameters.Add(sParam).Value = "";


                        cmd.Parameters.AddWithValue("@MTMstr_Branch", oMTMaster.MTMstr_Branch);
                        cmd.Parameters.AddWithValue("@MTMstr_Code", oMTMaster.MTMstr_Code);
                        cmd.Parameters.AddWithValue("@MTMstr_Date", oMTMaster.MTMstr_Date);
                        cmd.Parameters.AddWithValue("@MTMstr_DOrder", oMTMaster.MTMstr_DOrder);


                        cmd.Parameters.AddWithValue("@MTMstr_Creator", oMTMaster.Creator);
                        cmd.Parameters.AddWithValue("@MTMstr_CreationDate", oMTMaster.CreationDate);
                        cmd.Parameters.AddWithValue("@MTMstr_UpdatedBy", oMTMaster.UpdateBy);
                        cmd.Parameters.AddWithValue("@MTMstr_UpdateDate", oMTMaster.UpdateDate);
                        cmd.Parameters.AddWithValue("@MTMstr_IsActive", (oMTMaster.IsActive == "Y")?1:0);
                        cmd.Parameters.AddWithValue("@MTMstr_Remarks", oMTMaster.Remarks);


                        cmd.ExecuteNonQuery();

                        string stMTMstr_OID = cmd.Parameters["@MTMstr_OID"].Value.ToString();

                        foreach (CMTDetails oDetails in oMTMaster.MTMstr_DetailsList)
                        {
                            cmd.CommandText = "sp_MTDtls_Insert";
                            cmd.CommandType = CommandType.StoredProcedure;
                            cmd.Parameters.Clear();
                            cmd.Parameters.AddWithValue("@MTDtls_Branch", oDetails.MTDtls_Branch);
                            cmd.Parameters.AddWithValue("@MTDtls_OID", oDetails.MTDtls_OID);
                            cmd.Parameters.AddWithValue("@MTDtls_MstrOID", stMTMstr_OID);
                            cmd.Parameters.AddWithValue("@MTDtls_ItemOID", oDetails.MTDtls_ItemOID);
                            cmd.Parameters.AddWithValue("@MTDtls_IssQty", oDetails.MTDtls_IssQty);
                            cmd.Parameters.AddWithValue("@MTDtls_IssUOMOID", oDetails.MTDtls_IssUOMOID);
                            cmd.Parameters.AddWithValue("@MTDtls_SBranOID", oDetails.MTDtls_SBranOID);
                            cmd.Parameters.AddWithValue("@MTDtls_SrcLocOID", oDetails.MTDtls_SrcLocOID);
                            cmd.Parameters.AddWithValue("@MTDtls_SrcInvTyp", oDetails.MTDtls_SrcInvTyp);
                            cmd.Parameters.AddWithValue("@MTDtls_DBranOID", oDetails.MTDtls_DBranOID);
                            cmd.Parameters.AddWithValue("@MTDtls_DestLocOID", oDetails.MTDtls_DestLocOID);
                            cmd.Parameters.AddWithValue("@MTDtls_DesInvtyp", oDetails.MTDtls_DesInvtyp);
                            cmd.Parameters.AddWithValue("@MTDtls_RQty", oDetails.MTDtls_RQty);
                            cmd.Parameters.AddWithValue("@MTDtls_RUOMOID", oDetails.MTDtls_RUOMOID);
                            cmd.Parameters.AddWithValue("@MTDtls_Status", oDetails.MTDtls_Status);

                            cmd.ExecuteNonQuery();

                            // populate inv list(decrease)
                            CInventory oInventory = new CInventory();

                            oInventory.Invt_Branch    = oDetails.MTDtls_Branch;
                            oInventory.Invt_BranchOID = oDetails.MTDtls_SBranOID;
                            oInventory.Invt_InvType   = oDetails.MTDtls_SrcInvTyp;
                            oInventory.Invt_ItemOID   = oDetails.MTDtls_ItemOID;
                            oInventory.Invt_LocOID    = oDetails.MTDtls_SrcLocOID;
                            oInventory.Invt_QTY       = oDetails.MTDtls_IssQty;

                            oSrcInvtList.Add(oInventory);

                            // populate inv list(increase)
                            oInventory = new CInventory();

                            oInventory.Invt_Branch    = oDetails.MTDtls_Branch;
                            oInventory.Invt_BranchOID = oDetails.MTDtls_DBranOID;
                            oInventory.Invt_InvType   = oDetails.MTDtls_DesInvtyp;
                            oInventory.Invt_ItemOID   = oDetails.MTDtls_ItemOID;
                            oInventory.Invt_LocOID    = oDetails.MTDtls_DestLocOID;
                            oInventory.Invt_QTY       = oDetails.MTDtls_IssQty;

                            oDesInvtList.Add(oInventory);
                        }

                        //Update inv

                        CInventoryBO oInventoryBO = new CInventoryBO();
                        oResult = oInventoryBO.InvtDecInc(oSrcInvtList, oDesInvtList);

                        if (oResult.IsSuccess)
                        {
                            oConnManager.Commit();
                            oResult.IsSuccess = true;
                        }
                        else
                        {
                            oResult.ErrMsg    = oConnManager.Rollback();
                            oResult.IsSuccess = false;
                        }
                    }
                    catch (SqlException e)
                    {
                        string sRollbackError = oConnManager.Rollback();

                        oResult.IsSuccess = false;
                        oResult.ErrMsg    = sRollbackError.Equals("") ? oConnManager.GetErrorMessage(e) : sRollbackError;
                    }
                    finally
                    {
                        oConnManager.Close();
                    }
                }
                else
                {
                    oResult.IsSuccess = false;
                    oResult.ErrMsg    = s_DBError;
                }

                return(oResult);
            }