private void InitNewOption(SaveYearEndProcessSetupRequest request, AdmYearEndProcessOptions newOptions, DateTime today) { newOptions.DefaultStartDate = request.DefaultStartDate.ParseUsDateExact(); newOptions.DefaultEndDate = request.DefaultEndDate.ParseUsDateExact(); newOptions.DefaultStartAltDate = today; newOptions.DefaultTempStatusExpDate = request.DefaultTempStatusExpDate.ParseUsDateExact(); newOptions.LastUpdatedBy = request.AdmUserId; newOptions.LastUpdatedDate = today; }
public async Task <SaveYearEndProcessSetupResponse> SaveYearEndProcessSetup(SaveYearEndProcessSetupRequest request) { var newOptions = new AdmYearEndProcessOptions(); DateTime today = _repository.GetSchoolNow(request.AdmUserId); if (request.DefaultTempStatusExpDate == null) { request.DefaultTempStatusExpDate = today.ToUsDateString(); } var options = await _repository.GetListAsync <AdmYearEndProcessOptions>(o => o.OptionsForTheYear == request.OptionsForTheYear); if (options.Any()) { newOptions = await _repository.FindAsync <AdmYearEndProcessOptions>(request.OptionsForTheYear); _autoMapper.Map(request, newOptions); InitNewOption(request, newOptions, today); newOptions = _repository.Update(newOptions); } else { _autoMapper.Map(request, newOptions); InitNewOption(request, newOptions, today); newOptions = _repository.Create <AdmYearEndProcessOptions>(newOptions); } await UpdateSchoolDates(request.DefaultStartDate, request.DefaultEndDate, request.DefaultTempStatusExpDate); var farOptions = (await _repository.GetListAsync <FarOption>()).FirstOrDefault(); if (farOptions != null) { farOptions.StartingAppNumber = request.StartingAppNumber; farOptions = await _repository.UpdateAsync(farOptions); } return(_autoMapper.Map <SaveYearEndProcessSetupResponse>(request)); }