예제 #1
0
        public async Task <UpdateEstablishmentResponse> Handle(
            UpdateEstablishmentRequest request,
            CancellationToken cancellationToken)
        {
            var establishment = new Establishment(new Name(request.Name),
                                                  new CNPJ(request.CNPJ),
                                                  new Address(request.Address.Street,
                                                              request.Address.Number,
                                                              request.Address.Neighbourhood,
                                                              request.Address.City,
                                                              request.Address.State,
                                                              request.Address.ZipCode,
                                                              request.Address.Complement),
                                                  new Phone(request.Phone.CodeArea,
                                                            request.Phone.Number),
                                                  request.CarsCapacity,
                                                  request.MotorcyclesCapacity);

            var result = _repository.Update(establishment.ToDataEntity());

            _repository.CommitChanges();

            return(await Task.FromResult(new UpdateEstablishmentResponse(
                                             result.Id,
                                             result.Name,
                                             result.CNPJ,
                                             result.Address.ToString(),
                                             result.Phone,
                                             result.CarsCapacity,
                                             result.MotorcyclesCapacity
                                             )));
        }
 public void Put(int id, Establishment est)
 {
     if (ModelState.IsValid)
     {
         establishmentRepository.Update(est);
     }
 }
        public IActionResult UpdateEstablishment([FromBody] UpdateEstablishmentViewModel viewModel)
        {
            var establishment = new Establishment
            {
                EstablishmentId = viewModel.EstablishmentId,
                Address         = new Address
                {
                    Street = viewModel.Street,
                    Number = viewModel.Number
                }
            };

            return(Ok(_establishmentRepository.Update(establishment)));
        }
예제 #4
0
        public async Task AddReport(string id, int usesStraw)
        {
            var result = await _establishmentRepository.Get(id);

            if (result != null)
            {
                result.Reports.Add(new Models.Reports
                {
                    EstablishmentId = result.Id,
                    UsesStraws      = usesStraw
                });
            }

            await _establishmentRepository.Update(id, result);
        }
예제 #5
0
        Handle(ReleaseParkingSpaceRequest request,
               CancellationToken cancellationToken)
        {
            var data = _establishmentRepository
                       .GetById(request.EstablishmentId);

            var establishment = new Establishment(data);
            var totalPrice    = establishment
                                .ReleaseParkingSpace(request.ParkingSpaceId, request.VehicleId);

            _establishmentRepository.Update(establishment.ToDataEntity(request.EstablishmentId));

            _establishmentRepository.CommitChanges();

            return(Task.FromResult(new
                                   ReleaseParkingSpaceResponse(request.ParkingSpaceId,
                                                               request.VehicleId,
                                                               establishment
                                                               .IsParkingSpaceAvailable(request.ParkingSpaceId),
                                                               totalPrice.ToString()
                                                               )
                                   ));
        }
예제 #6
0
        Handle(OccupyParkingSpaceRequest request,
               CancellationToken cancellationToken)
        {
            var data = _establishmentRepository
                       .GetById(request.EstablishmentId);

            var establishment = new Establishment(data);

            establishment
            .OccupyParkingSpace(request.ParkingSpaceId, request.VehicleId);

            var result = _establishmentRepository
                         .Update(establishment.ToDataEntity(request.EstablishmentId));

            _establishmentRepository.CommitChanges();

            return(Task.FromResult(new
                                   OccupyParkingSpaceResponse(request.ParkingSpaceId,
                                                              request.VehicleId,
                                                              establishment
                                                              .IsParkingSpaceAvailable(request.ParkingSpaceId)
                                                              )
                                   ));
        }