コード例 #1
0
ファイル: ProtoWorker.cs プロジェクト: Ena7/Athletic-App
 public virtual void RefreshEvents(IEnumerable <Domain.DTO.EventCountDTO> eventCountList)
 {
     try
     {
         Console.WriteLine("Refresh Event Count List Response");
         Domain.DTO.EventCountDTO[] lst = eventCountList.ToArray();
         SendResponse(ProtoUtils.GetEventsNumberResponse(lst, true));
     }
     catch (Exception e)
     {
         throw new Exception(e.StackTrace);
     }
 }
コード例 #2
0
ファイル: ProtoWorker.cs プロジェクト: Ena7/Athletic-App
        private Response HandleRequest(Request request)
        {
            if (request.Type is Request.Types.Type.Login)
            {
                Console.WriteLine("Login request");
                Domain.User user = ProtoUtils.GetUser(request);
                try
                {
                    lock (Server)
                    {
                        Server.Login(user, this);
                    }
                    return(ProtoUtils.OkResponse());
                }
                catch (Exception e)
                {
                    Connected = false;
                    return(ProtoUtils.ErrorResponse(e.Message));
                }
            }

            if (request.Type is Request.Types.Type.Logout)
            {
                Console.WriteLine("Logout request");
                Domain.User user = ProtoUtils.GetUser(request);
                try
                {
                    lock (Server)
                    {
                        Server.Logout(user, this);
                    }
                    Connected = false;
                    return(ProtoUtils.OkResponse());
                }
                catch (Exception e)
                {
                    return(ProtoUtils.ErrorResponse(e.Message));
                }
            }

            if (request.Type is Request.Types.Type.ChildrenEvents)
            {
                Console.WriteLine("Children Events Request");
                Domain.DTO.EventAgeGroupDTO eag = ProtoUtils.GetEventAgeGroupDTO(request);
                try
                {
                    Domain.DTO.ChildNoEventsDTO[] lst;
                    lock (Server)
                    {
                        lst = Server.GetChildrenNoEvents(eag.Event, eag.AgeGroup).ToArray();
                    }
                    return(ProtoUtils.GetChildrenNoEventsResponse(lst));
                }
                catch (Exception e)
                {
                    return(ProtoUtils.ErrorResponse(e.Message));
                }
            }

            if (request.Type is Request.Types.Type.AddParticipant)
            {
                Console.WriteLine("Add Participant Request");
                Domain.DTO.ParticipantDetailsDTO pd = ProtoUtils.GetParticipantDetailsDTO(request);
                try
                {
                    lock (Server)
                    {
                        Server.AddParticipant(pd.Name, pd.Age, pd.Event1, pd.Event2);
                    }
                    return(ProtoUtils.OkResponse());
                }
                catch (Exception e)
                {
                    return(ProtoUtils.ErrorResponse(e.Message));
                }
            }

            if (request.Type is Request.Types.Type.EventCount)
            {
                Console.WriteLine("Event Count Request");
                try
                {
                    Domain.DTO.EventCountDTO[] lst;
                    lock (Server)
                    {
                        lst = Server.GetEventsNumber().ToArray();
                    }
                    return(ProtoUtils.GetEventsNumberResponse(lst, false));
                }
                catch (Exception e)
                {
                    return(ProtoUtils.ErrorResponse(e.Message));
                }
            }
            return(null);
        }