Пример #1
0
        public ICollection <ErrorHandler> SaveSalesOrder(SalesOrder argSalesOrder, ICollection <SalesOrderDetail> colSalesOrderDetail, ICollection <SOPriceCondition> colSOPriceCondition, ICollection <SOSchedule> colSOSchedule, ICollection <CharactersticsValueMaster> colCharactersticsValueMaster, DataTable dtOrderPartner)
        {
            List <ErrorHandler> lstErr = new List <ErrorHandler>();
            DataAccess          da     = new DataAccess();

            string strretValue = "";

            try
            {
                // if (blnCheckBasicRules(argSalesOrder, lstErr) == true)
                // {

                da.Open_Connection();
                da.BEGIN_TRANSACTION();

                if (blnIsSalesOrderExists(argSalesOrder.SODocCode, argSalesOrder.ClientCode, da) == false)
                {
                    strretValue = InsertSalesOrder(argSalesOrder, da, lstErr);
                }
                else
                {
                    strretValue = UpdateSalesOrder(argSalesOrder, da, lstErr);
                }

                foreach (ErrorHandler objerr in lstErr)
                {
                    if (objerr.Type == "E")
                    {
                        da.ROLLBACK_TRANSACTION();
                        return(lstErr);
                    }

                    if (objerr.Type == "A")
                    {
                        da.ROLLBACK_TRANSACTION();
                        return(lstErr);
                    }
                }

                if (strretValue != "")
                {
                    if (colSalesOrderDetail.Count > 0)
                    {
                        foreach (SalesOrderDetail argSalesOrderDetail in colSalesOrderDetail)
                        {
                            argSalesOrderDetail.SODocCode = Convert.ToString(strretValue);

                            if (argSalesOrderDetail.ErrFlag == 0)
                            {
                                if (argSalesOrderDetail.IsDeleted == 0)
                                {
                                    objSalesOrderDetailManager.SaveSalesOrderDetail(argSalesOrderDetail, da, lstErr);
                                }
                                else
                                {
                                    objSalesOrderDetailManager.DeleteSalesOrderDetail(argSalesOrderDetail.SODocCode, argSalesOrderDetail.ItemNo, argSalesOrderDetail.ClientCode, da, lstErr);
                                }

                                if (colSOPriceCondition.Count > 0)
                                {
                                    foreach (SOPriceCondition argSOPriceCon in colSOPriceCondition)
                                    {
                                        if (argSOPriceCon.ItemNo == argSalesOrderDetail.ItemNo)
                                        {
                                            argSOPriceCon.SODocCode = Convert.ToString(strretValue);

                                            if (argSOPriceCon.IsDeleted == 0)
                                            {
                                                objSOPriceConditionManager.SaveSOPriceCondition(argSOPriceCon, da, lstErr);
                                            }
                                            else
                                            {
                                                objSOPriceConditionManager.DeleteSOPriceCondition(argSOPriceCon.SODocCode, argSOPriceCon.ItemNo, argSOPriceCon.ConditionType, argSOPriceCon.ClientCode, argSOPriceCon.IsDeleted);
                                            }
                                        }
                                    }
                                }

                                if (colSOSchedule.Count > 0)
                                {
                                    foreach (SOSchedule argSOSchedule in colSOSchedule)
                                    {
                                        if (argSOSchedule.ItemNo == argSalesOrderDetail.ItemNo)
                                        {
                                            argSOSchedule.SODocCode = Convert.ToString(strretValue);

                                            if (argSOSchedule.IsDeleted == 0)
                                            {
                                                objSalesOrderScheduleManager.SaveSOSchedule(argSOSchedule, da, lstErr);
                                            }
                                            //else
                                            //{
                                            //    objSOPriceConditionManager.DeleteSOPriceCondition(argSOPriceCon.SODocCode, argSOPriceCon.ItemNo, argSOPriceCon.ConditionType, argSOPriceCon.ClientCode, argSOPriceCon.IsDeleted);
                                            //}
                                        }
                                    }
                                }
                            }
                        }

                        foreach (ErrorHandler objerr in lstErr)
                        {
                            if (objerr.Type == "E")
                            {
                                da.ROLLBACK_TRANSACTION();
                                return(lstErr);
                            }

                            if (objerr.Type == "A")
                            {
                                da.ROLLBACK_TRANSACTION();
                                return(lstErr);
                            }
                        }
                    }

                    if (colCharactersticsValueMaster.Count > 0)
                    {
                        foreach (CharactersticsValueMaster argCharactersticsValueMaster in colCharactersticsValueMaster)
                        {
                            if (argCharactersticsValueMaster.ObjectKey.Contains("NEW") == true)
                            {
                                argCharactersticsValueMaster.ObjectKey = Convert.ToString(strretValue).Trim() + argCharactersticsValueMaster.ObjectKey.Substring(3).Trim();
                                argCharactersticsValueMaster.ObjectKey = argCharactersticsValueMaster.ObjectKey.Trim();
                            }

                            objCharValueMasterManager.SaveCharactersticsValueMaster(argCharactersticsValueMaster, da, lstErr);
                        }

                        foreach (ErrorHandler objerr in lstErr)
                        {
                            if (objerr.Type == "E")
                            {
                                da.ROLLBACK_TRANSACTION();
                                return(lstErr);
                            }

                            if (objerr.Type == "A")
                            {
                                da.ROLLBACK_TRANSACTION();
                                return(lstErr);
                            }
                        }
                    }


                    foreach (DataRow dr in dtOrderPartner.Rows)
                    {
                        SalesOrderPartner objSalesOrderPartner = new SalesOrderPartner();

                        objSalesOrderPartner.SODocmentCode = strretValue;
                        objSalesOrderPartner.PFunctionCode = Convert.ToString(dr["PFunctionCode"]).Trim();
                        objSalesOrderPartner.CustomerCode  = Convert.ToString(dr["CustomerCode"]).Trim();
                        objSalesOrderPartner.PartnerType   = Convert.ToString(dr["PartnerType"]).Trim();
                        objSalesOrderPartner.ClientCode    = Convert.ToString(dr["ClientCode"]).Trim();
                        objSalesOrderPartner.CreatedBy     = Convert.ToString(dr["CreatedBy"]).Trim();
                        objSalesOrderPartner.ModifiedBy    = Convert.ToString(dr["ModifiedBy"]).Trim();

                        objOrderPartnerManager.SaveSalesOrderPartner(objSalesOrderPartner, da, lstErr);
                    }

                    foreach (ErrorHandler objerr in lstErr)
                    {
                        if (objerr.Type == "E")
                        {
                            da.ROLLBACK_TRANSACTION();
                            return(lstErr);
                        }

                        if (objerr.Type == "A")
                        {
                            da.ROLLBACK_TRANSACTION();
                            return(lstErr);
                        }
                    }
                }



                da.COMMIT_TRANSACTION();
                // }
            }
            catch (Exception ex)
            {
                if (da != null)
                {
                    da.ROLLBACK_TRANSACTION();
                }
                objErrorHandler.Type       = ErrorConstant.strAboartType;
                objErrorHandler.MsgId      = 0;
                objErrorHandler.Module     = ErrorConstant.strInsertModule;
                objErrorHandler.ModulePart = ErrorConstant.strMasterModule;
                objErrorHandler.Message    = ex.Message.ToString();
                objErrorHandler.RowNo      = 0;
                objErrorHandler.FieldName  = "";
                objErrorHandler.LogCode    = "";
                lstErr.Add(objErrorHandler);
            }
            finally
            {
                if (da != null)
                {
                    da.Close_Connection();
                    da = null;
                }
            }
            return(lstErr);
        }
Пример #2
0
        public ICollection <ErrorHandler> SaveSalesOrder(SalesOrder argSalesOrder, ICollection <SalesOrderDetail> colSalesOrderDetail)
        {
            List <ErrorHandler> lstErr = new List <ErrorHandler>();
            DataAccess          da     = new DataAccess();
            string strretValue         = "";

            try
            {
                da.Open_Connection();
                da.BEGIN_TRANSACTION();

                if (blnIsSalesOrderExists(argSalesOrder.SODocCode, argSalesOrder.ClientCode, da) == false)
                {
                    strretValue = InsertSalesOrder(argSalesOrder, da, lstErr);
                }
                else
                {
                    strretValue = UpdateSalesOrder(argSalesOrder, da, lstErr);
                }

                foreach (ErrorHandler objerr in lstErr)
                {
                    if (objerr.Type == "E")
                    {
                        da.ROLLBACK_TRANSACTION();
                        return(lstErr);
                    }

                    if (objerr.Type == "A")
                    {
                        da.ROLLBACK_TRANSACTION();
                        return(lstErr);
                    }
                }

                if (strretValue != "")
                {
                    if (colSalesOrderDetail.Count > 0)
                    {
                        foreach (SalesOrderDetail argSalesOrderDetail in colSalesOrderDetail)
                        {
                            if (argSalesOrderDetail.IsDeleted == 0)
                            {
                                objSalesOrderDetailManager.SaveSalesOrderDetail(argSalesOrderDetail, da, lstErr);
                            }
                            else
                            {
                                objSalesOrderDetailManager.DeleteSalesOrderDetail(argSalesOrderDetail.SODocCode, argSalesOrderDetail.ItemNo, argSalesOrderDetail.ClientCode, da, lstErr);
                            }
                        }

                        foreach (ErrorHandler objerr in lstErr)
                        {
                            if (objerr.Type == "E")
                            {
                                da.ROLLBACK_TRANSACTION();
                                return(lstErr);
                            }

                            if (objerr.Type == "A")
                            {
                                da.ROLLBACK_TRANSACTION();
                                return(lstErr);
                            }
                        }
                    }
                }
                da.COMMIT_TRANSACTION();
            }
            catch (Exception ex)
            {
                if (da != null)
                {
                    da.ROLLBACK_TRANSACTION();
                }
                objErrorHandler.Type       = ErrorConstant.strAboartType;
                objErrorHandler.MsgId      = 0;
                objErrorHandler.Module     = ErrorConstant.strInsertModule;
                objErrorHandler.ModulePart = ErrorConstant.strMasterModule;
                objErrorHandler.Message    = ex.Message.ToString();
                objErrorHandler.RowNo      = 0;
                objErrorHandler.FieldName  = "";
                objErrorHandler.LogCode    = "";
                lstErr.Add(objErrorHandler);
            }
            finally
            {
                if (da != null)
                {
                    da.Close_Connection();
                    da = null;
                }
            }
            return(lstErr);
        }