示例#1
0
        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);
            }
        }
示例#2
0
        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));
            }
        }