private void WritePrescriptions()
{
var rxIdsWithWorkOrders = new List<int>();
if (TaskWriter.DataModel != null && TaskWriter.DataModel.Documents != null)
{
var workItemIds = TaskWriter.DataModel.Documents.WorkOrders.SelectMany(wo => wo.WorkItemIds).ToList();
rxIdsWithWorkOrders = TaskWriter.DataModel.Documents.WorkItemOperations.Where(
op => workItemIds.Contains(op.Id.ReferenceId)).Select(op => op.PrescriptionId.GetValueOrDefault(0)).ToList();
}
foreach (var prescription in TaskWriter.DataModel.Catalog.Prescriptions.OfType<RasterGridPrescription>())
{
if(!rxIdsWithWorkOrders.Contains(prescription.Id.ReferenceId))
WritePrescription(prescription);
}
}