/// <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> /// Adds or Updates Holiday Pattern /// </summary> /// <param name="holidayPatternRequest"></param> /// <param name="userName"></param> public void AddOrUpdateHolidayPattern(HolidayPatternItem holidayPatternRequest, string userName) { ValidateHolidayPatternAddOrUpdateRequest(holidayPatternRequest); if (holidayPatternRequest.Id.HasValue) { UpdateHolidayPattern(holidayPatternRequest, userName); } else { AddHolidayPattern(holidayPatternRequest, userName); } }
/// <summary> /// Updates existing Holiday Pattern /// </summary> /// <param name="requestItem"></param> /// <param name="userName"></param> private void UpdateHolidayPattern(HolidayPatternItem requestItem, string userName) { var loggedInUserId = userRepository.GetAll().FirstOrDefault(x => x.AccountName == userName).Id; var existingPattern = holidayPatternRepository.Get(requestItem.Id.Value); existingPattern.Name = requestItem.Name; existingPattern.IsActive = requestItem.IsActive; existingPattern.LastModifiedOn = TimeZoneUtility.GetCurrentTimestamp(); existingPattern.LastModifiedBy = loggedInUserId; holidayPatternRepository.Save(); }
/// <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(); }
/// <summary> /// Validate Holiday Pattern create request /// </summary> private void ValidateHolidayPatternAddOrUpdateRequest(HolidayPatternItem holidayPatternRequest) { if (holidayPatternRequest.Id.HasValue) { // Update validation var existingPattern = holidayPatternRepository.Get(holidayPatternRequest.Id.Value); if (holidayPatternRequest.Name != existingPattern.Name) { if (holidayPatternRepository.GetAll().Any(x => x.Name == holidayPatternRequest.Name)) { throw new NDMSBusinessException(Constants.HolidayPatternNameAlreadyExists); } ; } } else { if (holidayPatternRepository.GetAll().Any(x => x.Name == holidayPatternRequest.Name)) { throw new NDMSBusinessException(Constants.HolidayPatternNameAlreadyExists); } ; } }
public IHttpActionResult PostHolidayPattern([FromBody] HolidayPatternItem holidayPattern) { CheckModelState(); holidayPatternManager.AddOrUpdateHolidayPattern(holidayPattern, Username); return(Ok()); }