Example #1
0
        public virtual void AddParticipant(string name, int age, Event event1, Event event2)
        {
            ParticipantDetailsDTO pd = new ParticipantDetailsDTO {
                Name = name, Age = age, Event1 = event1, Event2 = event2
            };

            SendRequest(new AddParticipantRequest {
                ParticipantDetails = pd
            });
            Response response = ReadResponse();

            if (response is ErrorResponse)
            {
                ErrorResponse err = (ErrorResponse)response;
                throw new Exception(err.ErrorMessage);
            }
        }
Example #2
0
        private Response HandleRequest(Request request)
        {
            if (request is LoginRequest)
            {
                Console.WriteLine("Login request");
                LoginRequest logReq = (LoginRequest)request;
                User         user   = logReq.User;
                try
                {
                    lock (Server)
                    {
                        Server.Login(user, this);
                    }
                    return(new OkResponse());
                }
                catch (Exception e)
                {
                    Connected = false;
                    return(new ErrorResponse {
                        ErrorMessage = e.Message
                    });
                }
            }

            if (request is LogoutRequest)
            {
                Console.WriteLine("Logout request");
                LogoutRequest logReq = (LogoutRequest)request;
                User          user   = logReq.User;
                try
                {
                    lock (Server)
                    {
                        Server.Logout(user, this);
                    }
                    Connected = false;
                    return(new OkResponse());
                }
                catch (Exception e)
                {
                    return(new ErrorResponse {
                        ErrorMessage = e.Message
                    });
                }
            }

            if (request is ChildrenEventsRequest)
            {
                Console.WriteLine("Children Events Request");
                ChildrenEventsRequest ceReq = (ChildrenEventsRequest)request;
                EventAgeGroupDTO      eag   = ceReq.EventAgeGroup;
                try
                {
                    ChildNoEventsDTO[] lst;
                    lock (Server)
                    {
                        lst = Server.GetChildrenNoEvents(eag.Event, eag.AgeGroup).ToArray();
                    }
                    return(new ChildrenEventsResponse {
                        ChildNoEventsList = lst
                    });
                }
                catch (Exception e)
                {
                    return(new ErrorResponse {
                        ErrorMessage = e.Message
                    });
                }
            }

            if (request is AddParticipantRequest)
            {
                Console.WriteLine("Add Participant Request");
                AddParticipantRequest apReq = (AddParticipantRequest)request;
                ParticipantDetailsDTO pd    = apReq.ParticipantDetails;
                try
                {
                    lock (Server)
                    {
                        Server.AddParticipant(pd.Name, pd.Age, pd.Event1, pd.Event2);
                    }
                    return(new OkResponse());
                }
                catch (Exception e)
                {
                    return(new ErrorResponse {
                        ErrorMessage = e.Message
                    });
                }
            }

            if (request is EventCountRequest)
            {
                Console.WriteLine("Event Count Request");
                try
                {
                    EventCountDTO[] lst;
                    lock (Server)
                    {
                        lst = Server.GetEventsNumber().ToArray();
                    }
                    return(new EventCountResponse {
                        EventCountList = lst
                    });
                }
                catch (Exception e)
                {
                    return(new ErrorResponse {
                        ErrorMessage = e.Message
                    });
                }
            }

            return(null);
        }