示例#1
0
        public SalesOrderSnapshot CreateNewSalesOrderSnapshot(Guid salesOrderId)
        {
            using (TrackerEntitiesContainer tec = GetNewTrackerObjectContext())
            {
                GetSalesOrderDetails_Result result = tec.GetSalesOrderDetails(salesOrderId).FirstOrDefault();
                if (result == null)
                {
                    return(null);
                }

                SalesOrderSnapshot snapshot = this.CreateSalesOrderSnapshot(result, salesOrderId);

                var historyEvents = tec.GetSalesOrderHistory(salesOrderId).OrderBy(he => he.eventDate);

                bool isFirstPrepayment = true;
                foreach (GetSalesOrderHistory_Result hResult in historyEvents)
                {
                    SalesOrderEvent soe = this.CreateSalesOrderEvent(hResult, snapshot, isFirstPrepayment);
                    snapshot.SalesOrderEvents.Add(soe);
                    if (soe.EventName == EventName.FirstPrepayment && isFirstPrepayment)
                    {
                        isFirstPrepayment = false;
                    }
                }

                return(snapshot);
            }
        }
示例#2
0
 private SalesOrderSnapshot CreateSalesOrderSnapshot(GetSalesOrderDetails_Result result, Guid salesOrderId)
 {
     return(new SalesOrderSnapshot()
     {
         Id = salesOrderId,
         Contractor = new Contractor()
         {
             Address = result.contractorAddress,
             City = result.contractorCity,
             Email = result.contractorEmail,
             FullName = result.contractorFullName,
             IsAps = result.contractorIsAps == 1,
             Login = result.contractorLogin,
             Password = result.contractorPassword,
             Phone = result.contractorPhone,
             Type = result.contractorType ? 1 : 0
         },
         FittingDate = result.fittingDate,
         Number = result.orderNumber,
         RegistrationDate = result.registrationDate,
         Remarks = result.orderRemarks,
         ProductionOrderNumber = result.productionOrderNumber,
         SalesType = result.salesType,
         Status = result.status,
         Value = result.orderValue
     });
 }