Ejemplo n.º 1
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L6ES_USFE_1220 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();
            //Put your code here
            foreach (var absenceReason in Parameter.AbsenceReasons)
            {
                ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query statisticQuery = new ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query();
                statisticQuery.Employee_RefID      = Parameter.EmployeeID;
                statisticQuery.AbsenceReason_RefID = absenceReason.AbsenceReasonID;
                ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic[] statistics = ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query.Search(Connection, Transaction, statisticQuery).ToArray();
                foreach (var statistic in statistics)
                {
                    P_L5EM_SEARTFS_1356 statisticsPar = new P_L5EM_SEARTFS_1356();
                    statisticsPar.CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatisticsID = statistic.CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatisticsID;
                    statisticsPar.AbsenceReason_RefID               = statistic.AbsenceReason_RefID;
                    statisticsPar.CalculationTimeframe_RefID        = statistic.CalculationTimeframe_RefID;
                    statisticsPar.Employee_RefID                    = Parameter.EmployeeID;
                    statisticsPar.R_AbsenceCarryOver_InDays         = statistic.R_AbsenceCarryOver_InDays;
                    statisticsPar.R_AbsenceCarryOver_InHours        = statistic.R_AbsenceCarryOver_InHours;
                    statisticsPar.R_AbsenceTimeUsed_InDays          = statistic.R_AbsenceTimeUsed_InDays;
                    statisticsPar.R_AbsenceTimeUsed_InHours         = statistic.R_AbsenceTimeUsed_InHours;
                    statisticsPar.R_TotalAllowedAbsenceTime_InDays  = absenceReason.TotalAllowedAbsenceInDays;
                    statisticsPar.R_TotalAllowedAbsenceTime_InHours = absenceReason.TotalAllowedAbsenceInHours;
                    cls_Save_Employee_AbsenceReason_TimeframeStatistic.Invoke(Connection, statisticsPar, securityTicket);
                }
            }

            return(returnValue);

            #endregion UserCode
        }
Ejemplo n.º 2
0
        protected static FR_Base Execute(DbConnection Connection, DbTransaction Transaction, P_L5TN_OTF_1516 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            //Leave UserCode region to enable user code saving
            #region UserCode
            var returnValue = new FR_Base();
            //Put your code here

            ORM_CMN_CAL_CalculationTimeframe.Query timeFrameQuery = new ORM_CMN_CAL_CalculationTimeframe.Query();
            timeFrameQuery.Tenant_RefID = securityTicket.TenantID;
            timeFrameQuery.IsDeleted    = false;
            var timeFrames = ORM_CMN_CAL_CalculationTimeframe.Query.Search(Connection, Transaction, timeFrameQuery);
            if (timeFrames != null && timeFrames.Any(x => x.CalculationTimeframe_StartDate.Year == Parameter.year) && timeFrames.Any(x => x.CalculationTimeframe_StartDate.Year == Parameter.year + 1))
            {
                var timeFrame     = timeFrames.First(x => x.CalculationTimeframe_StartDate.Year == Parameter.year);
                var nextTimeFrame = timeFrames.First(x => x.CalculationTimeframe_StartDate.Year == Parameter.year + 1);
                ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query employeeAbsenceTimeFrameSatisticQuery = new ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query();
                employeeAbsenceTimeFrameSatisticQuery.CalculationTimeframe_RefID = timeFrame.CMN_CAL_CalculationTimeframeID;
                employeeAbsenceTimeFrameSatisticQuery.Tenant_RefID = securityTicket.TenantID;
                employeeAbsenceTimeFrameSatisticQuery.IsDeleted    = false;
                var employeeAbsenceTimeFrameSatistics = ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query.Search(Connection, Transaction, employeeAbsenceTimeFrameSatisticQuery);
                if (employeeAbsenceTimeFrameSatistics != null)
                {
                    foreach (var previousEmployeeAbsenceTimeFrameSatistic in employeeAbsenceTimeFrameSatistics)
                    {
                        ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query currentEmployeeAbsenceTimeFrameSatisticQuery = new ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query();
                        currentEmployeeAbsenceTimeFrameSatisticQuery.AbsenceReason_RefID        = previousEmployeeAbsenceTimeFrameSatistic.AbsenceReason_RefID;
                        currentEmployeeAbsenceTimeFrameSatisticQuery.Employee_RefID             = previousEmployeeAbsenceTimeFrameSatistic.Employee_RefID;
                        currentEmployeeAbsenceTimeFrameSatisticQuery.Tenant_RefID               = securityTicket.TenantID;
                        currentEmployeeAbsenceTimeFrameSatisticQuery.IsDeleted                  = false;
                        currentEmployeeAbsenceTimeFrameSatisticQuery.CalculationTimeframe_RefID = nextTimeFrame.CMN_CAL_CalculationTimeframeID;
                        var currentEmployeeAbsenceTimeFrameSatistics = ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query.Search(Connection, Transaction, currentEmployeeAbsenceTimeFrameSatisticQuery);
                        if (currentEmployeeAbsenceTimeFrameSatistics != null)
                        {
                            foreach (var currentEmployeeAbsenceTimeFrameSatistic in currentEmployeeAbsenceTimeFrameSatistics)
                            {
                                currentEmployeeAbsenceTimeFrameSatistic.R_AbsenceCarryOver_InDays  = 0;
                                currentEmployeeAbsenceTimeFrameSatistic.R_AbsenceCarryOver_InHours = 0;
                                currentEmployeeAbsenceTimeFrameSatistic.Save(Connection, Transaction);
                            }
                        }
                    }
                }
                timeFrame.CalculationTimefrate_EndDate = new DateTime(0);
                timeFrame.Save(Connection, Transaction);
            }
            return(returnValue);

            #endregion UserCode
        }
Ejemplo n.º 3
0
        protected static FR_Base Execute(DbConnection Connection, DbTransaction Transaction, P_L5TN_CTF_1341 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();

            ORM_CMN_CAL_CalculationTimeframe.Query timeFrameQuery = new ORM_CMN_CAL_CalculationTimeframe.Query();
            timeFrameQuery.Tenant_RefID = securityTicket.TenantID;
            timeFrameQuery.IsDeleted    = false;
            var timeFrames = ORM_CMN_CAL_CalculationTimeframe.Query.Search(Connection, Transaction, timeFrameQuery);
            if (timeFrames != null && timeFrames.Any(x => x.CalculationTimeframe_StartDate.Year == Parameter.year) && timeFrames.Any(x => x.CalculationTimeframe_StartDate.Year == Parameter.year + 1))
            {
                var currentTimeFrame = timeFrames.First(x => x.CalculationTimeframe_StartDate.Year == Parameter.year);
                var nextTimeFrame    = timeFrames.First(x => x.CalculationTimeframe_StartDate.Year == Parameter.year + 1);

                ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query employeeAbsenceTimeFrameSatisticQuery = new ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query();
                employeeAbsenceTimeFrameSatisticQuery.CalculationTimeframe_RefID = currentTimeFrame.CMN_CAL_CalculationTimeframeID;
                employeeAbsenceTimeFrameSatisticQuery.Tenant_RefID = securityTicket.TenantID;
                employeeAbsenceTimeFrameSatisticQuery.IsDeleted    = false;
                var employeeAbsenceTimeFrameSatistics = ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query.Search(Connection, Transaction, employeeAbsenceTimeFrameSatisticQuery);
                if (employeeAbsenceTimeFrameSatistics != null)
                {
                    foreach (var previousEmployeeAbsenceTimeFrameSatistic in employeeAbsenceTimeFrameSatistics)
                    {
                        ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query currentEmployeeAbsenceTimeFrameSatisticQuery = new ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query();
                        currentEmployeeAbsenceTimeFrameSatisticQuery.AbsenceReason_RefID        = previousEmployeeAbsenceTimeFrameSatistic.AbsenceReason_RefID;
                        currentEmployeeAbsenceTimeFrameSatisticQuery.Employee_RefID             = previousEmployeeAbsenceTimeFrameSatistic.Employee_RefID;
                        currentEmployeeAbsenceTimeFrameSatisticQuery.Tenant_RefID               = securityTicket.TenantID;
                        currentEmployeeAbsenceTimeFrameSatisticQuery.IsDeleted                  = false;
                        currentEmployeeAbsenceTimeFrameSatisticQuery.CalculationTimeframe_RefID = nextTimeFrame.CMN_CAL_CalculationTimeframeID;
                        var currentEmployeeAbsenceTimeFrameSatistics = ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic.Query.Search(Connection, Transaction, currentEmployeeAbsenceTimeFrameSatisticQuery);
                        if (currentEmployeeAbsenceTimeFrameSatistics != null)
                        {
                            foreach (var currentEmployeeAbsenceTimeFrameSatistic in currentEmployeeAbsenceTimeFrameSatistics)
                            {
                                currentEmployeeAbsenceTimeFrameSatistic.R_AbsenceCarryOver_InDays  = previousEmployeeAbsenceTimeFrameSatistic.R_TotalAllowedAbsenceTime_InDays + previousEmployeeAbsenceTimeFrameSatistic.R_AbsenceCarryOver_InDays;
                                currentEmployeeAbsenceTimeFrameSatistic.R_AbsenceCarryOver_InHours = previousEmployeeAbsenceTimeFrameSatistic.R_TotalAllowedAbsenceTime_InHours + previousEmployeeAbsenceTimeFrameSatistic.R_AbsenceCarryOver_InHours;
                                currentEmployeeAbsenceTimeFrameSatistic.Save(Connection, Transaction);
                            }
                        }
                    }
                }
                //Calculate Balances
                if (timeFrames.Any(x => x.CalculationTimeframe_StartDate.Year == Parameter.year - 1))
                {
                    var previousTimeFrame = timeFrames.First(x => x.CalculationTimeframe_StartDate.Year == Parameter.year - 1);
                    ORM_CMN_BPT_EMP_STA_OvertimeStatistic.Query overtimeStatistics = new ORM_CMN_BPT_EMP_STA_OvertimeStatistic.Query();
                    overtimeStatistics.CMN_CAL_CalculationTimeframe_RefID = previousTimeFrame.CMN_CAL_CalculationTimeframeID;
                    overtimeStatistics.Tenant_RefID = securityTicket.TenantID;
                    overtimeStatistics.IsDeleted    = false;
                    var employeeOvertimeStatistics = ORM_CMN_BPT_EMP_STA_OvertimeStatistic.Query.Search(Connection, Transaction, overtimeStatistics);
                    List <ORM_CMN_BPT_EMP_STA_OvertimeStatistic> employeeTimeFrameStatistics = new List <ORM_CMN_BPT_EMP_STA_OvertimeStatistic>();
                    if (employeeOvertimeStatistics != null)
                    {
                        foreach (var previousEmployeeOvertimeStatistic in employeeOvertimeStatistics)
                        {
                            var currentEmploeeOvertimeStatistic = new ORM_CMN_BPT_EMP_STA_OvertimeStatistic();
                            currentEmploeeOvertimeStatistic.CMN_CAL_CalculationTimeframe_RefID = currentTimeFrame.CMN_CAL_CalculationTimeframeID;
                            currentEmploeeOvertimeStatistic.Employee_RefID            = previousEmployeeOvertimeStatistic.Employee_RefID;
                            currentEmploeeOvertimeStatistic.IsOvertimeInEmployeeDays  = previousEmployeeOvertimeStatistic.IsOvertimeInEmployeeDays;
                            currentEmploeeOvertimeStatistic.IsOvertimeInEmployeeHours = previousEmployeeOvertimeStatistic.IsOvertimeInEmployeeHours;
                            currentEmploeeOvertimeStatistic.OvertimeIn_EmployeeDays   = previousEmployeeOvertimeStatistic.OvertimeIn_EmployeeDays;
                            currentEmploeeOvertimeStatistic.OvertimeIn_EmployeeHours  = previousEmployeeOvertimeStatistic.OvertimeIn_EmployeeHours;
                        }
                    }

                    foreach (var employeeID in Parameter.employeesWithContractsForTenant)
                    {
                        ORM_CMN_BPT_EMP_STA_OvertimeStatistic currentEmploeeOvertimeStatistic = new ORM_CMN_BPT_EMP_STA_OvertimeStatistic();
                        if (employeeTimeFrameStatistics.Any(i => i.Employee_RefID == employeeID))
                        {
                            employeeTimeFrameStatistics.First(i => i.Employee_RefID == employeeID);
                            //cls_Get_EffectiveWorkTimes_For_Period_And_Employee.
                        }
                        else
                        {
                        }
                    }
                }



                currentTimeFrame.CalculationTimefrate_EndDate = new DateTime(currentTimeFrame.CalculationTimeframe_StartDate.Year, 12, 31, 23, 59, 59);
                currentTimeFrame.Save(Connection, Transaction);
            }



            //Put your code here
            return(returnValue);

            #endregion UserCode
        }