private static List <ORM_CMN_STR_Office_2_CostCenter> Search(Query query, string connectionString, DbConnection connection, DbTransaction transaction) { CSV2Core.Core.Interfaces.IManagedConnection managedConnection = new CSV2Core_MySQL.MySQLManagedConnection(); List <ORM_CMN_STR_Office_2_CostCenter> items; try { managedConnection.set(connectionString, connection, transaction); var loader = new CSV2Core_MySQL.Dictionaries.MultiTable.Loader.DictionaryLoader(managedConnection.getConnection(), managedConnection.getTransaction()); DbCommand command = managedConnection.manage(query.CreateSelectQuery(TableName)); query.SetParameters(command); items = new List <ORM_CMN_STR_Office_2_CostCenter>(); var reader = new CSV2Core_MySQL.Support.DBSQLReader(command.ExecuteReader()); reader.SetOrdinals(new string[] { "AssignmentID", "CostCenter_RefID", "Office_RefID", "IsDefault", "Creation_Timestamp", "IsDeleted", "Tenant_RefID" }); while (reader.Read()) { ORM_CMN_STR_Office_2_CostCenter item = new ORM_CMN_STR_Office_2_CostCenter(); //0:Parameter AssignmentID of type Guid item.AssignmentID = reader.GetGuid(0); //1:Parameter CostCenter_RefID of type Guid item.CostCenter_RefID = reader.GetGuid(1); //2:Parameter Office_RefID of type Guid item.Office_RefID = reader.GetGuid(2); //3:Parameter IsDefault of type Boolean item.IsDefault = reader.GetBoolean(3); //4:Parameter Creation_Timestamp of type DateTime item.Creation_Timestamp = reader.GetDate(4); //5:Parameter IsDeleted of type Boolean item.IsDeleted = reader.GetBoolean(5); //6:Parameter Tenant_RefID of type Guid item.Tenant_RefID = reader.GetGuid(6); item.Status_IsAlreadySaved = true; item.Status_IsDirty = false; items.Add(item); } reader.Close(); loader.Load(); managedConnection.commit(); } catch (Exception ex) { managedConnection.rollback(); throw; } return(items); }
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 }