public async Task <IWrappedResponse> AddToCustomer(UserAddToCustomerRequest request) { var user = _userRepo.FindAll().IgnoreQueryFilters().Include(u => u.Customers) .SingleOrDefault(u => !u.IsDeleted && u.Id == request.UserId); var customer = _customerRepo.FindAll().IgnoreQueryFilters().SingleOrDefault(c => !c.IsDeleted && c.Id == request.CustomerId); if (user != null && customer != null) { //Check if Relation already exists if (user.Customers.Any(c => c.CustomerId == request.CustomerId)) { return(Ok(_mapper.Map <User>(user))); } //Else add new Relation user.Customers.Add(new Olma.UserCustomerRelation() { User = user, Customer = customer }); _userRepo.Save(); // Eventuelle ungültiger Permission Cache await _permissionsService.UpdateCache(); return(Ok(_mapper.Map <User>(user))); } return(Failed <User>()); }
//[HasPermission(typeof(CanUpdateCustomerUserRequirement))] TODO User management Permissions public Task <ActionResult <User> > AddToCustomer([FromRoute] int id, [FromBody] int customerId) { var request = new UserAddToCustomerRequest() { UserId = id, CustomerId = customerId }; return(this._userService.AddToCustomer(request).Convert <User>(this)); }