Exemplo n.º 1
0
        public void GetOrderStatusesResponseTest()
        {
            var message = new GetOrderStatusesResponse();

            Assert.AreEqual(message.Kind, MessageKind.GetOrderStatusesResponse);

            var item = new OrderKindDTO();

            item.OrderKindID = Guid.NewGuid();
            item.Title       = "Title";

            var orderStatus = new OrderStatusDTO();

            orderStatus.OrderStatusID = Guid.NewGuid();
            orderStatus.Title         = "Title";
            orderStatus.StatusKindID  = 1;

            message.OrderKinds.Add(item);
            message.OrderStatuses.Add(orderStatus);

            var serializer = new ProtocolSerializer(ProtocolVersion.Version10);
            var data       = serializer.Serialize(message);

            Assert.IsNotNull(data);

            var savedMessage = serializer.DeserializeGetOrderStatusesResponse(data);

            Assert.IsNotNull(savedMessage);
            Assert.AreEqual(serializer.GetMessageInfoOrNull(data).Kind, MessageKind.GetOrderStatusesResponse);
            Assert.AreEqual(savedMessage.OrderKinds.Count, 1);
            Assert.AreEqual(savedMessage.OrderStatuses.Count, 1);

            var savedOrderStatus = savedMessage.OrderStatuses[0];
            var savedOrderKind   = savedMessage.OrderKinds[0];

            Assert.AreEqual(orderStatus.StatusKindID, savedOrderStatus.StatusKindID);
            Assert.AreEqual(orderStatus.Title, savedOrderStatus.Title);
            Assert.AreEqual(orderStatus.OrderStatusID, savedOrderStatus.OrderStatusID);



            Assert.AreEqual(savedOrderKind.OrderKindID, item.OrderKindID);
            Assert.AreEqual(savedOrderKind.Title, item.Title);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Обработчик запроса на получение статусов заказа.
        /// </summary>
        /// <param name="serializer">Сериализатор протокола.</param>
        /// <param name="postData">Данные запроса.</param>
        /// <param name="hostAddress">Адрес клиента.</param>
        /// <returns>Результат.</returns>
        private string ProcessGetOrderStatusesRequest(ProtocolSerializer serializer, string postData, string hostAddress)
        {
            var request = serializer.DeserializeGetOrderStatusesRequest(postData);

            _logger.InfoFormat(
                "Получен запрос на получение информации по статусам заказов от пользователя {0} с клиента {1}",
                request.UserID, hostAddress);

            var userDomainID = CheckSignedMessage(request);

            var statuses = RemontinkaServer.Instance.DataStore.GetOrderStatuses(userDomainID);
            var response = new GetOrderStatusesResponse();

            foreach (var status in statuses)
            {
                response.OrderStatuses.Add(new OrderStatusDTO
                {
                    OrderStatusID = status.OrderStatusID,
                    Title         = status.Title,
                    StatusKindID  = status.StatusKindID
                });
            } //foreach

            var orderKinds = RemontinkaServer.Instance.DataStore.GetOrderKinds(userDomainID);

            foreach (var orderKind in orderKinds)
            {
                response.OrderKinds.Add(new OrderKindDTO
                {
                    OrderKindID = orderKind.OrderKindID,
                    Title       = orderKind.Title
                });
            } //foreach

            return(serializer.Serialize(response));
        }