protected void CarePlanGoalsGrid_OnItemCommand(Object sender, Telerik.Web.UI.GridCommandEventArgs eventArgs) { if (MercuryApplication == null) { return; } Int32 itemIndex = eventArgs.Item.DataSetIndex; switch (eventArgs.CommandName) { case "ToggleActive": carePlan.Goals[itemIndex].Enabled = !carePlan.Goals[itemIndex].Enabled; break; case Telerik.Web.UI.RadGrid.EditCommandName: Client.Core.Individual.CarePlanGoal carePlanGoal = carePlan.Goals[eventArgs.Item.ItemIndex]; CarePlanGoalName.Text = carePlanGoal.Name; CarePlanGoalInclusion.SelectedValue = ((Int32)carePlanGoal.Inclusion).ToString(); CarePlanGoalEnabled.Checked = carePlanGoal.Enabled; CarePlanGoalTimeframeSelection.SelectedValue = ((Int32)carePlanGoal.GoalTimeframe).ToString(); CarePlanGoalScheduleValue.Value = carePlanGoal.ScheduleValue; CarePlanGoalScheduleQualifierSelection.SelectedValue = ((Int32)carePlanGoal.ScheduleQualifier).ToString(); CarePlanGoalCareMeasureSelection.SelectedValue = carePlanGoal.CareMeasureId.ToString(); CarePlanGoalClinicalNarrative.Text = carePlanGoal.ClinicalNarrative; CarePlanGoalCommonNarrative.Text = carePlanGoal.CommonNarrative; eventArgs.Canceled = true; break; } InitializeGoalsGrid(); CarePlanGoalsGrid.SelectedIndexes.Add(itemIndex); return; }
protected void InterventionsGrid_OnDeleteCommand(Object sender, Telerik.Web.UI.GridCommandEventArgs eventArgs) { if (MercuryApplication == null) { return; } if (!(eventArgs.Item is Telerik.Web.UI.GridDataItem)) { return; } String carePlanGoalName = String.Empty; Client.Core.Individual.CarePlanGoal carePlanGoal = null; String carePlanInterventionName = String.Empty; Client.Core.Individual.CarePlanIntervention carePlanIntervention = null; // GET VALUES OUT OF THE DATA ITEM Telerik.Web.UI.GridDataItem dataItem = (Telerik.Web.UI.GridDataItem)eventArgs.Item; carePlanGoalName = (String)dataItem.GetDataKeyValue("CarePlanGoal.Name"); carePlanGoal = carePlan.CarePlanGoal(carePlanGoalName); if (carePlanGoal != null) { carePlanInterventionName = (String)dataItem.GetDataKeyValue("Name"); carePlanIntervention = carePlanGoal.CarePlanIntervention(carePlanInterventionName); if (carePlanIntervention != null) { carePlanGoal.Interventions.Remove(carePlanIntervention); } } InitializeInterventionsPage(); InterventionsGrid.Rebind(); return; }
private void InitializeCareInterventionTreeView() { Client.Core.Individual.CarePlanGoal originalCarePlanGoal = MemberCaseCarePlanGoal.MemberCaseCarePlan.CarePlan.CarePlanGoal(MemberCaseCarePlanGoal.CarePlanGoalId); Telerik.Web.UI.RadTreeNode careInterventionNode; #region Create Root Nodes Telerik.Web.UI.RadTreeNode rootCurrentNode = new Telerik.Web.UI.RadTreeNode("Current", "RootCurrent"); rootCurrentNode.Checkable = false; rootCurrentNode.Expanded = false; CareInterventionTreeView.Nodes.Add(rootCurrentNode); Telerik.Web.UI.RadTreeNode rootRequiredNode = new Telerik.Web.UI.RadTreeNode("Required", "RootRequired"); rootRequiredNode.Checkable = false; rootRequiredNode.Expanded = true; CareInterventionTreeView.Nodes.Add(rootRequiredNode); Telerik.Web.UI.RadTreeNode rootSuggestedNode = new Telerik.Web.UI.RadTreeNode("Suggested", "RootSuggested"); rootSuggestedNode.Checkable = false; rootSuggestedNode.Expanded = true; CareInterventionTreeView.Nodes.Add(rootSuggestedNode); Telerik.Web.UI.RadTreeNode rootOptionalNode = new Telerik.Web.UI.RadTreeNode("Optional", "RootOptional"); rootOptionalNode.Checkable = false; rootOptionalNode.Expanded = false; CareInterventionTreeView.Nodes.Add(rootOptionalNode); Telerik.Web.UI.RadTreeNode rootAllNode = new Telerik.Web.UI.RadTreeNode("All Others", "RootAll"); rootAllNode.Checkable = false; rootAllNode.Expanded = false; CareInterventionTreeView.Nodes.Add(rootAllNode); #endregion List <Client.Core.Individual.CareIntervention> careInterventionsCurrent = (from currentCarePlanGoalIntervention in MemberCaseCarePlanGoal.Interventions where // ALTERED TO REMOVE THOSE WHERE CARE INTERVENTION IS NULL (currentCarePlanGoalIntervention.CareIntervention != null) && ( (currentCarePlanGoalIntervention.CareIntervention != null ? ((currentCarePlanGoalIntervention.CareIntervention.Status == Mercury.Server.Application.CaseItemStatus.UnderDevelopment) || (currentCarePlanGoalIntervention.CareIntervention.Status == Mercury.Server.Application.CaseItemStatus.Active)) : (currentCarePlanGoalIntervention.Id == currentCarePlanGoalIntervention.Id))) select currentCarePlanGoalIntervention.CareIntervention.CareIntervention ).Distinct().ToList(); foreach (Client.Core.Individual.CareIntervention currentCareIntervention in careInterventionsCurrent) { // EXISTING CARE INTERVENTIONS WILL HAVE "Checked" TRUE AND "ForeColor" System.Drawing.Color.Black // IF THE CARE INTERVENTION EXISTS AND IS ACTIVE IN THE CASE ALREADY, DO NOT ALLOW IT TO BE ADDED AGAIN careInterventionNode = new Telerik.Web.UI.RadTreeNode(currentCareIntervention.Name, currentCareIntervention.Id.ToString()); careInterventionNode.Checkable = false; careInterventionNode.ImageUrl = "/Images/Common16/Check.png"; careInterventionNode.ForeColor = System.Drawing.Color.Black; // ADD EARLY SO THAT EXPAND TO NODE WORKS (PARENT RELATIONSHIP REQUIRED) rootCurrentNode.Nodes.Add(careInterventionNode); } List <Client.Core.Individual.CareIntervention> careInterventionsAvailable = MercuryApplication.CareInterventionsAvailable(true); careInterventionsAvailable = (from currentCareIntervention in careInterventionsAvailable where (currentCareIntervention.Enabled == true) orderby currentCareIntervention.Name select currentCareIntervention).ToList(); foreach (Client.Core.Individual.CareIntervention currentCareIntervention in careInterventionsAvailable) { // MAKE SURE THAT THE NODE DOES NOT ALREADY EXIST (FROM THE "CURRENT" SELECTION) if (CareInterventionTreeView.FindNodeByValue(currentCareIntervention.Id.ToString()) == null) { Telerik.Web.UI.RadTreeNode parentNode = rootAllNode; if (originalCarePlanGoal != null) // IT IS POSSIBLE THAT THE GOAL WAS A CUSTOM CREATED GOAL // USE THE ORIGINAL CARE PLAN OF THE CARE PLAN GOAL TO CHECK TO SEE IF THE INTERVENTION IS REQUIRED/SUGGESTED/OPTIONAL IN THE ORIGINAL { Client.Core.Individual.CarePlanIntervention originalCarePlanIntervention = originalCarePlanGoal.CarePlanIntervention(currentCareIntervention.Id); if (originalCarePlanIntervention != null) { switch (originalCarePlanIntervention.Inclusion) { case Mercury.Server.Application.CarePlanItemInclusion.Required: parentNode = rootRequiredNode; break; case Mercury.Server.Application.CarePlanItemInclusion.Suggested: parentNode = rootSuggestedNode; break; case Mercury.Server.Application.CarePlanItemInclusion.Optional: parentNode = rootOptionalNode; break; } } } careInterventionNode = new Telerik.Web.UI.RadTreeNode(currentCareIntervention.Name, currentCareIntervention.Id.ToString()); parentNode.Nodes.Add(careInterventionNode); // IDENTIFY CARE INTERVENTIONS THAT ARE ALREADY IN USE BY CURRENT CARE PLAN OR OTHER CARE PLAN List <Client.Core.Individual.Case.MemberCaseProblemCarePlan> memberCaseProblemCarePlans = (from currentMemberCaseCarePlan in Case.CarePlans from currentMemberCaseCarePlanGoal in currentMemberCaseCarePlan.Goals from currentMemberCaseCarePlanGoalIntervention in currentMemberCaseCarePlanGoal.Interventions from currentProblems in currentMemberCaseCarePlanGoalIntervention.MemberCaseCarePlanGoal.MemberCaseCarePlan.Problems // ALTERED TO CHECK IF CARE INTERVENTION IS NULL where ((currentMemberCaseCarePlanGoalIntervention.CareIntervention != null) ? (currentMemberCaseCarePlanGoalIntervention.CareIntervention.CareInterventionId == currentCareIntervention.Id) && ((currentMemberCaseCarePlanGoalIntervention.CareIntervention.Status == Mercury.Server.Application.CaseItemStatus.UnderDevelopment)) || (currentMemberCaseCarePlanGoalIntervention.CareIntervention.Status == Mercury.Server.Application.CaseItemStatus.Active) : (currentMemberCaseCarePlanGoalIntervention.Id == currentMemberCaseCarePlanGoalIntervention.Id)) select currentProblems).Distinct().ToList(); foreach (Client.Core.Individual.Case.MemberCaseProblemCarePlan currentMemberCaseProblemCarePlan in memberCaseProblemCarePlans) { Telerik.Web.UI.RadTreeNode problemNode = new Telerik.Web.UI.RadTreeNode(currentMemberCaseProblemCarePlan.ProblemStatementClassificationWithName, currentCareIntervention.Id.ToString() + "|" + currentMemberCaseProblemCarePlan.Id.ToString()); problemNode.Checkable = false; careInterventionNode.Nodes.Add(problemNode); } } } return; }
protected void InterventionsGrid_OnItemCommand(Object sender, Telerik.Web.UI.GridCommandEventArgs eventArgs) { if (MercuryApplication == null) { return; } if (!(eventArgs.Item is Telerik.Web.UI.GridDataItem)) { return; } Int32 itemIndex = eventArgs.Item.DataSetIndex; String carePlanGoalName = String.Empty; Client.Core.Individual.CarePlanGoal carePlanGoal = null; String carePlanInterventionName = String.Empty; Client.Core.Individual.CarePlanIntervention carePlanIntervention = null; // GET VALUES OUT OF THE DATA ITEM Telerik.Web.UI.GridDataItem dataItem = (Telerik.Web.UI.GridDataItem)eventArgs.Item; carePlanGoalName = (String)dataItem.GetDataKeyValue("CarePlanGoal.Name"); carePlanGoal = carePlan.CarePlanGoal(carePlanGoalName); if (carePlanGoal != null) { carePlanInterventionName = (String)dataItem.GetDataKeyValue("Name"); carePlanIntervention = carePlanGoal.CarePlanIntervention(carePlanInterventionName); } switch (eventArgs.CommandName) { case "ToggleActive": if (carePlanIntervention != null) { carePlanIntervention.Enabled = !carePlanIntervention.Enabled; } break; case Telerik.Web.UI.RadGrid.EditCommandName: // MAKE COPY OF SELECTED ROW FOR EDITING EditCarePlanIntervention = carePlanIntervention.Copy(); // EditCarePlanIntervention = carePlan.Interventions[activityIndex].Copy (); // TODO: ASSIGN INTERVENTION MEMBERS eventArgs.Canceled = true; break; default: System.Diagnostics.Debug.WriteLine(eventArgs.CommandName); break; } InitializeInterventionsPage(); InterventionsGrid.Rebind(); InterventionsGrid.SelectedIndexes.Add(eventArgs.Item.ItemIndex); return; }
protected void ButtonAddUpdateCarePlanGoal_OnClick(Object sender, EventArgs eventArgs) { if (MercuryApplication == null) { return; } Boolean existingGoalFound = false; Boolean duplicateName = false; Client.Core.Individual.CarePlanGoal carePlanGoal = null; Dictionary <String, String> validationResponse; // CREATE NEW GOAL OBJECT AN ASSOCIATE WITH PARENT GOAL carePlanGoal = new Client.Core.Individual.CarePlanGoal(MercuryApplication); carePlanGoal.CarePlanId = carePlan.Id; // ASSIGN PROPERTIES FROM CONTROLS INTO OBJECT carePlanGoal.Name = CarePlanGoalName.Text; carePlanGoal.Inclusion = (Mercury.Server.Application.CarePlanItemInclusion)Convert.ToInt32(CarePlanGoalInclusion.SelectedValue); carePlanGoal.Description = CarePlanGoalName.Text; carePlanGoal.Enabled = CarePlanGoalEnabled.Checked; carePlanGoal.GoalTimeframe = (Mercury.Server.Application.CarePlanGoalTimeframe)Convert.ToInt32(CarePlanGoalTimeframeSelection.SelectedValue); carePlanGoal.ScheduleValue = Convert.ToInt32(CarePlanGoalScheduleValue.Value); carePlanGoal.ScheduleQualifier = (Mercury.Server.Application.DateQualifier)Convert.ToInt32(CarePlanGoalScheduleQualifierSelection.SelectedValue); carePlanGoal.CareMeasureId = (CarePlanGoalCareMeasureSelection.SelectedItem != null) ? Convert.ToInt64(CarePlanGoalCareMeasureSelection.SelectedValue) : 0; carePlanGoal.ClinicalNarrative = CarePlanGoalClinicalNarrative.Text; carePlanGoal.CommonNarrative = CarePlanGoalCommonNarrative.Text; validationResponse = carePlanGoal.Validate(); if (validationResponse.Count == 0) { SaveResponseLabel.Text = String.Empty; foreach (Client.Core.Individual.CarePlanGoal currentCarePlanGoal in carePlan.Goals) { if (currentCarePlanGoal.IsEqual(carePlanGoal)) { existingGoalFound = true; break; } if (currentCarePlanGoal.Name.ToUpper() == carePlanGoal.Name.ToUpper()) { duplicateName = true; } } switch (((System.Web.UI.WebControls.Button)sender).ID) { case "CarePlanGoalAdd": if ((!existingGoalFound) && (!duplicateName)) { carePlan.Goals.Add(carePlanGoal); } else { SaveResponseLabel.Text = "Duplicate Goal Exists."; } break; case "CarePlanGoalUpdate": if (CarePlanGoalsGrid.SelectedItems.Count != 0) { carePlanGoal.Id = carePlan.Goals[CarePlanGoalsGrid.SelectedItems[0].DataSetIndex].Id; carePlan.Goals.RemoveAt(CarePlanGoalsGrid.SelectedItems[0].DataSetIndex); carePlan.Goals.Add(carePlanGoal); } break; } } else { foreach (String validationKey in validationResponse.Keys) { SaveResponseLabel.Text = "Invalid [" + validationKey + "]: " + validationResponse[validationKey]; break; } } InitializeGoalsGrid(); return; }