protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L2CC_SCCTI_1556 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_Guid(); //Put your code here var item = new CL1_CMN_STR.ORM_CMN_STR_CostCenter(); var costCenterOffice = new CL1_CMN_STR.ORM_CMN_STR_Office_2_CostCenter(); if (Parameter.CMN_STR_CostCenterID != Guid.Empty) { var result = item.Load(Connection, Transaction, Parameter.CMN_STR_CostCenterID); costCenterOffice = ORM_CMN_STR_Office_2_CostCenter.Query.Search(Connection, Transaction, new ORM_CMN_STR_Office_2_CostCenter.Query { CostCenter_RefID = item.CMN_STR_CostCenterID, IsDeleted = false }).FirstOrDefault(); costCenterOffice = costCenterOffice ?? new CL1_CMN_STR.ORM_CMN_STR_Office_2_CostCenter(); } if (Parameter.IsDeleted == true) { costCenterOffice.IsDeleted = true; costCenterOffice.Save(Connection, Transaction); item.IsDeleted = true; return(new FR_Guid(item.Save(Connection, Transaction), item.CMN_STR_CostCenterID)); } item.Tenant_RefID = securityTicket.TenantID; item.InternalID = Parameter.InternalID; item.Name = Parameter.Name; item.Description = Parameter.Description; item.CostCenterType_RefID = Parameter.CostCenterType_RefID; item.Currency_RefID = Parameter.Currency_RefID; item.CostCenter_Parent_RefID = Parameter.CostCenter_Parent_RefID; item.OpenForBooking = Parameter.OpenForBooking; item.ResponsiblePerson_RefID = Parameter.ResponsiblePerson_RefID; costCenterOffice.CostCenter_RefID = item.CMN_STR_CostCenterID; costCenterOffice.Office_RefID = Parameter.OfficeID; costCenterOffice.Tenant_RefID = item.Tenant_RefID; costCenterOffice.Save(Connection, Transaction); return(new FR_Guid(item.Save(Connection, Transaction), item.CMN_STR_CostCenterID)); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L2CC_SCCL_1355 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); var savingResult = new FR_Guid(); foreach (var par in Parameter.Results) { var item = new CL1_CMN_STR.ORM_CMN_STR_CostCenter(); var costCenterOffice = new CL1_CMN_STR.ORM_CMN_STR_Office_2_CostCenter(); if (par.CMN_STR_CostCenterID != Guid.Empty) { var result = item.Load(Connection, Transaction, par.CMN_STR_CostCenterID); costCenterOffice = ORM_CMN_STR_Office_2_CostCenter.Query.Search(Connection, Transaction, new ORM_CMN_STR_Office_2_CostCenter.Query { CostCenter_RefID = item.CMN_STR_CostCenterID, IsDeleted = false }).FirstOrDefault(); costCenterOffice = costCenterOffice ?? new CL1_CMN_STR.ORM_CMN_STR_Office_2_CostCenter(); } // Get childrens of this item. var childrens = ORM_CMN_STR_CostCenter.Query.Search(Connection, Transaction, new CL1_CMN_STR.ORM_CMN_STR_CostCenter.Query { IsDeleted = false, CostCenter_Parent_RefID = item.CMN_STR_CostCenterID }); item.R_CostCenter_HasChildren = childrens.Count > 0 ? true : false; // Check parent property HasChildren if (item.CostCenter_Parent_RefID != Guid.Empty) { var parent = ORM_CMN_STR_CostCenter.Query.Search(Connection, Transaction, new ORM_CMN_STR_CostCenter.Query { IsDeleted = false, CMN_STR_CostCenterID = item.CostCenter_Parent_RefID }).SingleOrDefault(); if (item.IsDeleted && parent != null) { var parentChildrens = ORM_CMN_STR_CostCenter.Query.Search(Connection, Transaction, new ORM_CMN_STR_CostCenter.Query { IsDeleted = false, CostCenter_Parent_RefID = parent.CMN_STR_CostCenterID }); if (parentChildrens.Count == 1 && parentChildrens.FirstOrDefault().CMN_STR_CostCenterID == item.CMN_STR_CostCenterID) { parent.R_CostCenter_HasChildren = false; parent.Save(Connection, Transaction); } } else if (parent != null && !parent.R_CostCenter_HasChildren) { parent.R_CostCenter_HasChildren = true; parent.Save(Connection, Transaction); } } if (par.IsDeleted == true) { foreach (var c in childrens) { c.IsDeleted = true; c.Save(Connection, Transaction); } costCenterOffice.IsDeleted = true; item.IsDeleted = true; costCenterOffice.Save(Connection, Transaction); savingResult = new FR_Guid(item.Save(Connection, Transaction), item.CMN_STR_CostCenterID); } //Creation specific pars (Tenant, Account ... ) if (par.CMN_STR_CostCenterID == Guid.Empty) { item.Tenant_RefID = securityTicket.TenantID; } item.InternalID = par.InternalID; item.Name = par.Name; item.Description = par.Description; item.CostCenterType_RefID = par.CostCenterType_RefID; item.Currency_RefID = par.Currency_RefID; item.CostCenter_Parent_RefID = par.CostCenter_Parent_RefID; item.OpenForBooking = par.OpenForBooking; item.ResponsiblePerson_RefID = par.ResponsiblePerson_RefID; costCenterOffice.CostCenter_RefID = item.CMN_STR_CostCenterID; costCenterOffice.Office_RefID = par.OfficeID; costCenterOffice.Tenant_RefID = item.Tenant_RefID; costCenterOffice.Save(Connection, Transaction); savingResult = new FR_Guid(item.Save(Connection, Transaction), item.CMN_STR_CostCenterID); } returnValue = savingResult; //Put your code here return(returnValue); #endregion UserCode }