private Response handleRequest(Request request) { Response response = null; Request.Types.Type reqType = request.Type; switch (reqType) { case Request.Types.Type.Login: { Console.WriteLine("Login request ..."); csharpMusicFestival.domain.User user = ProtoUtils.GetUser(request); try { lock (server) { server.Login(user, this); } return(ProtoUtils.createOkResponse()); } catch (Error e) { connected = false; return(ProtoUtils.createErrorResponse(e.Message)); } } case Request.Types.Type.Logout: { Console.WriteLine("Logout request"); csharpMusicFestival.domain.User user = ProtoUtils.GetUser(request); try { lock (server) { server.Logout(user, this); } connected = false; return(ProtoUtils.createOkResponse()); } catch (Error e) { return(ProtoUtils.createErrorResponse(e.Message)); } } case Request.Types.Type.GetShows: { Console.WriteLine("Get shows request"); try { csharpMusicFestival.domain.Show[] shows = server.GetAll(); return(ProtoUtils.CreateGetShowsResponse(shows)); } catch (Error e) { return(ProtoUtils.createErrorResponse(e.Message)); } } case Request.Types.Type.GetArtistsByDate: { Console.WriteLine("Get artists by date request"); String date = request.Date; try { csharpMusicFestival.domain.Artist[] artists = server.GetArtists(date); return(ProtoUtils.CreateGetArtistsByDateResponse(artists)); } catch (Error e) { return(ProtoUtils.createErrorResponse(e.Message)); } } case Request.Types.Type.BuyTicket: { Console.WriteLine("Buy ticket request"); csharpMusicFestival.domain.Ticket ticket = ProtoUtils.GetTicket(request); try { lock (server) { server.SellTickets(ticket); } return(ProtoUtils.createOkResponse()); } catch (InvalidPurchaseException e) { return(ProtoUtils.createErrorResponse(e.Message)); } catch (Error e) { return(ProtoUtils.createErrorResponse(e.Message)); } } } return(response); }
private Response handleRequest(Request request) { //Response response = null; Request.Types.Type reqType = request.Type; switch (reqType) { case Request.Types.Type.Login: { Console.WriteLine("Login request... "); //LoginRequest loginRequest = (LoginRequest) request; //Volunteer volunteer = loginRequest.Volunteer; MPP_TeledonClientServer.model.Volunteer volunteer = ProtoUtils.getVoluneer(request); try { lock (server) { server.login(this, volunteer.Username, volunteer.Password); } return(ProtoUtils.createOKResponse()); } catch (TeledonException e) { connected = false; return(ProtoUtils.createErrorResponse(e.Message)); } } case Request.Types.Type.Logout: { Console.WriteLine("Logout request... "); try { lock (server) { server.logout(this); } connected = false; return(ProtoUtils.createOKResponse()); } catch (TeledonException e) { return(ProtoUtils.createErrorResponse(e.Message)); } } case Request.Types.Type.GetAllCases: { Console.WriteLine("Get all cases request... "); try { lock (server) { IEnumerable <MPP_TeledonClientServer.model.Case> cases = server.getAllCases(); return(ProtoUtils.createGetAllCasesResponse(cases)); } } catch (TeledonException e) { return(ProtoUtils.createErrorResponse(e.Message)); } } case Request.Types.Type.GetAllDonors: { Console.WriteLine("Get all donors request..."); string subtring = ProtoUtils.getSubstring(request); try { lock (server) { IEnumerable <MPP_TeledonClientServer.model.Donor> donors = server.searchDonorByName(subtring); return(ProtoUtils.createGetAllDonorsResponse(donors)); } } catch (TeledonException e) { return(ProtoUtils.createErrorResponse(e.Message)); } } case Request.Types.Type.NewDonation: { Console.WriteLine("New donation request..."); int donorId = ProtoUtils.getDonorId(request); String name = ProtoUtils.getName(request); String address = ProtoUtils.getAddress(request); String telephone = ProtoUtils.getTelephone(request); Double sum = ProtoUtils.getSum(request); int caseId = ProtoUtils.getCaseId(request); try { lock (server) { server.saveDonation(donorId, name, address, telephone, sum, caseId); return(ProtoUtils.createOKResponse()); } } catch (TeledonException e) { return(ProtoUtils.createErrorResponse(e.Message)); } } } return(null); }