Exemplo n.º 1
0
        public async Task <ActionResult> CreateWaitlist([FromBody] WaitlistForCreationDto waitlistForCreationDto)
        {
            if (ModelState.IsValid)
            {
                var waitlistToCreate = _mapper.Map <Waitlist>(waitlistForCreationDto);
                _unitOfWork.WaitlistRepository.Add(waitlistToCreate);

                if (await _unitOfWork.WaitlistRepository.SaveChangesAsync())
                {
                    var waitlistToReturn = _mapper.Map <WaitlistForReturnDto>(waitlistToCreate);
                    return(CreatedAtRoute("GetWaitlist",
                                          new { controller = "Waitlists", id = waitlistToCreate.WaitlistId }, waitlistToReturn));
                }
                else
                {
                    return(BadRequest("Failed to save changes to the database."));
                }
            }

            return(BadRequest(ModelState));

            /*if (await _repo.SaveAll()) {
             *  var customerToRetun = _mapper.Map<CustomerForReturnDto>(customer);
             *  return CreatedAtAction(nameof(GetCustomer), new { id = customer.CustomerId }, customerToRetun);
             * }*/
        }
Exemplo n.º 2
0
        public IActionResult JoinWaitlist([FromBody] WaitlistForCreationDto w)
        {
            var library = _dbContext.Libraries.FirstOrDefault(l => l.Id == w.LibraryId);
            var user    = _dbContext.Users.FirstOrDefault(u => u.Id == w.UserId); //change later to get from token (?)

            if (library == null || user == null)
            {
                return(NotFound());
            }

            var waitlist = new Waitlist {
                Library = library, User = user, RequestedOn = DateTime.Now, IsActive = true
            };

            _dbContext.Add(waitlist);
            _dbContext.SaveChanges();

            return(Ok());
        }