Exemplo n.º 1
0
        public bool UpdateTime(UserHoursViewModel data)
        {
            var selectedUsers = data.Users.Where(x => x.IsSelected == true);

            if (data.AddHours == true)
            {
                foreach (var user in selectedUsers)
                {
                    var userFound = dbContext.Users.Include(x => x.Billing).SingleOrDefault(x => x.Id == user.UserId);

                    userFound.Billing.MinutesWorked += (data.MinutesToEdit + (data.HoursToEdit * 60));
                }
            }
            else
            {
                foreach (var user in selectedUsers)
                {
                    var userFound = dbContext.Users.Include(x => x.Billing).SingleOrDefault(x => x.Id == user.UserId);

                    var newTime = userFound.Billing.MinutesWorked -= (data.MinutesToEdit + (data.HoursToEdit * 60));

                    if (newTime < 0)
                    {
                        return(true);
                    }
                }
            }

            dbContext.SaveChanges();
            return(false);
        }
Exemplo n.º 2
0
        public IActionResult EditHours(UserHoursViewModel data)
        {
            if (!ModelState.IsValid)
            {
                return(View(data));
            }

            var error = groupService.UpdateTime(data);

            if (error)
            {
                ModelState.AddModelError("", "Jeden z użytkowników miałby wartość przepracowanych godzin mniejszą od 0");

                return(View(data));
            }

            return(RedirectToAction("Index"));
        }
Exemplo n.º 3
0
        public UserHoursViewModel GetUsersInGroup(string group, string userId)
        {
            UserHoursViewModel vm;

            //vm for all group
            if (group != null)
            {
                var groupEnum = (GroupEnum)Enum.Parse(typeof(GroupEnum), group);

                vm = new UserHoursViewModel
                {
                    Users = dbContext.Users.Where(x => groupEnum == x.Group)
                            .Select(x => new HoursEditUserListViewModel
                    {
                        UserId     = x.Id,
                        IsSelected = true,
                        FullName   = string.Format($"{x.FirstName} {x.LastName}, {x.UserName}")
                    }).ToList()
                };

                return(vm);
            }

            //vm only for 1 user
            vm = new UserHoursViewModel
            {
                Users = dbContext.Users.Where(x => userId == x.Id)
                        .Select(x => new HoursEditUserListViewModel
                {
                    UserId     = x.Id,
                    IsSelected = true,
                    FullName   = string.Format($"{x.FirstName} {x.LastName}, {x.UserName}")
                }).ToList()
            };

            return(vm);
        }