/// <summary> /// Отправляет запрос на сохранение заказа на сервере. /// </summary> /// <param name="request">Запрос.</param> /// <returns>Ответ.</returns> public SaveRepairOrderResponse SaveRepairOrder(SaveRepairOrderRequest request) { SignRequest(request); return(SendData(serializer => serializer.Serialize(request), (s, serializer) => serializer.DeserializeSaveRepairOrderResponse(s))); }
public void SaveRepairOrderRequestTest() { var message = new SaveRepairOrderRequest(); Assert.AreEqual(message.Kind, MessageKind.SaveRepairOrderRequest); var order = new RepairOrderDTO(); order.BranchID = Guid.NewGuid(); order.CallEventDate = new DateTime(2015, 06, 01); order.ClientAddress = "ClientAddress"; order.ClientEmail = "ClientEmail"; order.ClientFullName = "ClientFullName"; order.ClientPhone = "ClientPhone"; order.DateOfBeReady = new DateTime(2015, 07, 07); order.Defect = "Defect"; order.DeviceAppearance = "DeviceAppearance"; order.DeviceModel = "DeviceModel"; order.DeviceSN = "DeviceSN"; order.DeviceTitle = "DeviceTitle"; order.DeviceTrademark = "DeviceTrademark"; order.EngineerID = Guid.NewGuid(); order.EventDate = new DateTime(2014, 02, 05); order.GuidePrice = 44; order.IsUrgent = true; order.IssueDate = new DateTime(2013, 05, 04); order.IssuerID = Guid.NewGuid(); order.ManagerID = Guid.NewGuid(); order.Notes = "Notes"; order.Number = "Number" + Guid.NewGuid(); order.Options = "Options"; order.OrderKindID = Guid.NewGuid(); order.OrderStatusID = Guid.NewGuid(); order.PrePayment = 55; order.Recommendation = "Recommendation"; order.WarrantyTo = new DateTime(2017, 01, 2); var workItem = new WorkItemDTO(); workItem.WorkItemID = Guid.NewGuid(); workItem.EventDate = new DateTime(2015, 10, 7); workItem.Price = 55.66M; workItem.RepairOrderID = Guid.NewGuid(); workItem.UserID = Guid.NewGuid(); var deviceItem = new DeviceItemDTO(); deviceItem.DeviceItemID = Guid.NewGuid(); deviceItem.Count = 33; deviceItem.EventDate = new DateTime(2015, 01, 01); deviceItem.Price = 55.33M; deviceItem.RepairOrderID = Guid.NewGuid(); deviceItem.Title = "Title"; var timeLine = new OrderTimelineDTO(); timeLine.EventDateTime = new DateTime(2015, 06, 07, 01, 2, 3); timeLine.OrderTimelineID = Guid.NewGuid(); timeLine.RepairOrderID = Guid.NewGuid(); timeLine.TimelineKindID = 1; timeLine.Title = "Title"; order.WorkItems.Add(workItem); order.OrderTimelines.Add(timeLine); order.DeviceItems.Add(deviceItem); message.RepairOrder = order; var serializer = new ProtocolSerializer(ProtocolVersion.Version10); var data = serializer.Serialize(message); Assert.IsNotNull(data); var savedMessage = serializer.DeserializeSaveRepairOrderRequest(data); Assert.IsNotNull(savedMessage); Assert.AreEqual(serializer.GetMessageInfoOrNull(data).Kind, MessageKind.SaveRepairOrderRequest); Assert.IsNotNull(savedMessage.RepairOrder); Assert.AreEqual(savedMessage.RepairOrder.DeviceItems.Count, 1); Assert.AreEqual(savedMessage.RepairOrder.WorkItems.Count, 1); Assert.AreEqual(savedMessage.RepairOrder.OrderTimelines.Count, 1); var savedDeviceItem = savedMessage.RepairOrder.DeviceItems[0]; var savedWorkItem = savedMessage.RepairOrder.WorkItems[0]; var savedTimeline = savedMessage.RepairOrder.OrderTimelines[0]; var savedItem = savedMessage.RepairOrder; Assert.AreEqual(order.BranchID, savedItem.BranchID); Assert.AreEqual(order.CallEventDate, savedItem.CallEventDate); Assert.AreEqual(order.ClientAddress, savedItem.ClientAddress); Assert.AreEqual(order.ClientEmail, savedItem.ClientEmail); Assert.AreEqual(order.ClientFullName, savedItem.ClientFullName); Assert.AreEqual(order.ClientPhone, savedItem.ClientPhone); Assert.AreEqual(order.DateOfBeReady, savedItem.DateOfBeReady); Assert.AreEqual(order.Defect, savedItem.Defect); Assert.AreEqual(order.DeviceAppearance, savedItem.DeviceAppearance); Assert.AreEqual(order.DeviceModel, savedItem.DeviceModel); Assert.AreEqual(order.DeviceSN, savedItem.DeviceSN); Assert.AreEqual(order.DeviceTitle, savedItem.DeviceTitle); Assert.AreEqual(order.DeviceTrademark, savedItem.DeviceTrademark); Assert.AreEqual(order.EngineerID, savedItem.EngineerID); Assert.AreEqual(order.EventDate, savedItem.EventDate); Assert.AreEqual(order.GuidePrice, savedItem.GuidePrice); Assert.AreEqual(order.IsUrgent, savedItem.IsUrgent); Assert.AreEqual(order.IssueDate, savedItem.IssueDate); Assert.AreEqual(order.IssuerID, savedItem.IssuerID); Assert.AreEqual(order.ManagerID, savedItem.ManagerID); Assert.AreEqual(order.Notes, savedItem.Notes); Assert.AreEqual(order.Number, savedItem.Number); Assert.AreEqual(order.Options, savedItem.Options); Assert.AreEqual(order.OrderKindID, savedItem.OrderKindID); Assert.AreEqual(order.OrderStatusID, savedItem.OrderStatusID); Assert.AreEqual(order.PrePayment, savedItem.PrePayment); Assert.AreEqual(order.Recommendation, savedItem.Recommendation); Assert.AreEqual(order.WarrantyTo, savedItem.WarrantyTo); Assert.AreEqual(deviceItem.DeviceItemID, savedDeviceItem.DeviceItemID); Assert.AreEqual(deviceItem.CostPrice, savedDeviceItem.CostPrice); Assert.AreEqual(deviceItem.EventDate, savedDeviceItem.EventDate); Assert.AreEqual(deviceItem.Price, savedDeviceItem.Price); Assert.AreEqual(deviceItem.RepairOrderID, savedDeviceItem.RepairOrderID); Assert.AreEqual(deviceItem.Title, savedDeviceItem.Title); Assert.AreEqual(deviceItem.UserID, savedDeviceItem.UserID); Assert.AreEqual(deviceItem.WarehouseItemID, savedDeviceItem.WarehouseItemID); Assert.AreEqual(savedWorkItem.EventDate, workItem.EventDate); Assert.AreEqual(savedWorkItem.Price, workItem.Price); Assert.AreEqual(savedWorkItem.RepairOrderID, workItem.RepairOrderID); Assert.AreEqual(savedWorkItem.Title, workItem.Title); Assert.AreEqual(savedWorkItem.UserID, workItem.UserID); Assert.AreEqual(savedWorkItem.WorkItemID, workItem.WorkItemID); Assert.AreEqual(savedTimeline.EventDateTime, timeLine.EventDateTime); Assert.AreEqual(savedTimeline.OrderTimelineID, timeLine.OrderTimelineID); Assert.AreEqual(savedTimeline.RepairOrderID, timeLine.RepairOrderID); Assert.AreEqual(savedTimeline.TimelineKindID, timeLine.TimelineKindID); Assert.AreEqual(savedTimeline.Title, timeLine.Title); }