Exemple #1
0
        public IActionResult New()
        {
            var user   = HttpContext.User;
            var userId = Convert.ToInt32(user.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value);
            NewVacationsRequestViewModel viewModel = new NewVacationsRequestViewModel
            {
                DaysAvailable    = _vacationsRequestRepo.GetAvailableVacationCount(userId),
                VacationsRequest = new VacationsRequest()
            };

            ViewBag.AddedRequest = TempData["added"];
            ViewBag.DaysInvalid  = false;
            return(View(viewModel));
        }
Exemple #2
0
        public IActionResult Index()
        {
            DashboardViewModel viewModel = new DashboardViewModel();
            var user        = HttpContext.User;
            var id          = user.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value;
            var list        = _activityRepo.Activities.OrderByDescending(a => a.RealizationDate).Where(a => a.CreatorId == Convert.ToInt32(id)).Take(5).ToList();
            var vacations   = _attorneyRepo.Attorneys.Where(a => a.UserId == Convert.ToInt32(id)).FirstOrDefault()?.VacationCount ?? 0;
            var listHours   = _activityRepo.Activities.Where(a => a.CreatorId == Convert.ToInt32(id) && a.RealizationDate.Year == DateTime.Now.Year && a.RealizationDate.Month == DateTime.Now.Month).ToList();
            var hoursWorked = listHours.Sum(h => h.HoursWorked);

            viewModel.Vacations          = Math.Round(vacations, 2);
            viewModel.Activities         = list;
            viewModel.AvailableVacations = _vacationsRequestRepository.GetAvailableVacationCount(Convert.ToInt32(id));
            viewModel.ReservedVacations  = _vacationsRequestRepository.GetReservedVacationCount(Convert.ToInt32(id));
            viewModel.HoursWorked        = Math.Round(hoursWorked);
            return(View(viewModel));
        }
Exemple #3
0
        public IActionResult Add()
        {
            var attorneys = _attorneysRepo.Attorneys.Where(a => a.User.Active).ToList();

            foreach (var a in attorneys)
            {
                a.AvailableVacationCount = _vacationsRequestRepo.GetAvailableVacationCount(a.UserId);
            }
            NewVacationsMovementViewModel viewModel = new NewVacationsMovementViewModel
            {
                Attorneys         = attorneys,
                VacationsMovement = new VacationsMovement()
            };

            ViewBag.AddedMovement = TempData["added"];
            ViewBag.DaysInvalid   = false;
            return(View(viewModel));
        }
Exemple #4
0
 public bool ValidateMovement(VacationsMovement vacationsMovement)
 {
     if (vacationsMovement.MovementType == VacationMovementEnum.Credit)
     {
         return(true);
     }
     else
     {
         var userId             = context.Attorneys.Where(a => a.Id == vacationsMovement.AttorneyId).Select(a => a.UserId).FirstOrDefault();
         var availableVacations = _vacationsRequestRepo.GetAvailableVacationCount(userId);
         if (availableVacations >= vacationsMovement.Quantity)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }