Write() публичный Метод

public Write ( XmlWriter writer, AgGateway.ADAPT.ApplicationDataModel.Prescriptions.RasterGridPrescription prescription, TreatmentZone treatmentZone ) : void
writer System.Xml.XmlWriter
prescription AgGateway.ADAPT.ApplicationDataModel.Prescriptions.RasterGridPrescription
treatmentZone AgGateway.ADAPT.ISOv4Plugin.Models.TreatmentZone
Результат void
Пример #1
0
        private void WritePrescription(RasterGridPrescription prescription)
        {
            var writer = TaskWriter.RootWriter;

            if (!IsValidPrescription(prescription))
            {
                return;
            }

            var prescriptionId = prescription.Id.FindIsoId() ?? GenerateId();

            writer.WriteStartElement(XmlPrefix);
            writer.WriteAttributeString("A", prescriptionId);
            writer.WriteAttributeString("B", prescription.Description);

            WriteFieldMeta(writer, prescription.FieldId);

            // Task status - planned
            writer.WriteAttributeString("G", "1");

            var defaultTreatmentZone = WriteTreatmentZones(writer, prescription);

            _gridWriter.Write(writer, prescription, defaultTreatmentZone);
            var matchingLoggedData = null as LoggedData;

            if (TaskWriter.DataModel.Documents != null && TaskWriter.DataModel.Documents.LoggedData != null)
            {
                matchingLoggedData = TaskWriter.DataModel.Documents.LoggedData.Where(ld => ld.OperationData != null).SingleOrDefault(x => x.OperationData.FirstOrDefault(y => y.PrescriptionId == prescription.Id.ReferenceId) != null);
            }

            if (matchingLoggedData != null)
            {
                var taskMapper = new TaskMapper();
                var isoInt     = Convert.ToInt32(prescriptionId.Remove(0, 3)) - 1;


                var mappedTsk = taskMapper.Map(new List <LoggedData> {
                    matchingLoggedData
                }, TaskWriter.DataModel.Catalog, TaskWriter.BaseFolder, isoInt, TaskWriter).First();

                foreach (var item in mappedTsk.Items)
                {
                    item.WriteXML(TaskWriter.RootWriter);
                }
            }
            else
            {
                TaskWriter.Ids.Add(prescriptionId, prescription.Id);
            }

            writer.WriteEndElement();
        }