Ejemplo n.º 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
                                             )));
        }
Ejemplo n.º 2
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()
                                                               )
                                   ));
        }
Ejemplo n.º 3
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)
                                                              )
                                   ));
        }