public ActionResult PregnancyAddEdit(string dfn, string pregIen, string itemIen)
        {
            PregnancyChecklistAddEdit model = new PregnancyChecklistAddEdit();

            model.Patient = this.CurrentPatient;

            if (!string.IsNullOrWhiteSpace(itemIen))
            {
                PregnancyChecklistItemsResult result = this.DashboardRepository.Checklist.GetPregnancyItems(dfn, "", itemIen);

                if (!result.Success)
                {
                    this.Error(result.Message);
                }
                else
                {
                    if (result.Items != null)
                    {
                        if (result.Items.Count > 0)
                        {
                            model.Item = result.Items[0];

                            model.GetDueVals();

                            //if (model.Item.ItemType == DsioChecklistItemType.EducationItem)
                            //    model.EducationItemLink = model.Item.Link;
                        }
                    }
                }
            }
            else
            {
                model.Item.PatientDfn       = dfn;
                model.Item.PregnancyIen     = pregIen;
                model.Item.CompletionStatus = DsioChecklistCompletionStatus.NotComplete;
            }

            model.EducationItemSelection = this.DashboardRepository.Education.GetItemSelection();

            return(View(model));
        }
        public ActionResult PregnancyAddEdit(PregnancyChecklistAddEdit model)
        {
            ActionResult result;

            bool ok = false;

            //if (model.Item.ItemType == DsioChecklistItemType.EducationItem)
            //    model.Item.Link = model.EducationItemLink;

            if (model.Item.IsValid())
            {
                model.SetDueVals();

                IenResult saveResult = this.DashboardRepository.Checklist.SavePregnancyItem(model.Item);

                if (!saveResult.Success)
                {
                    this.Error(saveResult.Message);
                }
                else
                {
                    if (string.IsNullOrWhiteSpace(model.Item.Ien))
                    {
                        this.Information("Checklist item created successfully");
                    }
                    else
                    {
                        this.Information("Checklist item updated successfully");
                    }

                    // *** Update the next checklist date ***
                    BrokerOperationResult updResult = ChecklistUtility.UpdateNextDates(this.DashboardRepository, model.Patient.Dfn, model.Item.PregnancyIen);

                    if (!updResult.Success)
                    {
                        this.Error("Error updating next dates: " + updResult.Message);
                    }

                    ok = true;
                }
            }
            else
            {
                this.Error(model.Item.ValidationMessage);
            }

            if (ok)
            {
                result = RedirectToAction("PregnancyIndex", new { dfn = model.Patient.Dfn, pregIen = model.Item.PregnancyIen });
            }
            else
            {
                this.CurrentPatientDfn = model.Patient.Dfn;
                model.Patient          = this.CurrentPatient;

                model.EducationItemSelection = this.DashboardRepository.Education.GetItemSelection();

                result = View(model);
            }

            return(result);
        }