コード例 #1
0
 public void Initialize()
 {
     ClientDBRepository   = new ClientDBRepository(DBUtils.GetProperties());
     ClientRepository     = new ClientRepository(new ClientValidator());
     EmployeeDBRepository = new EmployeeDBRepository(DBUtils.GetProperties());
     EmployeeRepository   = new EmployeeRepository(new EmployeeValidator());
     RideDBRepository     = new RideDBRepository(DBUtils.GetProperties());
     RideRepository       = new RideRepository(new RideValidator());
     BookingDBRepository  = new BookingDBRepository(DBUtils.GetProperties());
     BookingRepository    = new BookingRepository(new BookingValidator());
 }
コード例 #2
0
        private static void Main(string[] args)
        {
            var employeeRepo = new EmployeeDBRepository(DBUtils.GetProperties());
            var rideRepo     = new RideDBRepository(DBUtils.GetProperties());
            var bookingRepo  = new BookingDBRepository(DBUtils.GetProperties());
            var clientRepo   = new ClientDBRepository(DBUtils.GetProperties());
            ITransportServer transportServer = new TransportServer(employeeRepo, rideRepo, bookingRepo, clientRepo);

            // IChatServer serviceImpl = new ChatServerImpl();
            var server = new ServerSerial("127.0.0.1", 8081, transportServer);

            server.Start();

            Console.WriteLine("Server started ...");
            //Console.WriteLine("Press <enter> to exit...");
            Console.ReadLine();
        }
コード例 #3
0
        private IResponse HandleRequest(IRequest request)
        {
            List <Ride> rides;

            switch (request)
            {
            case LoginRequest _:
                Console.WriteLine("Login request ...");
                var loginRequest = (LoginRequest)request;
                var employeeDto  = loginRequest.EmployeeDto;
                var employee     = DTOUtils.GetFromDto(employeeDto);
                try
                {
                    bool response;
                    lock (_server)
                    {
                        response = _server.LogIn(employee, this);
                    }
                    if (response)
                    {
                        return(new OkResponse());
                    }
                    return(new ErrorResponse("Wrong Username/Password"));
                }
                catch (Exception e)
                {
                    _connected = false;
                    return(new ErrorResponse(e.Message));
                }

            case GetAllRidesRequest _:
                Console.WriteLine("Get All Trips request ...");
                try
                {
                    RideDTO[] response;
                    lock (_server)
                    {
                        response = _server.GetAllRides().Select(DTOUtils.GetRideDto).ToArray();
                    }
                    return(new GetRidesResponse(response));
                }
                catch (Exception e)
                {
                    return(new ErrorResponse(e.Message));
                }

            case GetAllBookingsRequest _:
                Console.WriteLine("Get All Bookings request ...");
                try
                {
                    BookingDTO[] response;
                    lock (_server)
                    {
                        response = _server.GetAllBookings().Select(DTOUtils.GetBookingDto).ToArray();
                    }
                    return(new GetBookingsResponse(response));
                }
                catch (Exception e)
                {
                    return(new ErrorResponse(e.Message));
                }

            case GetAllClientsRequest _:
                Console.WriteLine("Get All Bookings request ...");
                try
                {
                    ClientDTO[] response;
                    lock (_server)
                    {
                        response = _server.GetAllClients().Select(DTOUtils.GetClientDto).ToArray();
                    }
                    return(new GetClientsResponse(response));
                }
                catch (Exception e)
                {
                    return(new ErrorResponse(e.Message));
                }

            case GetCustomRidesRequest _:
                Console.WriteLine("Get custom rides...");
                var customRequest = (GetCustomRidesRequest)request;
                var customDto     = customRequest.CustomRideDto;
                try
                {
                    RideDTO[] response;
                    lock (_server)
                    {
                        RideDBRepository db = new RideDBRepository(DBUtils.GetProperties());
                        var rideService     = new RideService(db);
                        Console.WriteLine(rideService.FilterDestinationDateHour(customDto.Destination, customDto.Date.ToString("yyyy-MM-dd"),
                                                                                customDto.Hour.ToString(@"HH\:mm")));
                        response = _server.GetCustomRides(customDto.Destination, customDto.Date.ToString("yyyy-MM-dd"),
                                                          customDto.Hour.ToString(@"HH\:mm")).Select(DTOUtils.GetRideDto).ToArray();
                    }
                    return(new GetRidesResponse(response));
                }
                catch (Exception e)
                {
                    return(new ErrorResponse(e.Message));
                }

            case BookingRequest _:
                Console.WriteLine("Add booking...");
                var bookingRequest = (BookingRequest)request;
                var ride           = DTOUtils.GetFromDto(bookingRequest.RideDto);
                var booking        = DTOUtils.GetFromDto(bookingRequest.BookingDto);
                var client         = DTOUtils.GetFromDto(bookingRequest.ClientDto);
                employee = DTOUtils.GetFromDto(bookingRequest.EmployeeDto);
                try
                {
                    lock (_server)
                    {
                        rides = _server.AddBooking(ride, booking, employee, client);
                    }
                    return(new GetRidesResponse(rides.Select(DTOUtils.GetRideDto).ToArray()));
                }
                catch (Exception e)
                {
                    return(new ErrorResponse(e.Message));
                }

            case LogOutRequest _:
                Console.WriteLine("Log out ...");
                var logOutRequest = (LogOutRequest)request;
                employee = DTOUtils.GetFromDto(logOutRequest.EmployeeDto);
                try
                {
                    lock (_server)
                    {
                        _server.LogOut(employee);
                    }

                    return(new OkResponse());
                }
                catch (Exception e)
                {
                    return(new ErrorResponse(e.Message));
                }
            }
            return(null);
        }
コード例 #4
0
 public RideService(IRepository <int, Ride> repository) : base(repository)
 {
     _rideDBRepository = (RideDBRepository)repository;
 }