/// <summary> /// Raises the <see cref="E:System.Web.UI.Control.Load" /> event. /// </summary> /// <param name="e">The <see cref="T:System.EventArgs" /> object that contains the event data.</param> protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!Page.IsPostBack) { string itemId = PageParameter("definedTypeId"); if (!string.IsNullOrWhiteSpace(itemId)) { ShowDetail("definedTypeId", int.Parse(itemId)); } else { pnlDetails.Visible = false; } } if (pnlDefinedValueEditor.Visible) { if (!string.IsNullOrWhiteSpace(hfDefinedTypeId.Value)) { var definedValue = new DefinedValue { DefinedTypeId = hfDefinedTypeId.ValueAsInt() }; definedValue.LoadAttributes(); phDefinedValueAttributes.Controls.Clear(); Rock.Attribute.Helper.AddEditControls(definedValue, phDefinedValueAttributes, false); } } }
/// <summary> /// Get the Checkr packages and update the list on the server. /// </summary> /// <param name="errorMessages">The error messages.</param> /// <returns>True/False value of whether the request was successfully sent or not.</returns> public static bool UpdatePackages(List <string> errorMessages) { GetPackagesResponse getPackagesResponse; if (!CheckrApiUtility.GetPackages(out getPackagesResponse, errorMessages)) { return(false); } List <string> packages; using (var rockContext = new RockContext()) { var definedType = DefinedTypeCache.Get(Rock.SystemGuid.DefinedType.BACKGROUND_CHECK_TYPES.AsGuid()); DefinedValueService definedValueService = new DefinedValueService(rockContext); packages = definedValueService .GetByDefinedTypeGuid(Rock.SystemGuid.DefinedType.BACKGROUND_CHECK_TYPES.AsGuid()) .Where(v => v.ForeignId == 2) .ToList() .Select(v => { v.LoadAttributes(rockContext); return(v.GetAttributeValue("PMMPackageName").ToString()); }) // v => v.Value.Substring( CheckrConstants.TYPENAME_PREFIX.Length ) ) .ToList(); foreach (var packageRestResponse in getPackagesResponse.Data) { string packageName = packageRestResponse.Slug; if (!packages.Contains(packageName)) { DefinedValue definedValue = null; definedValue = new DefinedValue(); definedValue.DefinedTypeId = definedType.Id; definedValue.ForeignId = 2; definedValueService.Add(definedValue); definedValue.Value = CheckrConstants.CHECKR_TYPENAME_PREFIX + packageName.Replace('_', ' ').FixCase(); definedValue.Description = packageRestResponse.Name == "Educatio Report" ? "Education Report" : packageRestResponse.Name; rockContext.SaveChanges(); definedValue.LoadAttributes(rockContext); definedValue.SetAttributeValue("PMMPackageName", packageName); definedValue.SetAttributeValue("DefaultCounty", string.Empty); definedValue.SetAttributeValue("SendHomeCounty", "False"); definedValue.SetAttributeValue("DefaultState", string.Empty); definedValue.SetAttributeValue("SendHomeState", "False"); definedValue.SetAttributeValue("MVRJurisdiction", string.Empty); definedValue.SetAttributeValue("SendHomeStateMVR", "False"); definedValue.SaveAttributeValues(rockContext); } } } DefinedValueCache.Clear(); return(true); }
private static DefinedValueCache CreateVerb(string url, string name) { RockContext rockContext = new RockContext(); DefinedValueService definedValueService = new DefinedValueService(rockContext); var verbTypeId = DefinedTypeCache.Get(Constants.DEFINED_TYPE_VERBS).Id; var verb = new DefinedValue { DefinedTypeId = verbTypeId, Value = url }; definedValueService.Add(verb); rockContext.SaveChanges(); verb.LoadAttributes(); verb.SetAttributeValue(Constants.DEFINED_VALUE_VERBS_ATTRIBUTE_KEY_NAME, name); verb.SaveAttributeValues(); return(DefinedValueCache.Get(verb.Id)); }
private static DefinedValueCache CreateExtension(string url, string name) { RockContext rockContext = new RockContext(); DefinedValueService definedValueService = new DefinedValueService(rockContext); var verbTypeId = DefinedTypeCache.Get(Constants.DEFINED_TYPE_EXTENSIONS).Id; var extension = new DefinedValue { DefinedTypeId = verbTypeId, Value = url }; definedValueService.Add(extension); rockContext.SaveChanges(); extension.LoadAttributes(); extension.SetAttributeValue(Constants.DEFINED_VALUE_EXTENSIONS_ATTRIBUTE_KEY_NAME, name); extension.SaveAttributeValues(); return(DefinedValueCache.Get(extension.Id)); }
private IQueryable <HospitalRow> GetQuery(RockContext rockContext) { var contextEntity = this.ContextEntity(); var workflowService = new WorkflowService(rockContext); var workflowActivityService = new WorkflowActivityService(rockContext); var attributeService = new AttributeService(rockContext); var attributeValueService = new AttributeValueService(rockContext); var personAliasService = new PersonAliasService(rockContext); var definedValueService = new DefinedValueService(rockContext); var entityTypeService = new EntityTypeService(rockContext); int entityTypeId = entityTypeService.Queryable().Where(et => et.Name == typeof(Workflow).FullName).FirstOrDefault().Id; string status = (contextEntity != null ? "Completed" : "Active"); Guid hospitalWorkflow = GetAttributeValue("HospitalAdmissionWorkflow").AsGuid(); var workflowType = new WorkflowTypeService(rockContext).Get(hospitalWorkflow); var workflowTypeIdAsString = workflowType.Id.ToString(); var attributeIds = attributeService.Queryable() .Where(a => a.EntityTypeQualifierColumn == "WorkflowTypeId" && a.EntityTypeQualifierValue == workflowTypeIdAsString) .Select(a => a.Id).ToList(); // Look up the activity type for "Visitation" var visitationActivityIdAsString = workflowType.ActivityTypes.Where(at => at.Name == "Visitation Info").Select(at => at.Id.ToString()).FirstOrDefault(); var activityAttributeIds = attributeService.Queryable() .Where(a => a.EntityTypeQualifierColumn == "ActivityTypeId" && a.EntityTypeQualifierValue == visitationActivityIdAsString) .Select(a => a.Id).ToList(); var wfTmpqry = workflowService.Queryable().AsNoTracking() .Where(w => (w.WorkflowType.Guid == hospitalWorkflow) && (w.Status == "Active" || w.Status == status)); if (contextEntity != null) { var personGuid = (( Person )contextEntity).Aliases.Select(a => a.Guid.ToString()).ToList(); var validWorkflowIds = new AttributeValueService(rockContext).Queryable() .Where(av => av.Attribute.Key == "PersonToVisit" && personGuid.Contains(av.Value)).Select(av => av.EntityId); wfTmpqry = wfTmpqry.Where(w => validWorkflowIds.Contains(w.Id)); gReport.Columns[10].Visible = true; } var visits = workflowActivityService.Queryable() .Join( attributeValueService.Queryable(), wa => wa.Id, av => av.EntityId.Value, (wa, av) => new { WorkflowActivity = wa, AttributeValue = av }) .Where(a => activityAttributeIds.Contains(a.AttributeValue.AttributeId)) .GroupBy(wa => wa.WorkflowActivity) .Select(obj => new { WorkflowActivity = obj.Key, AttributeValues = obj.Select(a => a.AttributeValue) }) .ToList(); var workflows = wfTmpqry.Join( attributeValueService.Queryable(), obj => obj.Id, av => av.EntityId.Value, (obj, av) => new { Workflow = obj, AttributeValue = av }) .Where(a => attributeIds.Contains(a.AttributeValue.AttributeId)) .GroupBy(obj => obj.Workflow) .Select(obj => new { Workflow = obj.Key, AttributeValues = obj.Select(a => a.AttributeValue) }) .ToList(); var qry = workflows.AsQueryable().GroupJoin(visits.AsQueryable(), wf => wf.Workflow.Id, wa => wa.WorkflowActivity.WorkflowId, (wf, wa) => new { Workflow = wf, WorkflowActivities = wa }) .Select(obj => new { Workflow = obj.Workflow.Workflow, AttributeValues = obj.Workflow.AttributeValues, VisitationActivities = obj.WorkflowActivities }).ToList(); if (contextEntity == null) { // Make sure they aren't deceased qry = qry.AsQueryable().Where(w => ! (personAliasService.Get(w.AttributeValues.Where(av => av.AttributeKey == "PersonToVisit").Select(av => av.Value).FirstOrDefault().AsGuid()) != null ? personAliasService.Get(w.AttributeValues.Where(av => av.AttributeKey == "PersonToVisit").Select(av => av.Value).FirstOrDefault().AsGuid()).Person.IsDeceased : false)).ToList(); } var newQry = qry.Select(w => new HospitalRow { Id = w.Workflow.Id, Workflow = w.Workflow, Name = w.Workflow.Name, Hospital = w.AttributeValues.Where(av => av.AttributeKey == "Hospital").Select(av => av.ValueFormatted).FirstOrDefault(), HospitalAddress = new Func <string>(() => { DefinedValue dv = definedValueService.Get(w.AttributeValues.Where(av => av.AttributeKey == "Hospital").Select(av => av.Value).FirstOrDefault().AsGuid()); dv.LoadAttributes(); return(dv.AttributeValues["Qualifier1"].ValueFormatted + " " + dv.AttributeValues["Qualifier2"].ValueFormatted + " " + dv.AttributeValues["Qualifier3"].ValueFormatted + ", " + dv.AttributeValues["Qualifier4"].ValueFormatted); })(), PersonToVisit = new Func <Person>(() => { PersonAlias pa = personAliasService.Get(w.AttributeValues.Where(av => av.AttributeKey == "PersonToVisit").Select(av => av.Value).FirstOrDefault().AsGuid()); if (pa != null) { return(pa.Person); } return(new Person()); })(), Age = new Func <int?>(() => { PersonAlias pa = personAliasService.Get(w.AttributeValues.Where(av => av.AttributeKey == "PersonToVisit").Select(av => av.Value).FirstOrDefault().AsGuid()); if (pa != null) { return(pa.Person.Age); } return(null); })(), Room = w.AttributeValues.Where(av => av.AttributeKey == "Room").Select(av => av.ValueFormatted).FirstOrDefault(), AdmitDate = w.AttributeValues.Where(av => av.AttributeKey == "AdmitDate").Select(av => av.ValueAsDateTime).FirstOrDefault(), Description = w.AttributeValues.Where(av => av.AttributeKey == "VisitationRequestDescription").Select(av => av.ValueFormatted).FirstOrDefault(), Visits = w.VisitationActivities.Where(a => a.AttributeValues != null && a.AttributeValues.Where(av => av.AttributeKey == "VisitDate" && !string.IsNullOrWhiteSpace(av.Value)).Any()).Count(), LastVisitor = new Func <string>(() => { var visitor = w.VisitationActivities.Where(a => a.AttributeValues != null && a.AttributeValues.Where(av => av.AttributeKey == "VisitDate" && !string.IsNullOrWhiteSpace(av.Value)).Any()).Select(va => va.AttributeValues.Where(av => av.AttributeKey == "Visitor").LastOrDefault()).LastOrDefault(); if (visitor != null) { return(visitor.ValueFormatted); } return("N/A"); })(), LastVisitDate = w.VisitationActivities.Where(a => a.AttributeValues != null && a.AttributeValues.Where(av => av.AttributeKey == "VisitDate" && !string.IsNullOrWhiteSpace(av.Value)).Any()).Select(va => va.AttributeValues.Where(av => av.AttributeKey == "VisitDate").LastOrDefault()).Select(av => av == null ? "N/A" : av.ValueFormatted).DefaultIfEmpty("N/A").LastOrDefault(), LastVisitNotes = w.VisitationActivities.Where(a => a.AttributeValues != null && a.AttributeValues.Where(av => av.AttributeKey == "VisitDate" && !string.IsNullOrWhiteSpace(av.Value)).Any()).Select(va => va.AttributeValues.Where(av => av.AttributeKey == "VisitNote").LastOrDefault()).Select(av => av == null ? "N/A" : av.ValueFormatted).DefaultIfEmpty("N/A").LastOrDefault(), DischargeDate = w.AttributeValues.Where(av => av.AttributeKey == "DischargeDate").Select(av => av.ValueFormatted).FirstOrDefault(), Status = w.Workflow.Status, Communion = w.AttributeValues.Where(av => av.AttributeKey == "Communion").Select(av => av.ValueFormatted).FirstOrDefault(), Actions = "" }).ToList().AsQueryable().OrderBy(p => p.Hospital).ThenBy(p => p.PersonToVisit.LastName); return(newQry); }