public static Document cloneDocumentFromTemplate(DocumentTemplate t) { using (ISession session = NHibernateHelper.OpenSession()) { IAuditReader reader = AuditReaderFactory.Get(session); var revision = reader.CreateQuery() .ForRevisionsOfEntity(typeof(DocumentTemplate), false, true) .AddProjection(AuditEntity.RevisionNumber().Max()) .Add(AuditEntity.Id().Eq(t.id)) .GetSingleResult(); Document d = new Document(); d.template = t; d.templateRevisionId = (int)revision; new DocumentRepository().Create(d); foreach (SectionTemplate item in t.sections) { Section s = cloneSectionFromTemplate(item, d); } return d; } }
public static int getCurrentRevision(Document document) { if (document.id != null) { using (ISession session = NHibernateHelper.OpenSession()) { IAuditReader reader = AuditReaderFactory.Get(session); var revision = reader.CreateQuery() .ForRevisionsOfEntity(typeof(Document), false, true) .AddProjection(AuditEntity.RevisionNumber().Max()) .Add(AuditEntity.Id().Eq(document.id)) .GetSingleResult(); return (int)revision; } } else { return 0; } }
public static Section cloneSectionFromTemplate(SectionTemplate t, Document d) { using (ISession session = NHibernateHelper.OpenSession()) { IAuditReader reader = AuditReaderFactory.Get(session); var revision = reader.CreateQuery() .ForRevisionsOfEntity(typeof(SectionTemplate), false, true) .AddProjection(AuditEntity.RevisionNumber().Max()) .Add(AuditEntity.Id().Eq(t.id)) .GetSingleResult(); Section s = new Section(); s.template = t; s.templateRevisionId = (int)revision; s.documentIndex = t.documentIndex; s.headline = t.headline; s.htmlContent = t.htmlContent; s.document = d; SectionRepository repo = new SectionRepository(); repo.Create(s); foreach (DataFieldTemplate item in t.dataFields) { DataField df = cloneDataFieldFromTemplate(item, s); string toReplace = "{dataField=" + item.id + "}"; string replaceWith = "{dataField=" + df.id + "}"; s.htmlContent = s.htmlContent.Replace(toReplace, replaceWith); } repo.Update(s); return s; } }
public static string GetPrint(Document document) { //Check if sections != null if (document.sections==null) { throw new Exception("Document sections cannot be null"); } string html; //Start of file html = "<html><head><title>" + document.title + "</title></head><body>" + System.Environment.NewLine + "<h1>" + document.title + "</h1>" + System.Environment.NewLine; foreach (Section s in document.sections.OrderBy(o => o.documentIndex)) { html = html + "<h2>" + s.documentIndex + ". " + s.headline + "</h2>" + System.Environment.NewLine; html = html + s.renderHtml() + System.Environment.NewLine; } //End of file html = html + "</body></html>"; return html; }
public virtual bool Equals(Document d) { // If parameter is null return false. if (d == null) { return false; } //Check id if (!(d.id == null && id == null)) { if (d.id == null || id == null) { return false; } if (d.id != id) { return false; } } //Check title if (!(d.title == null && title == null)) { if (d.title == null || title == null) { return false; } if (!d.title.Equals(title)) { return false; } } //Check variables if (d.templateRevisionId != templateRevisionId || d.lockedForSign != lockedForSign) { return false; } //Check datetimes - creation if (!(d.creation == null && creation == null)) { if (d.creation == null || creation == null) { return false; } if (!d.creation.Equals(creation)) { return false; } } //Check datetimes - expiration if (!(d.expiration == null && expiration == null)) { if (d.expiration == null || expiration == null) { return false; } if (!d.expiration.Equals(expiration)) { return false; } } //Check object members - ownerCompany if (!(d.ownerCompany == null && ownerCompany == null)) { if (d.ownerCompany == null || ownerCompany == null) { return false; } if (d.ownerCompany.id != ownerCompany.id) { return false; } } //Check object members - ownerUser if (!(d.ownerUser == null && ownerUser == null)) { if (d.ownerUser == null || ownerUser == null) { return false; } if (d.ownerUser.id != ownerUser.id) { return false; } } //Check object members - template if (!(d.template == null && template == null)) { if (d.template == null || template == null) { return false; } if (d.template.id != template.id) { return false; } } //Check collections - section if (!(d.sections == null && sections == null)) { if (d.sections == null || sections == null) { return false; } return Enumerable.SequenceEqual(d.sections.OrderBy(x => x.documentIndex), sections.OrderBy(x => x.documentIndex)); } return true; }
public ActionResult RedigerTitel(Document document) { try { if (ModelState.IsValid) { var response = HttpClientFactory.getClient(this.ControllerContext).PutAsJsonAsync("document/update/" + document.id, document).Result; if (response.IsSuccessStatusCode) { return Json(new { validModelstate = true }); } else { return Json(new { validModelstate = false, statusCode = response.StatusCode }); } } else { return PartialView(document); } } catch (Exception e) { throw new Exception("Could not update!", e); } }
public HttpResponseMessage Update(int id, Document item) { if (ModelState.IsValid) { item.id = id; try { repo.Update(item); var response = Request.CreateResponse<Document>(HttpStatusCode.OK, item); return response; } catch (Exception) { throw new HttpResponseException(HttpStatusCode.NotFound); } } else { return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } }