Exemplo n.º 1
0
        public async Task <ActionResult <RequestDTO> > AddNewRequest(NewRequestDTO requestDto)
        {
            if (ModelState.IsValid)
            {
                var addressToCreate = new Address
                {
                    City     = requestDto.Address.City,
                    Number   = requestDto.Address.Number,
                    Postcode = requestDto.Address.Postcode,
                    Street   = requestDto.Address.Street
                };

                addressToCreate.Geometry = await _addressService.GetGeometryAsync(addressToCreate);

                var customer = await _customerRepository.GetCustomerById(requestDto.CustomerId);

                if (customer != null)
                {
                    var requestToCreate = new Request
                    {
                        Title      = requestDto.Title,
                        Customer   = customer,
                        Address    = addressToCreate,
                        Date       = requestDto.Date,
                        StartTime  = requestDto.StartTime,
                        EndTime    = requestDto.EndTime,
                        IsExam     = requestDto.IsExam,
                        LessonType = requestDto.LessonType
                    };

                    await _requestRepository.AddRequest(requestToCreate);

                    var bettingCoor = await _userRepository.GetAllUsers().FirstAsync(u => u.Role == Role.BettingCoordinator);

                    await _notificationService.SendNewRequestNotification(requestToCreate, bettingCoor);

                    return(CreatedAtAction(nameof(GetOne), new { id = requestToCreate.Id }, requestToCreate));
                }
            }

            return(BadRequest());
        }
Exemplo n.º 2
0
 public IActionResult NewRequest(NewRequestDTO requestDTO)
 {
     documentRequestService.Save(requestDTO);
     return(Ok());
 }