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) { // 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 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) { return(new DnsRequestTransaction { NewDocuments = null, UpdateDocuments = null, RemoveDocuments = null }); }
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) { throw new Lpp.Utilities.CodeToBeUpdatedException(); //var session = Sessions.FindSession(request.RequestId); //if (session == null) return DnsRequestTransaction.Failed("Unknown Request ID"); //if (session.IsAborted) return DnsRequestTransaction.Failed("Request has been aborted"); //if (!session.IsCommitted) return DnsRequestTransaction.Failed("Request creation is not finished yet"); //return new DnsRequestTransaction //{ // RemoveDocuments = request.Documents, // NewDocuments = DocumentsFrom(session) //}; }
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 <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 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 Func <HtmlHelper, IHtmlString> EditRequestReDisplay(IDnsRequestContext request, IDnsPostContext post) { return(html => html.Partial <Create>().WithModel(InitializeModel(post.GetModel <PubHealthModel>(), request))); }
/// <summary> /// /// </summary> /// <param name="request"></param> /// <param name="model"></param> /// <returns></returns> private byte[] toXMLModel(IDnsRequestContext request, IDnsPostContext post, SPANQueryBuilderModel model) { var helper = new drn_query_builder_helper() { QueryType = request.RequestType.Name, QueryName = request.Header.Name, QueryDescription = request.Header.Description, SubmitterEmail = request.Header.AuthorEmail, PeriodStart = model.ObservationPeriod.StartPeriod.ToString("MM/dd/yyyy"), PeriodEnd = model.ObservationPeriod.EndPeriod.ToString("MM/dd/yyyy"), ContinuousEnrollment = model.EnrollmentSelector.Continuous ? "y" : "n", EnrollmentPrior = model.EnrollmentSelector.Prior.ToString(), EnrollmentPost = model.EnrollmentSelector.After.ToString() }; helper.IndexVariable.index_code = model.IndexVariable; switch (model.IndexVariable) { case "bmi": helper.IndexVariable.bmi_var = new[] { new drn_query_builderIndex_variableBmi_var() { group = model.IndexVariableBMISelector.BMIOption, Value = model.IndexVariableBMISelector.BMI } }; break; case "age": helper.IndexVariable.age_var = new[] { new age_var() { age = model.IndexVariableAgeSelector.Age.ToString(), age_operator = model.IndexVariableAgeSelector.AgeOperator, as_of = model.IndexVariableAgeSelector.AgeAsOfDate.ToString("MM/dd/yyyy") } }; break; //case "dx": // helper.IndexVariable.dx_var = new[] { new dx_var() { // bool_operator = model.IndexVariableDxSelector.BoolOperator, // code = model.IndexVariableDxSelector.Codes.Split(",".ToCharArray()).Select(c => new code() { Value = c }).ToArray() // }}; // break; //case "px": // helper.IndexVariable.px_var = new[] { new px_var() { // bool_operator = model.IndexVariablePxSelector.BoolOperator, // code = model.IndexVariablePxSelector.Codes.Split(",".ToCharArray()).Select(c => new code() { Value = c }).ToArray() // }}; // break; //case "rx": // helper.IndexVariable.rx_var = new[] { new rx_var() { // bool_operator = model.IndexVariableRxSelector.BoolOperator, // code = model.IndexVariableRxSelector.Codes.Split(",".ToCharArray()).Select(c => new code() { Value = c }).ToArray() // }}; // break; } //if (!string.IsNullOrEmpty(model.InclusionDxSelector.Codes) && !string.IsNullOrEmpty(model.InclusionDxSelector.BoolOperator)) //{ // helper.InclusionCriteria.dx_var = new[] { new dx_var() { // bool_operator = model.InclusionDxSelector.BoolOperator, // code = model.InclusionDxSelector.Codes.Split(",".ToCharArray()).Select(c => new code() { Value = c }).ToArray() // }}; //} //if (!string.IsNullOrEmpty(model.InclusionPxSelector.Codes) && !string.IsNullOrEmpty(model.InclusionPxSelector.BoolOperator)) //{ // helper.InclusionCriteria.px_var = new[] { new px_var() { // bool_operator = model.InclusionPxSelector.BoolOperator, // code = model.InclusionPxSelector.Codes.Split(",".ToCharArray()).Select(c => new code() { Value = c }).ToArray() // }}; //} //if (!string.IsNullOrEmpty(model.InclusionRxSelector.Codes) && !string.IsNullOrEmpty(model.InclusionRxSelector.BoolOperator)) //{ // helper.InclusionCriteria.rx_var = new[] { new rx_var() { // bool_operator = model.InclusionRxSelector.BoolOperator, // code = model.InclusionRxSelector.Codes.Split(",".ToCharArray()).Select(c => new code() { Value = c }).ToArray() // }}; //} //if (!string.IsNullOrEmpty(model.ExclusionDxSelector.Codes) && !string.IsNullOrEmpty(model.ExclusionDxSelector.BoolOperator)) //{ // helper.ExclusionCriteria.dx_var = new[] { new dx_var() { // bool_operator = model.ExclusionDxSelector.BoolOperator, // code = model.ExclusionDxSelector.Codes.Split(",".ToCharArray()).Select(c => new code() { Value = c }).ToArray() // }}; //} //if (!string.IsNullOrEmpty(model.ExclusionPxSelector.Codes) && !string.IsNullOrEmpty(model.ExclusionPxSelector.BoolOperator)) //{ // helper.ExclusionCriteria.px_var = new[] { new px_var() { // bool_operator = model.ExclusionPxSelector.BoolOperator, // code = model.ExclusionPxSelector.Codes.Split(",".ToCharArray()).Select(c => new code() { Value = c }).ToArray() // }}; //} //if (!string.IsNullOrEmpty(model.ExclusionRxSelector.Codes) && !string.IsNullOrEmpty(model.ExclusionRxSelector.BoolOperator)) //{ // helper.ExclusionCriteria.rx_var = new[] { new rx_var() { // bool_operator = model.ExclusionRxSelector.BoolOperator, // code = model.ExclusionRxSelector.Codes.Split(",".ToCharArray()).Select(c => new code() { Value = c }).ToArray() // }}; //} if (model.ExclusionAgeSelector.Age > 0) { helper.ExclusionCriteria.age_var = new[] { new age_var() { age = model.ExclusionAgeSelector.Age.ToString(), age_operator = model.ExclusionAgeSelector.AgeOperator, as_of = "NA" } }; } // foreach report... var reports = new List <drn_query_builderReport>(); if (!model.ReportSelector1.Column.Equals("NA") || !model.ReportSelector1.Group.Equals("NA") || !model.ReportSelector1.Row.Equals("NA")) { reports.Add(new drn_query_builderReport() { column = model.ReportSelector1.Column, group = model.ReportSelector1.Group, option = model.ReportSelector1.Option, row = model.ReportSelector1.Row, Value = "Report0" }); } ; if (!model.ReportSelector2.Column.Equals("NA") || !model.ReportSelector2.Group.Equals("NA") || !model.ReportSelector2.Row.Equals("NA")) { reports.Add(new drn_query_builderReport() { column = model.ReportSelector2.Column, group = model.ReportSelector2.Group, option = model.ReportSelector2.Option, row = model.ReportSelector2.Row, Value = "Report1" }); } ; if (!model.ReportSelector3.Column.Equals("NA") || !model.ReportSelector3.Group.Equals("NA") || !model.ReportSelector3.Row.Equals("NA")) { reports.Add(new drn_query_builderReport() { column = model.ReportSelector3.Column, group = model.ReportSelector3.Group, option = model.ReportSelector3.Option, row = model.ReportSelector3.Row, Value = "Report2" }); } ; if (!model.ReportSelector4.Column.Equals("NA") || !model.ReportSelector4.Group.Equals("NA") || !model.ReportSelector4.Row.Equals("NA")) { reports.Add(new drn_query_builderReport() { column = model.ReportSelector4.Column, group = model.ReportSelector4.Group, option = model.ReportSelector4.Option, row = model.ReportSelector4.Row, Value = "Report3" }); } ; if (!model.ReportSelector5.Column.Equals("NA") || !model.ReportSelector5.Group.Equals("NA") || !model.ReportSelector5.Row.Equals("NA")) { reports.Add(new drn_query_builderReport() { column = model.ReportSelector5.Column, group = model.ReportSelector5.Group, option = model.ReportSelector5.Option, row = model.ReportSelector5.Row, Value = "Report4" }); } ; // clear out the option field unless at least one of them is "Age" foreach (var report in reports.Where(r => (r.row != "Age") && (r.column != "Age") && (r.group != "Age"))) { report.option = "NA"; } helper.Reports = reports.ToArray(); // SelectedDatamarts has a list of ids, and the request.DataMarts has the whole list of datamarts // so, split the selected dms by comma, and then select the dm if its id is in any of the selected ids helper.DataMarts = request.DataMarts.Where(dm => post.Values.GetValue("SelectedDataMarts").AttemptedValue.Split(",".ToCharArray()).Any(s => s == dm.ID.ToString())) .Select(dm => new drn_query_builderDatamart() { Value = dm.Name }).ToArray(); var xml = helper.XMLString; return(helper.XMLStringByteArray); }
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 <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) { return(DnsRequestTransaction.Failed(MissingMessage)); }
public Func <HtmlHelper, IHtmlString> EditRequestReDisplay(IDnsRequestContext request, IDnsPostContext post) { return(ReturnMissingMessage); }
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))); }
public Func <HtmlHelper, IHtmlString> EditRequestReDisplay(IDnsRequestContext request, IDnsPostContext post) { return(EditRequestView(request)); }