public ActionResult EditStudyPerson(StudyPerson smodel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    CRUDStudyPerson cm = new CRUDStudyPerson();
                    if (cm.UpdateStudyPerson(smodel))
                    {
                        ViewBag.Message = "Thank you. Details for study participant " + smodel.PSCID + "(PSCID) have been updated successfully.";
                        ModelState.Clear();
                    }
                }
                //ViewBag.Message = "Study Participant Added Successfully";
                //return RedirectToAction("StudyPersonForm", new {PSCID = smodel.PSCID, StudyID = smodel.StudyID });
                //return View();

                CRUDStudyPerson crud = new CRUDStudyPerson();
                StudyList_Bind();              //Supply look-up list to drop down box for study name
                GetParticipantTypeList_Bind(); //supply participant type look up list
                GenderList_Bind();             //Supply gender type look up list
                //return View("EditStudyPerson");
                var PSCID   = smodel.PSCID;
                var StudyID = smodel.StudyID;
                //ViewBag.StudyID = smodel.StudyID;
                return(View(crud.GetStudyPersonList(PSCID, StudyID).Find(model => (smodel.PSCID == PSCID) && (smodel.StudyID == StudyID))));
            }
            catch (Exception ex)
            {
                return(View("Error", new HandleErrorInfo(ex, "StudyPersonSample", "EditStudyPersonStudyPerson"))); //create error view
            }
        }
        public ActionResult StudyPersonForm(string PSCID, string StudyID)
        {
            CRUDStudyPerson crud = new CRUDStudyPerson();

            ModelState.Clear();
            return(View(crud.GetStudyPerson(PSCID, StudyID)));
        }
        //public ActionResult Create(FormCollection collection)
        public ActionResult Create(CRUDStudyPerson spmodel)
        {
            try
            {
                // TODO: Add insert logic here

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
        //GET: EditStudyPerson
        public ActionResult EditStudyPerson(string PSCID, string StudyID, string Message)
        {
            CRUDStudyPerson crud = new CRUDStudyPerson();

            ViewBag.PSCID   = PSCID;
            ViewBag.StudyID = StudyID;
            StudyList_Bind();              //Supply look-up list to drop down box for study name
            GetParticipantTypeList_Bind(); //supply participant type look up list
            GenderList_Bind();
            if (Message != "")
            {
                ViewBag.Message = Message;
            }
            //return View(crud.GetStudyPerson(PSCID,StudyID));
            return(View(crud.GetStudyPersonList(PSCID, StudyID).Find(smodel => (smodel.PSCID == PSCID) && (smodel.StudyID == StudyID))));
        }
        public ActionResult AddStudyPerson(AddStudyPerson smodel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    CRUDStudyPerson cm = new CRUDStudyPerson();
                    if (cm.AddStudyPerson(smodel))
                    {
                        ViewBag.Message = "Study Participant Added Successfully";
                        ModelState.Clear();
                    }
                }

                //ViewBag.PSCID = smodel.PSCID;
                //ViewBag.StudyID = smodel.StudyID;
                //ViewBag.Message = smodel.Message;
                //return View("EditStudyPerson");

                return(Json(new
                {
                    redirecturl = Url.Action("EditStudyPerson", "StudyPersonSample", new { PSCID = smodel.PSCID, StudyID = smodel.StudyID, Message = smodel.Message })
                                  //redirecturl = "/BioSys/StudyPersonSample/EditStudyPerson?PSCID=" + smodel.PSCID + "&StudyID=" + smodel.StudyID + "&Message=" + smodel.Message
                }));
                //},
                //                JsonRequestBehavior.AllowGet);



                //return Json(new { redirecturl = "/StudyPersonSample/EditStudyPerson?PSCID=" + smodel.PSCID + "&StudyID=" + smodel.StudyID }, JsonRequestBehavior.AllowGet);
                //return View();
                //return RedirectToAction("EditStudyPerson", new
                //{
                //    PSCID = smodel.PSCID,
                //    StudyID = smodel.StudyID
                //}
                //                        );
                //return Redirect("/Home/Index");
                //return View("Index");
            }
            catch (Exception ex)
            {
                return(View("Error", new HandleErrorInfo(ex, "StudyPersonSample", "AddStudyPerson"))); //create error view
            }
        }
        public ActionResult GetStudyFormByID(string formBarcode, string pscId, string studyId)
        {
            //Check if PSCID is registered on Biobank system

            //
            CRUDStudyPerson csp    = new CRUDStudyPerson();
            int             Exists = csp.ExistsPersonByPSCIDAndStudy(pscId, studyId);

            if (Exists == 1)
            {
                CRUDModels       cm   = new CRUDModels();
                DataSet          ds   = cm.GetStudyFormByID(formBarcode);
                List <StudyForm> form = new List <StudyForm>();
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    form.Add(new StudyForm
                    {
                        FormID   = dr["FormID"].ToString(),
                        ViewName = dr["ViewName"].ToString()
                    });
                }

                return(Json(form, JsonRequestBehavior.AllowGet));
            }
            else
            {
                //Person not on database, then return view AddStudyPerson form

                List <StudyForm> form = new List <StudyForm>();
                form.Add(new StudyForm
                {
                    FormID   = "",
                    ViewName = "AddStudyPerson"
                });

                return(Json(form, JsonRequestBehavior.AllowGet));
            }
        }