Ejemplo n.º 1
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5EM_SEARTFS_1356 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            var returnValue = new FR_Guid();

            var item = new ORM_CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatistic();

            if (Parameter.CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatisticsID != Guid.Empty)
            {
                var result = item.Load(Connection, Transaction, Parameter.CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatisticsID);
                if (result.Status != FR_Status.Success || item.CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatisticsID == Guid.Empty)
                {
                    var error = new FR_Guid();
                    error.ErrorMessage = "No Such ID";
                    error.Status       = FR_Status.Error_Internal;
                    return(error);
                }
            }

            if (Parameter.IsDeleted == true)
            {
                item.IsDeleted = true;
                return(new FR_Guid(item.Save(Connection, Transaction), item.CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatisticsID));
            }

            //Creation specific parameters (Tenant, Account ... )
            if (Parameter.CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatisticsID == Guid.Empty)
            {
                item.Tenant_RefID = securityTicket.TenantID;
            }

            item.CalculationTimeframe_RefID        = Parameter.CalculationTimeframe_RefID;
            item.AbsenceReason_RefID               = Parameter.AbsenceReason_RefID;
            item.Employee_RefID                    = Parameter.Employee_RefID;
            item.R_AbsenceCarryOver_InHours        = Parameter.R_AbsenceCarryOver_InHours;
            item.R_AbsenceCarryOver_InDays         = Parameter.R_AbsenceCarryOver_InDays;
            item.R_AbsenceTimeUsed_InHours         = Parameter.R_AbsenceTimeUsed_InHours;
            item.R_AbsenceTimeUsed_InDays          = Parameter.R_AbsenceTimeUsed_InDays;
            item.R_RequestReservedAbsence_InHours  = Parameter.R_RequestReservedAbsence_InHours;
            item.R_RequestReservedAbsence_InDays   = Parameter.R_RequestReservedAbsence_InDays;
            item.R_TotalAllowedAbsenceTime_InHours = Parameter.R_TotalAllowedAbsenceTime_InHours;
            item.R_TotalAllowedAbsenceTime_InDays  = Parameter.R_TotalAllowedAbsenceTime_InDays;


            return(new FR_Guid(item.Save(Connection, Transaction), item.CMN_BPT_EMP_Employee_AbsenceReason_TimeframeStatisticsID));
        }