public async Task <bool> DeleteVacation(Vacation vacation) { try { if (await _сonnectedStateService.IsServiceAvailable()) { await Synchronization(); vacation.IsSynchroniz = true; vacation.SynchronizStatusId = Synchroniz; return(await _vacationWebService.DeleteVacations(vacation) && await _vacationRepository.Delete(vacation)); } vacation.IsSynchroniz = false; vacation.SynchronizStatusId = Delete; return(true); } catch (VTSException) { return(false); } }
public IActionResult SaveForecastData(VacationAccrualViewModel vm) { try { string userId = _userManager.GetUserId(User); DateTime startDate, endDate; decimal accrual, take, balance, forfeit; List <PayPeriod> vacationData = _vacationRepository.Get( userId, DateTime.Parse(vm.PeriodList.First().Period .Split(new string[] { " - " }, StringSplitOptions.None)[0].Trim()), 99 // more than the max period ); if (vm.PeriodList.Count != vacationData.Count) { _vacationRepository.Delete(userId); } for (int i = 0; i < vm.PeriodList.Count; i++) { startDate = DateTime.Parse(vm.PeriodList[i].Period .Split(new string[] { " - " }, StringSplitOptions.None)[0].Trim()); endDate = DateTime.Parse(vm.PeriodList[i].Period .Split(new string[] { " - " }, StringSplitOptions.None)[1].Trim()); accrual = vm.PeriodList[i].Accrual; take = vm.PeriodList[i].Take; balance = Convert.ToDecimal(vm.PeriodList[i].Balance); forfeit = Convert.ToDecimal(vm.PeriodList[i].Forfeit); if (vm.PeriodList.Count != vacationData.Count) { _vacationRepository.Insert( userId, startDate, endDate, accrual, take, balance, forfeit ); } else { _vacationRepository.Update( userId, startDate, endDate, take, balance, forfeit ); } } return(Content("Saved!")); } catch (Exception e) { _logger.LogError(e.Message); return(Content(e.Message)); } }