/// <summary> /// Validate copy request of patterns /// </summary> /// <param name="newPattern"></param> private void ValidateHolidayPatternCopyRequest(HolidayPattern newPattern) { if (holidayPatternRepository.GetAll().Any(x => x.Name == newPattern.Name)) { throw new NDMSBusinessException(Constants.HolidayPatternNameAlreadyExists); } }
/// <summary> /// Copies holidays to a new Holiday Pattern /// </summary> /// <param name="holidayPatternId"></param> /// <param name="userName"></param> private void CopyHolidayPatternInformation(int holidayPatternId, string userName) { var loggedInUserId = userRepository.GetAll().FirstOrDefault(x => x.AccountName == userName).Id; var existingPattern = holidayPatternRepository.Get(holidayPatternId); var newPattern = new HolidayPattern { Name = "Copy Of " + existingPattern.Name, IsActive = existingPattern.IsActive, CreatedBy = loggedInUserId, CreatedOn = TimeZoneUtility.GetCurrentTimestamp(), LastModifiedBy = loggedInUserId, LastModifiedOn = TimeZoneUtility.GetCurrentTimestamp(), Holidays = existingPattern.Holidays.Where(x => x.IsActive).Select(y => new HolidayPatternInfo { Date = y.Date, IsActive = true, CreatedBy = loggedInUserId, CreatedOn = TimeZoneUtility.GetCurrentTimestamp(), LastModifiedBy = loggedInUserId, LastModifiedOn = TimeZoneUtility.GetCurrentTimestamp(), }).ToList() }; ValidateHolidayPatternCopyRequest(newPattern); holidayPatternRepository.AddOrUpdate(newPattern); holidayPatternRepository.Save(); }
/// <summary> /// Converts Holiday pattern entity to holiday pattern DTO /// </summary> /// <param name="pattern"></param> /// <returns></returns> private HolidayPatternItem ConvertHolidayPatternToHolidayPatternItemDTO(HolidayPattern pattern) { var holidayPatternItem = new HolidayPatternItem { Id = pattern.Id, Name = pattern.Name, IsActive = pattern.IsActive }; return(holidayPatternItem); }
/// <summary> /// Add news Holiday Pattern /// </summary> /// <param name="requestItem"></param> /// <param name="userName"></param> private void AddHolidayPattern(HolidayPatternItem requestItem, string userName) { var loggedInUserId = userRepository.GetAll().FirstOrDefault(x => x.AccountName == userName).Id; var newPattern = new HolidayPattern { Name = requestItem.Name, IsActive = requestItem.IsActive, CreatedBy = loggedInUserId, CreatedOn = TimeZoneUtility.GetCurrentTimestamp(), LastModifiedBy = loggedInUserId, LastModifiedOn = TimeZoneUtility.GetCurrentTimestamp() }; holidayPatternRepository.AddOrUpdate(newPattern); holidayPatternRepository.Save(); }