protected static FR_L5TN_GCTFFT_1529_Array Execute(DbConnection Connection, DbTransaction Transaction, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { var returnStatus = new FR_L5TN_GCTFFT_1529_Array(); DbCommand command = Connection.CreateCommand(); command.Connection = Connection; command.Transaction = Transaction; var commandLocation = "CL5_VacationPlanner_Tenant.Atomic.Retrieval.SQL.cls_Get_CalculationTimeFramesForTenant.sql"; command.CommandText = new System.IO.StreamReader(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(commandLocation)).ReadToEnd(); CSV2Core_MySQL.Support.DBSQLSupport.SetParameter(command, "ticket", securityTicket); command.CommandTimeout = QueryTimeout; List <L5TN_GCTFFT_1529> results = new List <L5TN_GCTFFT_1529>(); var loader = new CSV2Core_MySQL.Dictionaries.MultiTable.Loader.DictionaryLoader(Connection, Transaction); var reader = new CSV2Core_MySQL.Support.DBSQLReader(command.ExecuteReader()); try { reader.SetOrdinals(new string[] { "CMN_CAL_CalculationTimeframeID", "CalculationTimeframe_StartDate", "CalculationTimefrate_EndDate", "CalculationTimeframe_EstimatedEndDate", "IsCalculationTimeframe_Active", "Creation_Timestamp" }); while (reader.Read()) { L5TN_GCTFFT_1529 resultItem = new L5TN_GCTFFT_1529(); //0:Parameter CMN_CAL_CalculationTimeframeID of type Guid resultItem.CMN_CAL_CalculationTimeframeID = reader.GetGuid(0); //1:Parameter CalculationTimeframe_StartDate of type DateTime resultItem.CalculationTimeframe_StartDate = reader.GetDate(1); //2:Parameter CalculationTimefrate_EndDate of type DateTime resultItem.CalculationTimefrate_EndDate = reader.GetDate(2); //3:Parameter CalculationTimeframe_EstimatedEndDate of type DateTime resultItem.CalculationTimeframe_EstimatedEndDate = reader.GetDate(3); //4:Parameter IsCalculationTimeframe_Active of type bool resultItem.IsCalculationTimeframe_Active = reader.GetBoolean(4); //5:Parameter Creation_Timestamp of type DateTime resultItem.Creation_Timestamp = reader.GetDate(5); results.Add(resultItem); } } catch (Exception ex) { reader.Close(); throw new Exception("Exception occured durng data retrieval in method cls_Get_CalculationTimeFramesForTenant", ex); } reader.Close(); //Load all the dictionaries from the datatables loader.Load(); returnStatus.Result = results.ToArray(); return(returnStatus); }
protected static FR_L5TN_GCTFFTAY_1320 Execute(DbConnection Connection, DbTransaction Transaction, P_L5TN_GCTFFTAY_1320 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5TN_GCTFFTAY_1320(); //Put your code here ORM_CMN_CAL_CalculationTimeframe.Query calcTimeFrameQuery = new ORM_CMN_CAL_CalculationTimeframe.Query(); calcTimeFrameQuery.Tenant_RefID = securityTicket.TenantID; calcTimeFrameQuery.IsDeleted = false; var calcTimeFrame = ORM_CMN_CAL_CalculationTimeframe.Query.Search(Connection, Transaction, calcTimeFrameQuery).FirstOrDefault(x => x.CalculationTimeframe_StartDate.Year == Parameter.Year); returnValue.Result = new L5TN_GCTFFTAY_1320(); L5TN_GCTFFT_1529 result = new L5TN_GCTFFT_1529(); if (calcTimeFrame == null) { ORM_CMN_CAL_CalculationTimeframe newCalcTimeframe = new ORM_CMN_CAL_CalculationTimeframe(); newCalcTimeframe.CalculationTimeframe_StartDate = new DateTime(Parameter.Year, 1, 1); newCalcTimeframe.CalculationTimeframe_EstimatedEndDate = new DateTime(Parameter.Year, 12, 31); newCalcTimeframe.IsCalculationTimeframe_Active = false; newCalcTimeframe.Tenant_RefID = securityTicket.TenantID; newCalcTimeframe.Save(Connection, Transaction); result.CalculationTimeframe_EstimatedEndDate = newCalcTimeframe.CalculationTimeframe_EstimatedEndDate; result.CalculationTimeframe_StartDate = newCalcTimeframe.CalculationTimeframe_StartDate; result.CalculationTimefrate_EndDate = newCalcTimeframe.CalculationTimefrate_EndDate; result.CMN_CAL_CalculationTimeframeID = newCalcTimeframe.CMN_CAL_CalculationTimeframeID; result.Creation_Timestamp = newCalcTimeframe.Creation_Timestamp; result.IsCalculationTimeframe_Active = newCalcTimeframe.IsCalculationTimeframe_Active; } else { result.CalculationTimeframe_EstimatedEndDate = calcTimeFrame.CalculationTimeframe_EstimatedEndDate; result.CalculationTimeframe_StartDate = calcTimeFrame.CalculationTimeframe_StartDate; result.CalculationTimefrate_EndDate = calcTimeFrame.CalculationTimefrate_EndDate; result.CMN_CAL_CalculationTimeframeID = calcTimeFrame.CMN_CAL_CalculationTimeframeID; result.Creation_Timestamp = calcTimeFrame.Creation_Timestamp; result.IsCalculationTimeframe_Active = calcTimeFrame.IsCalculationTimeframe_Active; } returnValue.Result.CalculationTimeFrame = result; return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_Guid(); L5TN_GCTFFT_1529[] timeFrames = cls_Get_CalculationTimeFramesForTenant.Invoke(Connection, Transaction, securityTicket).Result; List <int> allYears = new List <int>(); foreach (var timeFrame in timeFrames) { if (!allYears.Contains(timeFrame.CalculationTimeframe_StartDate.Year)) { allYears.Add(timeFrame.CalculationTimeframe_StartDate.Year); } } foreach (var year in allYears) { if (timeFrames.Count(i => i.CalculationTimeframe_StartDate.Year == year) > 1) { List <L5TN_GCTFFT_1529> problematicFrames = timeFrames.Where(i => i.CalculationTimeframe_StartDate.Year == year).ToList(); DateTime validFrame = problematicFrames.Min(i => i.Creation_Timestamp); foreach (var frame in problematicFrames.Where(i => i.Creation_Timestamp != validFrame)) { ORM_CMN_CAL_CalculationTimeframe timeFrame = new ORM_CMN_CAL_CalculationTimeframe(); timeFrame.Load(Connection, Transaction, frame.CMN_CAL_CalculationTimeframeID); timeFrame.Remove(Connection, Transaction); } L5TN_GCTFFT_1529 activeFrame = problematicFrames.Where(i => i.Creation_Timestamp != validFrame).First(); ORM_CMN_CAL_CalculationTimeframe validTimeFrame = new ORM_CMN_CAL_CalculationTimeframe(); validTimeFrame.Load(Connection, Transaction, activeFrame.CMN_CAL_CalculationTimeframeID); validTimeFrame.IsCalculationTimeframe_Active = true; validTimeFrame.Save(Connection, Transaction); } } bool hasActive = timeFrames.Any(i => i.IsCalculationTimeframe_Active); if (!hasActive) { if (timeFrames.Any(i => i.CalculationTimeframe_StartDate.Year == DateTime.Now.Year)) { L5TN_GCTFFT_1529 timeFrame = timeFrames.First(i => i.CalculationTimeframe_StartDate.Year == DateTime.Now.Year); ORM_CMN_CAL_CalculationTimeframe validTimeFrame = new ORM_CMN_CAL_CalculationTimeframe(); validTimeFrame.Load(Connection, Transaction, timeFrame.CMN_CAL_CalculationTimeframeID); validTimeFrame.IsCalculationTimeframe_Active = true; validTimeFrame.Save(Connection, Transaction); } else { ORM_CMN_CAL_CalculationTimeframe validTimeFrame = new ORM_CMN_CAL_CalculationTimeframe(); validTimeFrame.CalculationTimeframe_StartDate = new DateTime(DateTime.Now.Year, 1, 1); validTimeFrame.CalculationTimeframe_EstimatedEndDate = new DateTime(DateTime.Now.Year, 12, 31); validTimeFrame.IsCalculationTimeframe_Active = true; validTimeFrame.Save(Connection, Transaction); } } //Put your code here return(returnValue); #endregion UserCode }