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); }
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); }