public IActionResult ProceduresQueue(OutpatientQueueViewModel model)
        {
            model.Types = ICoreService.GetRoomsIEnumerable(new RoomType {
                Id = Constants.ROOM_PROCEDURE
            });

            string room = HttpContext.Request.Cookies["procedures.room"];

            if (string.IsNullOrEmpty(room) && model.Types.Count > 0)
            {
                room = model.Types[0].Value;
                CookieOptions opts = new CookieOptions {
                    Expires = DateTime.Now.AddMonths(3),
                    Secure  = true
                };
                HttpContext.Response.Cookies.Append("procedures.room", room, opts);
            }
            else if (string.IsNullOrEmpty(room))
            {
                room = "0";
            }

            model.Room  = ICoreService.GetRoom(Convert.ToInt64(room));
            model.Queue = IOutpatientService.GetQueue(model.Room, DateTime.Now);

            return(View(model));
        }
        public IActionResult TriageQueue(OutpatientQueueViewModel model, string date = "", string error = "")
        {
            model.Types = ICoreService.GetRoomsIEnumerable(new RoomType {
                Id = Constants.ROOM_TRIAGE
            });

            DateTime queueDate = DateTime.Now;
            string   room      = HttpContext.Request.Cookies["triage.room"];

            if (string.IsNullOrEmpty(room) && model.Types.Count > 0)
            {
                room = model.Types[0].Value;
                CookieOptions opts = new CookieOptions {
                    Expires = DateTime.Now.AddMonths(3),
                    Secure  = true
                };
                HttpContext.Response.Cookies.Append("triage.room", room, opts);
            }
            else if (string.IsNullOrEmpty(room))
            {
                room = "0";
            }

            if (error == "1011")
            {
                model.Message = "Invalid patient. Queue request didn't match the passed patient";
            }
            if (!string.IsNullOrEmpty(date))
            {
                queueDate = DateTime.ParseExact(date, "dd/MM/yyyy", CultureInfo.InvariantCulture);
            }

            model.Date  = queueDate.ToString("dd/MM/yyyy");
            model.Room  = ICoreService.GetRoom(Convert.ToInt64(room));
            model.Queue = IOutpatientService.GetQueue(model.Room, queueDate);

            return(View(model));
        }