Example #1
0
 /// <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)));
 }
Example #2
0
        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);
        }