private string ProcessData(string inp, string ipAddress)
        {
            RequestWeb request = JsonConvert.DeserializeObject <RequestWeb>(inp);

            Console.WriteLine("[{0}] Serwer otrzymał zapytanie: \"{1}\" od {2}, status: {3}", DateTime.Now.ToString("HH:mm:ss.fff"), request.Tag, ipAddress, request.Status);

            string output = String.Empty;

            switch (request.Tag)
            {
            case "order":
                RequestBurgerOrder requestBurgerOrder = JsonConvert.DeserializeObject <RequestBurgerOrder>(inp);
                output = ProcessOrderRequest(requestBurgerOrder);
                break;

            case "burgers":
                output = ProcessBurgerRequest();
                break;

            case "subscription":
                RequestCustomerSubscription requestCustomerSubscription = JsonConvert.DeserializeObject <RequestCustomerSubscription>(inp);
                output = ProcessSubscriptionRequest(requestCustomerSubscription);
                break;
            }

            return(output);
        }
        public void RequestSubscription(CustomerDTO customerDTO)
        {
            RequestWeb request = new RequestCustomerSubscription("subscription", customerDTO);
            string     json    = JsonConvert.SerializeObject(request, Formatting.Indented);

            Send(json);
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("[{0}] Klient wysłał zapytanie: {1}", DateTime.Now.ToString("HH:mm:ss.fff"), request.Tag);
        }
        private string ProcessSubscriptionRequest(RequestCustomerSubscription request)
        {
            RequestWeb response = new RequestWeb("order");
            string     json;

            if (os.GetCustomerDTO(request.customer.name) == null)
            {
                response.Status = RequestStatus.FAIL;
                json            = JsonConvert.SerializeObject(response, Formatting.Indented);
                return(json);
            }
            os.SubscribeToPromotion(request.customer);
            response = new RequestWeb("subscription");
            json     = JsonConvert.SerializeObject(response, Formatting.Indented);
            return(json);
        }