public async Task <IActionResult> PutLabel(int id, Label label)
        {
            if (id != label.Id)
            {
                return(BadRequest());
            }

            _context.Entry(label).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!LabelExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 2
0
        public async Task <IActionResult> PutMovieStudio(int id, MovieStudio movieStudio)
        {
            if (id != movieStudio.Id)
            {
                return(BadRequest());
            }

            _context.Entry(movieStudio).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MovieStudioExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <IActionResult> PutRentedMovies(int id, RentedMovies rentedMovies)
        {
            if (id != rentedMovies.Id)
            {
                return(BadRequest());
            }

            _context.Entry(rentedMovies).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RentedMoviesExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 4
0
        public async Task <ActionResult <Movie> > ChangeMaxRentAmount(int id, Movie movie)
        {
            var movieToChange = await _context.Movies.FindAsync(id);

            Console.WriteLine("Insert chosen string here.");
            movieToChange.MaxAmount = movie.MaxAmount;
            if (movieToChange.MaxAmount > 10)
            {
                return(BadRequest());
            }
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MovieExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(movieToChange);
        }
        public GroupSpace CreateGroupSpace(GroupSpace groupSpace)
        {
            var newGroupSpace = _context.GroupSpaces.Add(groupSpace).Entity;

            _context.SaveChangesAsync();
            return(newGroupSpace);
        }
Exemplo n.º 6
0
        public User Create(User user)
        {
            var newUser = _context.Users.Add(user).Entity;

            _context.SaveChangesAsync();
            return(newUser);
        }
Exemplo n.º 7
0
        public async Task <ActionResult <Movie> > RentMovieToStudio(int studioId, int movieId, int alternative)
        {
            if (alternative == 1)
            {
                var movieStudio = await _context.MovieStudios.Where(m => m.Id == studioId).FirstOrDefaultAsync();

                var movie = await _context.Movies.Where(m => m.Id == movieId).FirstOrDefaultAsync();

                movieStudio.AddMovie(movie);
                await _context.SaveChangesAsync();

                return(StatusCode(201));
            }

            else if (alternative == 0)
            {
                var movieToReturn = await _context.MovieStudios.Where(movie => movie.Id == studioId)
                                    .Include(x => x.RentedMovies)
                                    .ThenInclude(x => x.Movie)
                                    .FirstOrDefaultAsync();

                movieToReturn.ReturnRentedMovie(movieId);
                await _context.SaveChangesAsync();

                return(StatusCode(201));
            }
            else
            {
                return(BadRequest());
            }
        }
Exemplo n.º 8
0
        public async Task <ActionResult <Movie> > ChangeRentQuote(int id, Movie movie)
        {
            var movieToChange = _context.Movies.Find(id);

            movieToChange.MaxAmount = movie.MaxAmount;
            if (movieToChange.MaxAmount > 20)
            {
                return(BadRequest());
            }
            await _context.SaveChangesAsync();

            return(movieToChange);
        }
Exemplo n.º 9
0
            public async Task<Response> Handle(Request request, CancellationToken cancellationToken)
            {
                var id = request.Id;
                var name = request.Name;

                // Load tenant
                var data = await _db.Tenants.SingleOrDefaultAsync(x => x.Id == id);
                if (data == null)
                {
                    throw new NotFoundException("tenant", "id", id);
                }

                // Check new name is unique
                var exists = await _db.Tenants.AnyAsync(x => x.Name == name && x.Id != id);
                if (exists)
                {
                    throw new NotUniqueException("tenant", "name", name);
                }

                // Save tenant
                data.Name = name;
                _db.Tenants.Update(data);
                await _db.SaveChangesAsync();

                // Load tenant
                var tenant = await _db.Tenants.SingleAsync(x => x.Id == data.Id);
                return new Response
                {
                    Tenant = _map.Map<TenantModel>(tenant)
                };
            }
Exemplo n.º 10
0
        public async Task <IActionResult> UpdateVehicle([FromBody] Vehicle vehicle)
        {
            using (var context = new GlobalDbContext())
            {
                context.Vehicles.Update(vehicle);
                await context.SaveChangesAsync();

                return(Ok());
            }
        }
Exemplo n.º 11
0
        public async Task <IActionResult> UpdateCustomer([FromBody] Customer customer)
        {
            using (var context = new GlobalDbContext())
            {
                context.Customers.Update(customer);
                await context.SaveChangesAsync();

                return(Ok());
            }
        }
        public UserGroupSpace CreateGroupSpaceReference(GroupSpace groupSpace, int creatorUserId)
        {
            var reference = new UserGroupSpace()
            {
                GroupSpaceId = groupSpace.Id,
                UserId = creatorUserId
            };

            var newUserGroupSpaceReference = _context.UserGroupSpaces.Add(reference).Entity;
            _context.SaveChangesAsync();
            return newUserGroupSpaceReference;
        }
Exemplo n.º 13
0
        public async Task <IActionResult> DeleteVehicle([FromQuery] int id)
        {
            using (var context = new GlobalDbContext())
            {
                var vehicle = await context.Vehicles.FirstOrDefaultAsync(x => x.Id == id);

                if (vehicle != null)
                {
                    context.Vehicles.Remove(vehicle);
                    await context.SaveChangesAsync();
                }
                return(Ok());
            }
        }
Exemplo n.º 14
0
        public async Task <IActionResult> DeleteCustomer([FromQuery] int id)
        {
            using (var context = new GlobalDbContext())
            {
                var customer = await context.Customers.FirstOrDefaultAsync(x => x.Id == id);

                if (customer != null)
                {
                    context.Customers.Remove(customer);
                    await context.SaveChangesAsync();
                }
                return(Ok());
            }
        }
Exemplo n.º 15
0
            public async Task <Result> Handle(Request request, CancellationToken cancellationToken)
            {
                var id = request.Id;

                // Load
                var data = await _db.Tenants.SingleOrDefaultAsync(x => x.Id == id);

                if (data == null)
                {
                    throw new NotFoundException("tenant", "id", id);
                }

                // Delete
                _db.Tenants.Remove(data);
                await _db.SaveChangesAsync();

                return(new Result());
            }
Exemplo n.º 16
0
            private async Task <Response> ProvisionTenant(Request request)
            {
                using (var transaction = await _db.Database.BeginTransactionAsync())
                {
                    var tenant = new Tenant
                    {
                        Name = request.Name,
                        Host = request.Host
                    };
                    await _db.Tenants.AddAsync(tenant);

                    await _db.SaveChangesAsync();

                    var user = new User
                    {
                        FirstName = request.FirstName,
                        LastName  = request.LastName,
                        Email     = request.Email,
                        Password  = request.Password,
                        TenantId  = tenant.Id
                    };
                    await _db.Users.AddAsync(user);

                    var team = new Team
                    {
                        Name     = Constants.Teams.DefaultAdministratorsTeam,
                        TenantId = tenant.Id
                    };
                    await _db.Teams.AddAsync(team);

                    var role = new Role
                    {
                        Name     = Constants.Teams.DefaultAdministratorsTeam,
                        TenantId = tenant.Id
                    };
                    await _db.Roles.AddAsync(role);

                    var permissions = PermissionHelper.AllPermissions.Select(name => new RolePermission
                    {
                        Role = role,
                        Name = name
                    });
                    await _db.RolePermissions.AddRangeAsync(permissions);

                    await _db.SaveChangesAsync();

                    await _db.TeamRoles.AddAsync(new TeamRole
                    {
                        Role     = role,
                        Team     = team,
                        TenantId = tenant.Id
                    });

                    await _db.UserTeams.AddAsync(new UserTeam
                    {
                        User     = user,
                        Team     = team,
                        TenantId = tenant.Id
                    });

                    await _db.SaveChangesAsync();

                    transaction.Commit();

                    return(new Response
                    {
                        Tenant = _map.Map <Tenant, TenantModel>(tenant),
                        User = _map.Map <User, UserModel>(user)
                    });
                }
            }