public DnsRequestTransaction EditRequestPost(IDnsRequestContext request, IDnsPostContext post) { var newDocuments = new List <DocumentDTO>(); var m = post.GetModel <SASDistributionModel>(); var removedFiles = ConvertJSONtoStringList(m.RemovedFilesList); Document[] removedDocuments = null; if (removedFiles.Any()) { var removedFileIDs = removedFiles.Select(f => new Guid(f)); using (var db = new DataContext()) { removedDocuments = (from d in db.Documents where removedFileIDs.Contains(d.ID) select d).ToArray(); db.Documents.RemoveRange(removedDocuments); db.SaveChanges(); } } return(new DnsRequestTransaction { NewDocuments = newDocuments, UpdateDocuments = null, RemoveDocuments = removedDocuments }); }
public DnsRequestTransaction EditRequestPost(IDnsRequestContext request, IDnsPostContext post) { var newDocuments = new System.Collections.Generic.List <DocumentDTO>(); var removeDocuments = new System.Collections.Generic.List <Document>(); var m = post.GetModel <SqlDistributionModel>(); newDocuments.Add(new DocumentDTO { FileName = request.Header.Name, Name = request.Header.Name, Kind = DocumentKind.Request, MimeType = "text/plain", Viewable = true, Data = GetBytes(m.SqlQuery) }); var doc = request.Documents.FirstOrDefault(s => s.Kind == DocumentKind.Request); if (doc != null) { removeDocuments.Add(doc); } return(new DnsRequestTransaction { NewDocuments = newDocuments, UpdateDocuments = null, RemoveDocuments = removeDocuments }); }
public DnsRequestTransaction EditRequestPost(IDnsRequestContext request, IDnsPostContext post) { // RSL 8/15/13: I have no idea where this GetModel call goes, but it is NOT the one in this file. // this model does not need the editing/lookup support (using InitializeModel) var m = post.GetModel <ConditionsModel>(); m.RequestType = ConditionsRequestType.All.FirstOrDefault(rt => rt.ID == request.RequestType.ID); IList <string> errorMessages; if (!Validate(m, out errorMessages)) { return new DnsRequestTransaction { ErrorMessages = errorMessages, IsFailed = true } } ; byte[] requestBuilderBytes = BuildRequest(request, m); byte[] modelBytes = BuildUIArgs(m); var newDocuments = new List <DocumentDTO> { new DocumentDTO(REQUEST_FILENAME, "application/xml", false, DocumentKind.Request, requestBuilderBytes), new DocumentDTO(REQUEST_ARGS_FILENAME, "application/lpp-dns-uiargs", true, DocumentKind.Request, modelBytes), }; return(new DnsRequestTransaction { NewDocuments = newDocuments, UpdateDocuments = null, RemoveDocuments = request.Documents }); }
public Func <HtmlHelper, IHtmlString> EditRequestReDisplay(IDnsRequestContext request, IDnsPostContext post) { // RSL 8/15/13: I have no idea where this GetModel call goes, but it is NOT the one in this file. var gm = InitializeModel(post.GetModel <ConditionsModel>()); var model = InitializeModel(gm, request); return(html => html.Partial <Create>().WithModel(model)); }
public DnsRequestTransaction EditRequestPost(IDnsRequestContext request, IDnsPostContext post) { using (var db = new DataContext()) { var newDocuments = new List <DocumentDTO>(); var m = post.GetModel <ModularProgramModel>(); var removedFiles = SplitToGuids(m.RemovedFileList); var removedDocuments = new List <Document>(); if (removedFiles != null && removedFiles.Any()) { removedDocuments.AddRange((from d in db.Documents where removedFiles.Contains(d.ID) select d).ToArray()); db.Documents.RemoveRange(removedDocuments); db.SaveChanges(); } m.PackageManifest = ConvertJSONtoProgramItems(m.ModularProgramList); m.Files = db.Documents.Where(d => d.ItemID == request.RequestID && !d.FileName.StartsWith("ModularProgramRequest.")).Select(d => new FileItem { MimeType = d.MimeType, Name = d.Name, Size = d.Length.ToString() }).ToList(); // Serialize the request XML document containing the manifest, add it to the new document list, add the old one to the remove list. string requestName = GetRequestName(request.RequestType.ID.ToString()); byte[] requestBuilderBytes = BuildRequest(request, m); newDocuments.Add(new DocumentDTO(requestName, "application/xml", false, DocumentKind.SystemGeneratedNoLog, requestBuilderBytes)); request.Documents.Where(s => s.Name == requestName).ForEach(s => removedDocuments.Add(s)); //Serialize the request view as an HTML document var viewDocument = BuildRequestViewDocument(new MemoryStream(requestBuilderBytes)).ToArray(); string requestViewName = GetRequestViewName(request.RequestType.ID.ToString()); newDocuments.Add(new DocumentDTO(requestViewName, "text/html", true, DocumentKind.SystemGeneratedNoLog, viewDocument)); request.Documents.Where(s => s.Name == requestViewName).ForEach(s => removedDocuments.Add(s)); return(new DnsRequestTransaction { NewDocuments = newDocuments, UpdateDocuments = null, RemoveDocuments = removedDocuments, //SearchTerms = GetSearchTerms(request, m) }); } }
public DnsRequestTransaction EditRequestPost(IDnsRequestContext request, IDnsPostContext post) { var newDocuments = new List <DocumentDTO>(); var removeDocuments = new List <Document>(); var m = post.GetModel <SampleModel>(); newDocuments.Add(new DocumentDTO(request.Header.Name, "text/plain", true, DocumentKind.Request, GetBytes(m.SqlQuery))); var doc = request.Documents.FirstOrDefault(s => s.Kind == DocumentKind.Request); if (doc != null) { removeDocuments.Add(doc); } return(new DnsRequestTransaction { NewDocuments = newDocuments, UpdateDocuments = null, RemoveDocuments = removeDocuments }); }
public DnsRequestTransaction EditRequestPost(IDnsRequestContext request, IDnsPostContext post) { IList <string> errorMessages; var model = post.GetModel <SPANQueryBuilderModel>(); // validate model... if (!validate(model, out errorMessages)) { return new DnsRequestTransaction { ErrorMessages = errorMessages, IsFailed = true } } ; var xmlModel = toXMLModel(request, post, model); // include some extra files, embedded resources byte[] mapBytes; using (StreamReader mapStream = new StreamReader(typeof(SPANQueryBuilderModelPlugin).Assembly.GetManifestResourceStream("Lpp.Dns.HealthCare.SPANQueryBuilder.Content." + MAP_FILENAME))) { mapBytes = Encoding.UTF8.GetBytes(mapStream.ReadToEnd()); } byte[] sasBytes; using (StreamReader sasStream = new StreamReader(typeof(SPANQueryBuilderModelPlugin).Assembly.GetManifestResourceStream("Lpp.Dns.HealthCare.SPANQueryBuilder.Content." + SAS_FILENAME))) { sasBytes = Encoding.UTF8.GetBytes(sasStream.ReadToEnd()); } return(new DnsRequestTransaction { NewDocuments = new[] { new DocumentDTO(REQUEST_FILENAME, "application/xml", false, DocumentKind.Request, xmlModel), new DocumentDTO(MAP_FILENAME, "application/text", true, DocumentKind.Request, mapBytes), new DocumentDTO(SAS_FILENAME, "application/text", true, DocumentKind.Request, sasBytes) }, UpdateDocuments = null, RemoveDocuments = request.Documents }); }
public DnsRequestTransaction EditRequestPost(IDnsRequestContext request, IDnsPostContext post) { var m = post.GetModel <Medical.Models.MedicalRequestModel>(); var sqlText = GenerateSqlQuery(m); if (string.IsNullOrEmpty(sqlText)) { return(DnsRequestTransaction.Failed("Failed to create the SQL Query")); } var sqlTextBytes = Encoding.UTF8.GetBytes(sqlText); var doc = Dns.Document("SQL Text", "text/plain", () => new MemoryStream(sqlTextBytes), () => sqlTextBytes.Length); var existingDoc = request.Documents.FirstOrDefault(); return(new DnsRequestTransaction { NewDocuments = existingDoc != null ? null : new[] { doc }, UpdateDocuments = existingDoc == null ? null : new[] { new { existingDoc, doc } }.ToDictionary(x => x.existingDoc, x => x.doc), RemoveDocuments = request.Documents.Skip(1) }); }
public DnsRequestTransaction EditRequestPost(IDnsRequestContext request, IDnsPostContext post) { System.Collections.Generic.List <Lpp.Dns.IDnsDocument> newDocuments = new System.Collections.Generic.List <Lpp.Dns.IDnsDocument>(); System.Collections.Generic.List <Lpp.Dns.IDnsPersistentDocument> removeDocuments = new System.Collections.Generic.List <Lpp.Dns.IDnsPersistentDocument>(); var m = post.GetModel <PubHealthModel>(); string docContents = ""; // m.MinDate + "|" + m.MaxDate; newDocuments.Add(Dns.Document(request.Header.Name, "text/plain", true, Document.DocumentKind_Request, () => new MemoryStream(GetBytes(docContents)), () => docContents.Length)); IDnsPersistentDocument doc = request.Documents.FirstOrDefault(s => s.Kind == Document.DocumentKind_Request); if (doc != null) { removeDocuments.Add(doc); } return(new DnsRequestTransaction { NewDocuments = newDocuments, UpdateDocuments = null, RemoveDocuments = removeDocuments }); }
public DnsRequestTransaction EditRequestPost(IDnsRequestContext request, IDnsPostContext post) { var m = post.GetModel <FileDistributionModel>(); var removedFiles = SplitToGuids(m.RemovedFilesList); Document[] removedDocuments = null; if (removedFiles != null && removedFiles.Any()) { using (var db = new DataContext()) { removedDocuments = (from d in db.Documents where removedFiles.Contains(d.ID) select d).ToArray(); db.Documents.RemoveRange(removedDocuments); db.SaveChanges(); } } return(new DnsRequestTransaction { NewDocuments = null, UpdateDocuments = null, RemoveDocuments = removedDocuments }); }
public DnsRequestTransaction EditRequestPost(IDnsRequestContext request, IDnsPostContext post) { var m = post.GetModel <I2B2Model>(); byte[] i2b2MessageBytes; using (StreamReader i2b2MessageStream = new StreamReader(typeof(I2B2ModelPlugin).Assembly.GetManifestResourceStream("Lpp.Dns.HealthCare.I2B2.Code.SampleI2b2Message.xml"))) { string i2b2Message = i2b2MessageStream.ReadToEnd(); i2b2MessageBytes = Encoding.UTF8.GetBytes(i2b2Message); } //requestBuilderBytes = Encoding.UTF8.GetBytes("<hqmf></hqmf>"); //IDnsDocument requestDoc = Dns.Document(REQUEST_FILENAME, "application/xml", false, () => new MemoryStream(requestBuilderBytes), () => requestBuilderBytes.Length); var requestDoc = new DocumentDTO(REQUEST_FILENAME, "application/xml", true, DocumentKind.Request, i2b2MessageBytes); return(new DnsRequestTransaction { NewDocuments = new[] { requestDoc }.AsEnumerable(), UpdateDocuments = null, RemoveDocuments = request.Documents }); }
public DnsRequestTransaction EditRequestPost(IDnsRequestContext request, IDnsPostContext post) { var m = post.GetModel <DataCheckerModel>(); m.RequestType = DataCheckerRequestType.All.FirstOrDefault(rt => rt.ID == request.RequestType.ID); IList <string> errorMessages; if (!Validate(m, out errorMessages)) { return new DnsRequestTransaction { ErrorMessages = errorMessages, IsFailed = true } } ; var newDocuments = new System.Collections.Generic.List <DocumentDTO>(); var removeDocuments = new System.Collections.Generic.List <Document>(); byte[] modelBytes = Encoding.UTF8.GetBytes(m.CriteriaGroupsJSON); newDocuments.Add(new DocumentDTO(REQUEST_ARGS_FILENAME, "text/plain", false, DocumentKind.Request, modelBytes)); string display = GetDisplayableRequest(m); byte[] displayBytes = Encoding.UTF8.GetBytes(display); newDocuments.Add(new DocumentDTO(DISPLAY_REQUEST_ARGS_FILENAME, "text/html", true, DocumentKind.Request, displayBytes)); removeDocuments.AddRange(request.Documents.Where(d => d.Kind == DocumentKind.Request)); return(new DnsRequestTransaction { NewDocuments = newDocuments, UpdateDocuments = null, RemoveDocuments = removeDocuments }); }
public Func <HtmlHelper, IHtmlString> EditRequestReDisplay(IDnsRequestContext request, IDnsPostContext post) { return(html => html.Partial <Create>().WithModel(InitializeModel(post.GetModel <PubHealthModel>(), request))); }
public Func <HtmlHelper, IHtmlString> EditRequestReDisplay(IDnsRequestContext context, IDnsPostContext post) { var model = InitializeModel(post.GetModel <DataCheckerModel>(), context); return(html => html.Partial <Create>().WithModel(model)); }
public Func <System.Web.Mvc.HtmlHelper, System.Web.IHtmlString> EditRequestReDisplay(IDnsRequestContext request, IDnsPostContext post) { return(html => html .Partial <Create>() .WithModel(initializeModel(post.GetModel <SPANQueryBuilderModel>(), request))); }