/// <summary>
        /// The main page of physiologies for administrative purposes
        /// </summary>
        /// <returns>The physiologies admin page</returns>
        // GET: Physiologies
        public ActionResult Index()
        {
            PhysiologyServices   service      = new PhysiologyServices();
            List <PhysiologyDto> physiologies = service.GetAllUserPhysiologyHistory();

            return(View(physiologies));
        }
        /// <summary>
        /// The details of a specific physiology record
        /// </summary>
        /// <param name="id">The identifier of a specific physiology record</param>
        /// <param name="page">The page name/source</param>
        /// <returns>The details view</returns>
        // GET: Physiologies/Details/5
        public ActionResult Details(int id, string page)
        {
            PhysiologyServices phyService = new PhysiologyServices();
            PhysiologyDto      model      = phyService.FindPhysiologyRecord(id);

            model.Page = page;
            return(View(model));
        }
        public ActionResult Create(PhysiologyDto physiology)
        {
            if (ModelState.IsValid)
            {
                PhysiologyServices service = new PhysiologyServices();
                service.SaveCreate(physiology);
                return(RedirectToAction("GetUserPage", "Users", new { page = physiology.Page }));
            }

            return(View(physiology));
        }
        /// <summary>
        /// Lists the history of a user's physiology
        /// </summary>
        /// <param name="page">The page name/source</param>
        /// <returns>The partial view of physiology records</returns>
        public ActionResult ListPhysiologyHistory(string page)
        {
            PhysiologyServices phyService  = new PhysiologyServices();
            UserServices       userService = new UserServices();
            int userId = userService.GetUserIdOfCurrentPage(page);
            List <PhysiologyDto> phyModel = phyService.GetUserPhysiologyHistory(userId);

            ViewBag.UserId = userId;
            ViewBag.Page   = page;
            return(PartialView("_ListPhysiologyHistory", phyModel));
        }
        /// <summary>
        /// Renders the delete view
        /// </summary>
        /// <param name="id">The id of the physiology record to display</param>
        /// <param name="page">The page name/source</param>
        /// <returns>The delete view</returns>
        // GET: Physiologies/Delete/5
        public ActionResult Delete(int id, string page)
        {
            PhysiologyServices service  = new PhysiologyServices();
            PhysiologyDto      phyModel = service.FindPhysiologyRecord(id);

            if (phyModel == null)
            {
                return(HttpNotFound());
            }
            phyModel.Page = page;
            return(View(phyModel));
        }
 public ActionResult Edit(PhysiologyDto physiology)
 {
     if (ModelState.IsValid)
     {
         PhysiologyServices service = new PhysiologyServices();
         service.Edit(physiology);
         if (physiology.Page == null)
         {
             return(RedirectToAction("Index", "Physiologies"));
         }
         return(RedirectToAction("GetUserPage", "Users", new { page = physiology.Page }));
     }
     return(View(physiology));
 }
        public ActionResult DeleteConfirmed(PhysiologyDto physiology)
        {
            PhysiologyServices service = new PhysiologyServices();

            if (!service.Delete(physiology.PhyId))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (physiology.Page == null)
            {
                return(RedirectToAction("Index"));
            }

            return(RedirectToAction("GetUserPage", "Users", new { page = physiology.Page }));
        }