private ActionResult PostCancel(PregnancyChecklistIndex model)
        {
            PregnancyChecklistItemResult opResult = this.DashboardRepository.Checklist.GetPregnancyItem(model.Patient.Dfn, model.SelectedItemIen);

            if (!opResult.Success)
            {
                this.Error(opResult.Message);
            }
            else
            {
                PregnancyChecklistItem item = opResult.Item;

                BrokerOperationResult updateResult = this.DashboardRepository.Checklist.CancelPregnancyItem(item);

                if (!updateResult.Success)
                {
                    this.Error(updateResult.Message);
                }
                else
                {
                    // *** Update the next checklist date ***
                    BrokerOperationResult result = ChecklistUtility.UpdateNextDates(this.DashboardRepository, item.PatientDfn, item.PregnancyIen);

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

            return(RedirectToAction("PregnancyIndex", new { dfn = model.Patient.Dfn, pregIen = model.Pregnancy.Ien, page = model.Paging.CurrentPage }));
        }
        private ActionResult PostComplete(PregnancyChecklistIndex model)
        {
            // *** Update completion status for a pregnancy checklist item ***

            // *** Create default return action ***
            ActionResult returnResult = RedirectToAction("PregnancyIndex", new { dfn = model.Patient.Dfn, pregIen = model.Pregnancy.Ien, page = model.Paging.CurrentPage });

            // *** Get the item ***
            PregnancyChecklistItemResult getResult = this.DashboardRepository.Checklist.GetPregnancyItem(model.Patient.Dfn, model.SelectedItemIen);

            if (!getResult.Success)
            {
                this.Error(getResult.Message);
            }
            else
            {
                // *** Should only be one ***
                PregnancyChecklistItem item = getResult.Item;

                BrokerOperationResult opResult;

                if (item.ItemType == DsioChecklistItemType.MccCall)
                {
                    if (string.IsNullOrWhiteSpace(item.CompletionLink))
                    {
                        returnResult = RedirectToAction("Create", "PatientContact", new { @dfn = model.Patient.Dfn, @callType = item.Link, @checkIen = item.Ien });
                    }
                    else
                    {
                        returnResult = RedirectToAction("Edit", "PatientContact", new { @dfn = model.Patient.Dfn, @noteIen = item.CompletionLink, @checkIen = item.Ien });
                    }
                }
                else
                {
                    opResult = CompleteItem(item);

                    if (opResult.Success)
                    {
                        this.Information(opResult.Message);
                    }
                    else
                    {
                        this.Error(opResult.Message);
                    }
                }
            }

            return(returnResult);
        }
        private ActionResult PostInProgress(PregnancyChecklistIndex model)
        {
            PregnancyChecklistItemResult opResult = this.DashboardRepository.Checklist.GetPregnancyItem(model.Patient.Dfn, model.SelectedItemIen);

            if (!opResult.Success)
            {
                this.Error(opResult.Message);
            }
            else
            {
                PregnancyChecklistItem item = opResult.Item;

                BrokerOperationResult updateResult = this.DashboardRepository.Checklist.SetPregnancyItemInProgress(item);

                if (!updateResult.Success)
                {
                    this.Error(updateResult.Message);
                }
            }

            return(RedirectToAction("PregnancyIndex", new { dfn = model.Patient.Dfn, pregIen = model.Pregnancy.Ien, page = model.Paging.CurrentPage }));
        }