public void Execute(UserAddDto request) { request.Id = 0; _validator.ValidateAndThrow(request); _context.Users.Add(_maper.Map <User>(request)); _context.SaveChanges(); var user = _context.Users.Include(x => x.UserUserCases).FirstOrDefault(x => x.Username == request.Username); var useCases = new List <UserUserCase>(); if (user.RoleId == (int)Roles.Admin) { foreach (var useCase in RightListes.AdminRights()) { useCases.Add(new UserUserCase { UseCaseId = useCase, UserId = user.Id }); } } if (user.RoleId == (int)Roles.User) { foreach (var useCase in RightListes.UserRights()) { useCases.Add(new UserUserCase { UseCaseId = useCase, UserId = user.Id }); } } if (user.RoleId != (int)Roles.User || user.RoleId != (int)Roles.Admin) { foreach (var useCase in request.UseCases) { useCases.Add(new UserUserCase { UseCaseId = useCase, UserId = user.Id }); } } user.UserUserCases = useCases; _context.SaveChanges(); }
public void Execute(UserAdminAddOrChangeDto request) { _validator.ValidateAndThrow(request); _context.Users.Add(_mapper.Map <WatchShop.Domain.User>(request)); _context.SaveChanges(); var user = _context.Users.FirstOrDefault(x => x.Username == request.Username); var useCases = new List <WatchShop.Domain.UserUserCase>(); var useCasesList = _context.UseCases.ToList(); var adminUseCases = useCasesList.Select(x => x.Id); var userUseCases = useCasesList.Where(x => !x.AdminCase).Select(x => x.Id); if (user.GroupId == 1) { foreach (var useCase in adminUseCases) { useCases.Add(new WatchShop.Domain.UserUserCase { UseCaseId = useCase, UserId = user.Id }); } } if (user.GroupId == 2) { foreach (var useCase in userUseCases) { useCases.Add(new WatchShop.Domain.UserUserCase { UseCaseId = useCase, UserId = user.Id }); } } if (useCases.Count > 0) { user.UserUserCases = useCases; _context.SaveChanges(); } }