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); }
/// <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)); }