示例#1
0
        protected void ButtonAddUpdateIntervention_OnClick(Object sender, EventArgs eventArgs)
        {
            Boolean existingInterventionFound = false;

            Client.Core.Individual.CarePlanIntervention newIntervention = null;

            Int64 careInterventionId = 0;

            Client.Core.Individual.CarePlanGoal carePlanGoal;

            Client.Core.Individual.CareIntervention careIntervention;

            Dictionary <String, String> validationResponse;

            SaveResponseLabel.Text = String.Empty;



            if (MercuryApplication == null)
            {
                return;
            }

            if (CarePlanCareInterventionGoalSelection.SelectedItem == null)
            {
                return;
            }

            if (CarePlanCareInterventionSelection.SelectedItem == null)
            {
                return;
            }


            // GOAL THAT IS TO BE THE PARENT OF THE INTERVENTION

            carePlanGoal = carePlan.CarePlanGoal(CarePlanCareInterventionGoalSelection.SelectedValue);

            if (carePlanGoal == null)
            {
                return;
            }


            // CREATE INTERVENTION

            careInterventionId = Convert.ToInt64(CarePlanCareInterventionSelection.SelectedValue);

            careIntervention = MercuryApplication.CareInterventionGet(careInterventionId, true);


            newIntervention = new Client.Core.Individual.CarePlanIntervention(MercuryApplication);

            newIntervention.CarePlanGoalId = carePlanGoal.Id;

            newIntervention.CarePlanGoal = carePlanGoal;

            newIntervention.Name = careIntervention.Name;

            newIntervention.Description = careIntervention.Description;

            newIntervention.CareInterventionId = careIntervention.Id;

            newIntervention.Inclusion = (Mercury.Server.Application.CarePlanItemInclusion)Convert.ToInt32(CarePlanInteventionInclusionSelection.SelectedValue);


            validationResponse = MercuryApplication.CoreObject_Validate((Mercury.Server.Application.CoreObject)newIntervention.ToServerObject());

            if (validationResponse.Count == 0)
            {
                existingInterventionFound = carePlanGoal.ContainsCareIntervention(careInterventionId);


                switch (((System.Web.UI.WebControls.Button)sender).ID)
                {
                case "ButtonAddIntervention":

                    if (!existingInterventionFound)
                    {
                        carePlanGoal.Interventions.Add(newIntervention);

                        SaveResponseLabel.Text = String.Empty;
                    }

                    else
                    {
                        SaveResponseLabel.Text = "Duplicate Intervention.";
                    }

                    break;


                case "ButtonUpdateIntervention":

                    if (InterventionsGrid.SelectedItems.Count != 0)
                    {
                        newIntervention.Id = carePlanGoal.Interventions[InterventionsGrid.SelectedItems[0].DataSetIndex].Id;

                        carePlanGoal.Interventions.RemoveAt(InterventionsGrid.SelectedItems[0].DataSetIndex);

                        carePlanGoal.Interventions.Add(newIntervention);
                    }

                    else
                    {
                        SaveResponseLabel.Text = "No Intervention Selected.";
                    }

                    break;
                }
            }

            else
            {
                foreach (String validationKey in validationResponse.Keys)
                {
                    SaveResponseLabel.Text = "Invalid [" + validationKey + "]: " + validationResponse[validationKey];

                    break;
                }
            }

            InitializeInterventionsPage();

            InterventionsGrid.Rebind();

            return;
        }