Exemplo n.º 1
0
        public IActionResult SaveAccrual(AccrualViewModel accrualViewModel)
        {
            var validationResult = _humanPresentation.GetErrorsStringFromModelState(ModelState);

            if (validationResult != null)
            {
                return(Json(validationResult));
            }
            _humanPresentation.SaveAccrual(accrualViewModel);
            return(RedirectToAction("Personnel"));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> Create(string contractId)
        {
            var contract = await _contractRepository.GetByIdAsync(contractId);

            var accrualType = await _accrualTypeRepository.GetByIdAsync(contract.AccrualTypeId);

            var room = await _roomRepository.GetByIdAsync(contract.RoomId);

            var sum  = 0m;
            var rate = 0.0;

            switch (accrualType.Name)
            {
            case "Аренда":
                rate = (await _calcCoefficientRepository
                        .GetByIdAsync("73163d80-28fa-45bf-8636-54dd4c33e5f1"))
                       .Coefficient;
                sum = (decimal)room.Square * (decimal)rate *
                      room.ComfortCoef * room.IncreasingCoefToBaseRate *
                      room.PlacementCoef * room.SocialOrientationCoef *
                      room.Price;
                break;

            case "Техобслуживание":
                rate = (await _calcCoefficientRepository
                        .GetByIdAsync("e557209d-ce5e-4924-952f-3b1751e346dc"))
                       .Coefficient;
                sum = (decimal)(room.Square * rate);
                break;

            case "Капремонт":
                rate = (await _calcCoefficientRepository
                        .GetByIdAsync("7cbbe0f0-b840-409f-aa38-4259f4e1ee82"))
                       .Coefficient;
                sum = (decimal)(room.Square * rate);
                break;
            }

            var accrual = new AccrualViewModel
            {
                ContractId    = contractId,
                Tenant        = (await _tenantRepository.GetByIdAsync(contract.TenantId)).Name,
                Room          = room.Address,
                InvoiceNumber = 0,
                AccrualType   = (await _accrualTypeRepository.GetByIdAsync(contract.AccrualTypeId)).Name,
                AccrualDate   = DateTime.Now.Date,
                Summ          = sum
            };

            return(View(accrual));
        }
Exemplo n.º 3
0
        public AccrualViewModel GetAccrualViewModel(long employeId)
        {
            var accrualViewModel = new AccrualViewModel();
            var employe          = _employeRepository.Get(employeId);
            var accruals         = _accrualRepository.GetEmployeAccrualsDate(employeId);

            accrualViewModel.EmployeId       = employeId;
            accrualViewModel.DateFrom        = (DateTime)employe.InviteDate;
            accrualViewModel.DateTo          = DateTime.Today;
            accrualViewModel.NoAccrualsDates = _salaryService.PickUpMonths(
                new DateTime(accrualViewModel.DateFrom.Year, accrualViewModel.DateFrom.Month, 1),
                new DateTime(accrualViewModel.DateTo.Year, accrualViewModel.DateTo.Month, 1),
                accruals);
            return(accrualViewModel);
        }
Exemplo n.º 4
0
        public async Task <ActionResult> Edit(AccrualViewModel accrual)
        {
            if (!ModelState.IsValid)
            {
                return(View(accrual));
            }

            try
            {
                await _accrualRepository.UpdateAsync(AccrualViewModel.FromAccrualViewModel(accrual));

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View(accrual));
            }
        }
Exemplo n.º 5
0
        public void SaveAccrual(AccrualViewModel accrualViewModel)
        {
            var accrual = _accrualRepository.GetExist(accrualViewModel.EmployeId, accrualViewModel.Date);

            if (accrual != null)
            {
                accrual.Amount = accrualViewModel.Amount;
            }
            else
            {
                accrual = new Accrual()
                {
                    Date    = accrualViewModel.Date,
                    Amount  = accrualViewModel.Amount,
                    Employe = _employeRepository.Get(accrualViewModel.EmployeId)
                };
            }
            _accrualRepository.Save(accrual);
        }
Exemplo n.º 6
0
        public async Task <ActionResult> Delete(string id)
        {
            var accrual = await _accrualRepository.GetByIdAsync(id);

            var contract = await _contractRepository.GetByIdAsync(accrual.ContractId);

            var tenant = await _tenantRepository.GetByIdAsync(contract.TenantId);

            var accrualType = await _accrualTypeRepository.GetByIdAsync(contract.AccrualTypeId);

            var room = await _roomRepository.GetByIdAsync(contract.RoomId);

            var vm = AccrualViewModel.FromAccrual(accrual);

            vm.Tenant      = tenant.Name;
            vm.AccrualType = accrualType.Name;
            vm.Room        = room.Address;

            return(View(vm));
        }
Exemplo n.º 7
0
        public async Task <ActionResult> Create(AccrualViewModel accrualVM)
        {
            accrualVM.Id = System.Guid.NewGuid().ToString();
            var accrual = AccrualViewModel.FromAccrualViewModel(accrualVM);

            if (!ModelState.IsValid)
            {
                return(View(accrualVM));
            }

            try
            {
                await _accrualRepository.AddAsync(accrual);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception e)
            {
                ModelState.AddModelError("", e.Message);

                return(View(accrualVM));
            }
        }