/// <summary> /// Reads in example JSON files if they exist. Writes out example JSON files. /// </summary> static void Main(string[] args) { string path = AppDomain.CurrentDomain.BaseDirectory; foreach (SampleTypes sampleType in Enum.GetValues(typeof(SampleTypes))) { // Read in the work order; if it exists. string inWorkOrderFile = $"inWorkOrder_{sampleType}.json"; string inWorkOrderPath = Path.Combine(path, inWorkOrderFile); Console.WriteLine($"Attempting to read in: '{inWorkOrderFile}'"); DispensingWorkOrder workOrder = DispensingWorkOrder.DeserializeFromFile(inWorkOrderPath)?[0] ?? CreateStubWorkOrder(sampleType); // Write the work order back out. string outWorkOrderFile = $"outWorkOrder_{sampleType}.json"; Console.WriteLine($"Writing: '{outWorkOrderFile}'"); workOrder.SerializeToFile(Path.Combine(path, outWorkOrderFile)); // Read in the work record; if it exists. string inWorkRecordFile = $"inWorkRecord_{sampleType}.json"; string inWorkRecordPath = Path.Combine(path, inWorkRecordFile); Console.WriteLine(); Console.WriteLine($"Attempting to read in: '{inWorkRecordFile}'"); DispensingWorkRecord workRecord = DispensingWorkRecord.DeserializeFromFile(inWorkRecordPath)?[0] ?? CreateStubWorkRecord(sampleType); // Write the work record back out. string outWorkRecordFile = $"outWorkRecord_{sampleType}.json"; Console.WriteLine($"Writing: '{outWorkRecordFile}'"); workRecord.SerializeToFile(Path.Combine(path, outWorkRecordFile)); Console.WriteLine(); } Console.WriteLine("Done"); Console.ReadLine(); }
/// <summary> /// Creates an example work record. /// </summary> private static DispensingWorkRecord CreateStubWorkRecord(SampleTypes sampleType) { Console.WriteLine("\tFile not found. Creating stub work record..."); DispensingWorkRecord workRecord = new DispensingWorkRecord() { Header = CreateStubHeader(), Parties = new RecordParties() { ShipTo = CreateStubParty("Adam's Back 40", "00040", true), Driver = CreateStubParty("Bob Bobson", "00217"), OtherParty = new List <Party>() { CreateStubParty("Ray's Fertilizer", "03570", true) }, }, WorkOrderIdentifier = new Identifier() { Number = "000123", Agency = AgencyTypes.AssignedByOriginator }, WorkOrderCreationDateTime = DateTime.Now, WorkRecordIdentifier = new Identifier() { Number = "9000524", Agency = AgencyTypes.AssignedByOriginator }, WorkRecordCreationDateTime = DateTime.Now, Reference = new List <Reference>() { new Reference() { ReferenceType = ReferenceTypes.PurchaseOrder, Value = "FF55500123" }, new Reference() { ReferenceType = ReferenceTypes.Comment, Value = "This is a sample comment!" }, }, PhysicalState = PhysicalStates.Liquid, RequestedArea = new ValueUnit() { Value = 1000, Uom = "ACR", Agency = AgencyTypes.UN_REC_20 }, ActualArea = new ValueUnit() { Value = 1005, Uom = "ACR", Agency = AgencyTypes.UN_REC_20 }, BatchNumber = 1, OrderStatus = OrderStatuses.Complete, ProductGroup = new List <RecordProductGroup>() { new RecordProductGroup() { Identifier = new List <Identifier>() { new Identifier() { Name = "32%", Number = "00105", Agency = AgencyTypes.AssignedByOriginator } }, GuaranteedAnalysis = "32-0-0", Product = new List <RecordProduct>() { new RecordProduct() { Identifier = new List <Identifier>() { new Identifier() { Name = "32%", Number = "00054", Agency = AgencyTypes.AssignedByOriginator } }, IsCarrier = true, PhysicalState = PhysicalStates.Liquid, Density = new ValueUnit() { Value = 8.34, Uom = "GE", Agency = AgencyTypes.UN_REC_20 }, RequestedQuantity = new ValueUnit() { Value = 4375, Uom = "GLL", Agency = AgencyTypes.UN_REC_20 }, ActualQuantity = new ValueUnit() { Value = 4405, Uom = "GLL", Agency = AgencyTypes.UN_REC_20 }, }, } } }, TransportInformation = new List <TransportInformation>() { new TransportInformation() { Identifier = new List <Identifier>() { new Identifier() { Name = "Bob's Truck", Number = "1", Agency = AgencyTypes.AssignedByOriginator } }, GrossWeight = new ValueUnit() { Value = 64000, Uom = "LBR", Agency = AgencyTypes.UN_REC_20 }, TareWeight = new ValueUnit() { Value = 12000, Uom = "LBR", Agency = AgencyTypes.UN_REC_20 }, } }, }; if (sampleType == SampleTypes.Blend || sampleType == SampleTypes.Vrt) { workRecord.ProductGroup[0].Identifier = new List <Identifier>() { new Identifier() { Name = "28%", Number = "00133", Agency = AgencyTypes.AssignedByOriginator } }; workRecord.ProductGroup[0].GuaranteedAnalysis = "28-0-0"; workRecord.ProductGroup[0].Product.Add(new RecordProduct() { Identifier = new List <Identifier>() { new Identifier() { Name = "Water", Number = "00023", Agency = AgencyTypes.AssignedByOriginator } }, IsCarrier = true, PhysicalState = PhysicalStates.Liquid, Density = new ValueUnit() { Value = 8.34, Uom = "GE", Agency = AgencyTypes.UN_REC_20 }, RequestedQuantity = new ValueUnit() { Value = 625, Uom = "GLL", Agency = AgencyTypes.UN_REC_20 }, ActualQuantity = new ValueUnit() { Value = 635, Uom = "GLL", Agency = AgencyTypes.UN_REC_20 }, }); } if (sampleType == SampleTypes.Vrt) { workRecord.ProductGroup.Add(new RecordProductGroup() { Identifier = new List <Identifier>() { new Identifier() { Name = "Weed Killer 3000", Number = "05573", Agency = AgencyTypes.AssignedByOriginator } }, GuaranteedAnalysis = "0-0-0 w/ Weed Killer 3000", Product = new List <RecordProduct>() }); workRecord.ProductGroup[1].Product.Add(new RecordProduct() { Identifier = new List <Identifier>() { new Identifier() { Name = "Weed Killer 3000", Number = "00057", Agency = AgencyTypes.AssignedByOriginator } }, IsCarrier = false, PhysicalState = PhysicalStates.Liquid, Density = new ValueUnit() { Value = 8.34, Uom = "GE", Agency = AgencyTypes.UN_REC_20 }, RequestedQuantity = new ValueUnit() { Value = 50, Uom = "GLL", Agency = AgencyTypes.UN_REC_20 }, ActualQuantity = new ValueUnit() { Value = 50, Uom = "GLL", Agency = AgencyTypes.UN_REC_20 }, }); } return(workRecord); }