public ActionResult MolinaView(long eventCustomerResultId, long accountId, long customerId, long eventId, bool print = false)
        {
            var lstMolinaAttestation           = _molinaAttestationRepository.GetbyEventCustumerResultId(eventCustomerResultId);
            var molinaAttestationListViewModel = new MolinaAttestationListModel
            {
                EventCustomerResultId = eventCustomerResultId,
                EventId    = eventId,
                CustomerId = customerId
            };

            if (lstMolinaAttestation != null && lstMolinaAttestation.Any())
            {
                var lstMolinaAttestationViewModel = new List <MolinaAttestationViewModel>();
                foreach (var item in (List <MolinaAttestation>)lstMolinaAttestation)
                {
                    if (item.StatusId != (long)MolinaAttestationStatus.Resolved)
                    {
                        item.DateResolved = null;
                    }
                    if (item.StatusId != (long)MolinaAttestationStatus.UnabletodetermineDiagnosis)
                    {
                        item.WhyNoDiagnosis = "";
                    }
                    var molinaAttestationViewModel = Mapper.Map <MolinaAttestation, MolinaAttestationViewModel>(item);


                    lstMolinaAttestationViewModel.Add(molinaAttestationViewModel);
                }
                molinaAttestationListViewModel.Attestations = lstMolinaAttestationViewModel;
            }
            GetDetails(molinaAttestationListViewModel);
            molinaAttestationListViewModel.ModelForPrint = print;
            return(View(molinaAttestationListViewModel));
        }
        public ActionResult Molina(MolinaAttestationListModel model, bool saveAndContinue)
        {
            var attestationValidator   = IoC.Resolve <MolinaAttestationViewModelValidator>();
            var invalidattestationList = new List <MolinaAttestationViewModel>();

            _molinaAttestationRepository.Delete(model.EventCustomerResultId);
            foreach (var item in model.Attestations)
            {
                var result = ValidateModel(attestationValidator, item);
                if (string.IsNullOrEmpty(result))
                {
                    try
                    {
                        using (var scope = new TransactionScope())
                        {
                            if (item.StatusId != (long)MolinaAttestationStatus.Resolved)
                            {
                                item.DateResolved = null;
                            }
                            if (item.StatusId != (long)MolinaAttestationStatus.UnabletodetermineDiagnosis)
                            {
                                item.WhyNoDiagnosis = "";
                            }
                            var molinaAttestation = Mapper.Map <MolinaAttestationViewModel, MolinaAttestation>(item);
                            if (!_molinaAttestationRepository.Save(molinaAttestation))
                            {
                                invalidattestationList.Add(item);
                            }
                            scope.Complete();
                        }
                    }
                    catch (Exception ex)
                    {
                        item.FeedbackMessage = FeedbackMessageModel.CreateFailureMessage("System Error:" + ex.Message);
                        invalidattestationList.Add(item);
                    }
                }
                else
                {
                    item.FeedbackMessage = FeedbackMessageModel.CreateFailureMessage(result);
                    invalidattestationList.Add(item);
                }
            }


            if (invalidattestationList.Count > 0)
            {
                //  model.Attestations = invalidattestationList;
                GetDetails(model);
                return(View(model));
            }
            if (!saveAndContinue)
            {
                return(Redirect("/Medical/Results/ResultStatusList?EventId=" + model.EventId));
            }
            return(View(model));
        }