Ejemplo n.º 1
0
        public virtual Result Update()
        {
            Result result = new Result();

            #region Validate both start and end date in the same year
            if (Globals.Calendar.GetUmAlQuraYear(this.HolidaySettingStartDate) != Globals.Calendar.GetUmAlQuraYear(this.HolidaySettingEndDate))
            {
                result            = new Result();
                result.EnumType   = typeof(HolidaySettingValidationEnum);
                result.EnumMember = HolidaySettingValidationEnum.RejectedBecauseOfHolidaysDurationShouldBeInTheSameHijriYear.ToString();
                return(result);
            }
            #endregion

            #region Validate if there is any employee assign for this holiday's setting
            List <HolidaysAttendanceBLL>        HolidaysAttendanceList        = new HolidaysAttendanceBLL().GetByHolidaySettingID(this.HolidaySettingID);
            List <HolidaysAttendanceDetailsBLL> HolidaysAttendanceDetailsList = new List <HolidaysAttendanceDetailsBLL>();
            HolidaysAttendanceList.ForEach(c => HolidaysAttendanceDetailsList.AddRange(c.HolidaysAttendanceDetails));

            if (HolidaysAttendanceDetailsList.Count > 0)
            {
                result            = new Result();
                result.EnumType   = typeof(HolidaySettingValidationEnum);
                result.EnumMember = HolidaySettingValidationEnum.RejectedBecauseOfEmployeeAssignToThisHolidaySetting.ToString();
                return(result);
            }
            #endregion

            result = IsNoConflictWithOtherHolidaySettings(this.HolidaySettingStartDate, this.HolidaySettingEndDate);
            if (result != null)
            {
                return(result);
            }
            result = new Result();
            HolidaysSettings HolidaySetting = new HolidaysSettings();
            HolidaySetting.HolidaySettingID        = this.HolidaySettingID;
            HolidaySetting.HolidayTypeID           = this.HolidayType.HolidayTypeID;
            HolidaySetting.MaturityYearID          = this.MaturityYear.MaturityYearID;
            HolidaySetting.HolidaySettingStartDate = this.HolidaySettingStartDate;
            HolidaySetting.HolidaySettingEndDate   = this.HolidaySettingEndDate;
            HolidaySetting.LastUpdatedDate         = DateTime.Now;
            HolidaySetting.LastUpdatedBy           = this.LoginIdentity.EmployeeCodeID;
            this.HolidaySettingID = new HolidaysSettingsDAL().Update(HolidaySetting);
            if (this.HolidaySettingID != 0)
            {
                result.Entity     = this;
                result.EnumType   = typeof(LookupsValidationEnum);
                result.EnumMember = LookupsValidationEnum.Done.ToString();
            }
            return(result);
        }
Ejemplo n.º 2
0
 internal HolidaysSettingsBLL MapHolidaySetting(HolidaysSettings item)
 {
     return(item != null ?
            new HolidaysSettingsBLL()
     {
         HolidaySettingID = item.HolidaySettingID,
         HolidayType = new HolidaysTypesBLL().MapHolidayType(item.HolidaysTypes),
         HolidaySettingEndDate = item.HolidaySettingEndDate,
         HolidaySettingStartDate = item.HolidaySettingStartDate,
         MaturityYear = new MaturityYearsBalancesBLL().MapMaturityYearBalance(item.MaturityYearsBalances),
         CreatedBy = new EmployeesCodesBLL().MapEmployeeCode(item.CreatedByNav),
         CreatedDate = item.CreatedDate,
     }
         : null);
 }
Ejemplo n.º 3
0
        public virtual Result Add()
        {
            Result result = null;

            #region Validate both start and end date in the same year
            if (Globals.Calendar.GetUmAlQuraYear(this.HolidaySettingStartDate) != Globals.Calendar.GetUmAlQuraYear(this.HolidaySettingEndDate))
            {
                result            = new Result();
                result.EnumType   = typeof(HolidaySettingValidationEnum);
                result.EnumMember = HolidaySettingValidationEnum.RejectedBecauseOfHolidaysDurationShouldBeInTheSameHijriYear.ToString();
                return(result);
            }
            #endregion

            //--Validate if holiday days cross to another holdays or not.
            result = IsNoConflictWithOtherHolidaySettings(this.HolidaySettingStartDate, this.HolidaySettingEndDate);
            if (result != null)
            {
                return(result);
            }
            result = new Result();
            HolidaysSettings HolidaySetting = new HolidaysSettings();
            HolidaySetting.HolidayTypeID           = this.HolidayType.HolidayTypeID;
            HolidaySetting.MaturityYearID          = this.MaturityYear.MaturityYearID;
            HolidaySetting.HolidaySettingStartDate = this.HolidaySettingStartDate;
            HolidaySetting.HolidaySettingEndDate   = this.HolidaySettingEndDate;
            HolidaySetting.CreatedDate             = DateTime.Now;
            HolidaySetting.CreatedBy = this.LoginIdentity.EmployeeCodeID;

            this.HolidaySettingID = new HolidaysSettingsDAL().Insert(HolidaySetting);
            if (this.HolidaySettingID != 0)
            {
                result.Entity     = this;
                result.EnumType   = typeof(LookupsValidationEnum);
                result.EnumMember = LookupsValidationEnum.Done.ToString();
            }

            return(result);
        }