public static ModularProgramModel InitializeModel(ModularProgramModel m, IDnsRequestContext request) { m.RequestType = ModularProgramRequestType.All.FirstOrDefault(rt => rt.ID == request.RequestType.ID); m.RequestTypeName = request.RequestType.Name; m.RequestId = request.RequestID; string requestName = GetRequestName(request.RequestType.ID.ToString()); string requestViewName = GetRequestViewName(request.RequestType.ID.ToString()); return(m); }
public DnsResult ValidateForSubmission(IDnsRequestContext context) { ModularProgramModel m = GetModel(context); IList <string> errorMessages; if (Validate(m, out errorMessages)) { return(DnsResult.Success); } else { return(DnsResult.Failed(errorMessages.ToArray <string>())); } }
public Func <HtmlHelper, IHtmlString> DisplayResponse(IDnsResponseContext context, IDnsResponseAggregationMode aggregationMode) { var m = new ModularProgramModel(); IList <SignatureDatum> signatureDataList = new List <SignatureDatum>(); using (var db = new DataContext()) { db.RequestSearchTerms.Where(term => term.RequestID == context.Request.RequestID).ForEach(term => signatureDataList.Add(new SignatureDatum { Variable = Enum.GetName(typeof(RequestSearchTermType), term.Type), Value = term.StringValue })); m.SignatureData = JsonConvert.SerializeObject(signatureDataList); m.HasResponses = ResponseService.GetVirtualResponses(context.Request.RequestID, true).Count() > 0; //PMNDEV-4421 var lDocs = (from r in context.DataMartResponses from doc in r.Documents orderby r.DataMart.ID select new { Name = doc.Name, Length = doc.Length, ID = doc.ID, DataMartName = r.DataMart.Name, RevisionVersion = doc.RevisionVersion }); var docs = from r in lDocs group r by r.DataMartName into grp select new FileSelection ( grp.FirstOrDefault().Name, grp.OrderByDescending(p => p.RevisionVersion).FirstOrDefault().Length, grp.OrderByDescending(p => p.RevisionVersion).FirstOrDefault().ID, grp.FirstOrDefault().DataMartName, FileHelper.GetMimeType(grp.FirstOrDefault().Name) ); m.RequestFileList = docs.ToList(); return(html => html .Partial <Views.ModularProgram.DisplayResponse>() .WithModel(m)); } }
private byte[] BuildRequest(IDnsRequestContext request, ModularProgramModel m) { request_builder requestBuilder = new request_builder(); requestBuilder.header = new header(); requestBuilder.header.request_type = request.RequestType.Name; requestBuilder.header.request_name = request.Header.Name; requestBuilder.header.request_description = request.Header.Description; if (request.Header.DueDate != null) { requestBuilder.header.due_date = (DateTime)request.Header.DueDate; } requestBuilder.header.activity = request.Header.Activity != null ? request.Header.Activity.Name : null; requestBuilder.header.activity_description = request.Header.ActivityDescription; requestBuilder.header.submitter_email = request.Header.AuthorEmail; requestBuilder.request = new request(); // Build package manifest IList <Lpp.Dns.HealthCare.ModularProgram.Data.Serializer.ModularProgramItem> list = new List <Lpp.Dns.HealthCare.ModularProgram.Data.Serializer.ModularProgramItem>(); m.PackageManifest.ForEach(s => list.Add(new Data.Serializer.ModularProgramItem() { ProgramName = s.ProgramName, Description = s.Description, TypeCode = s.TypeCode, Scenarios = s.Scenarios })); requestBuilder.request.PackageManifest = list.ToArray(); requestBuilder.request.Files = m.Files.ToArray(); byte[] requestBuilderBytes; XmlSerializer serializer = new XmlSerializer(typeof(request_builder)); using (StringWriter sw = new StringWriter()) { using (XmlWriter xw = XmlWriter.Create(sw, new XmlWriterSettings { OmitXmlDeclaration = true })) { serializer.Serialize(xw, requestBuilder, null); requestBuilderBytes = Encoding.UTF8.GetBytes(sw.ToString()); } } return(requestBuilderBytes); }
private ModularProgramModel GetModel(IDnsRequestContext request) { using (var db = new DataContext()) { var m = new ModularProgramModel(); //PMNDEV-4421 m.RequestFileList = (from d in db.Documents where d.ItemID == request.RequestID && d.Kind == DocumentKind.User group d by d.FileName into grp select new FileSelection { DataMartName = "", FileName = grp.FirstOrDefault().FileName, ID = grp.OrderByDescending(p => p.RevisionVersion).FirstOrDefault().ID, MimeType = grp.OrderByDescending(p => p.RevisionVersion).FirstOrDefault().MimeType, Size = grp.OrderByDescending(p => p.RevisionVersion).FirstOrDefault().Length }).ToList(); return(m); } }
private bool Validate(ModularProgramModel m, out IList <string> errorMessages) { errorMessages = new List <string>(); return(errorMessages.Count > 0 ? false : true); }