private Model.DocumentUnit UdsGetDocumentUnitModel(Guid idDocumentUnit, out bool isReadOnly, out bool isPreserved) { isReadOnly = false; isPreserved = false; var unit = this.db.DocumentUnit .Include("DocumentUnitAggregate") .SingleOrDefault(p => p.IdDocumentUnit == idDocumentUnit); if (unit == null) { throw DocumentUnitException.NotFound(); } if (unit.CloseDate != null) { isReadOnly = true; } foreach (var aggregate in unit.DocumentUnitAggregate) { isReadOnly = isReadOnly || (aggregate.CloseDate != null || aggregate.PreservationDate != null); isPreserved = isPreserved || aggregate.PreservationDate != null; } return(unit); }
/// <summary> /// Aggiunge una nuova DocumentUnit /// </summary> /// <param name="unit">DocumentUnit da aggiungere</param> /// <returns>DocumentUnit inserita</returns> public DocumentUnit UdsAddDocumentUnit(DocumentUnit unit) { try { if (unit == null) { throw DocumentUnitException.NotFound(); } var entity = new Model.DocumentUnit { IdDocumentUnit = Guid.NewGuid(), InsertDate = DateTime.Now, CloseDate = null, Identifier = unit.Identifier ?? "", Subject = unit.Subject ?? "", Classification = unit.Classification ?? "", UriFascicle = unit.UriFascicle ?? "", XmlDoc = unit.XmlDoc ?? "" }; this.db.DocumentUnit.AddObject(entity); if (requireSave) { this.db.SaveChanges(); } var ret = entity.Convert(0, 3); return(ret); } finally { Dispose(); } }
private Model.DocumentUnit UdsGetDocumentUnitByIdentifierModel(string identifierDocumentUnit) { var unit = this.db.DocumentUnit .SingleOrDefault(p => p.Identifier == identifierDocumentUnit); if (unit == null) { throw DocumentUnitException.NotFound(); } return(unit); }