public ActionResult ConsultarReserva()
        {
            DateTime fecha = DateTime.Now.Date;

            if (fecha.DayOfWeek == DayOfWeek.Saturday)
                fecha = DateTime.Now.AddDays(2).Date;
            else if (fecha.DayOfWeek == DayOfWeek.Sunday)
                fecha = DateTime.Now.AddDays(1).Date;

            MesasModel modelo = new MesasModel();
            modelo.getMesasGarzon(fecha, false);

            ViewBag.Fecha = fecha.ToString("dd-MM-yyy");

            return View(modelo);
        }
        public ActionResult ConsultarReserva(MesasModel modelo)
        {
            string date = Request.Form["__DATE"];
            string operacion = Request.Form["op"];
            MesasModel _modelo = new MesasModel();

            DateTime fecha = DateTime.Now.Date;

            if (fecha.DayOfWeek == DayOfWeek.Saturday)
                fecha = DateTime.Now.AddDays(2).Date;
            else if (fecha.DayOfWeek == DayOfWeek.Sunday)
                fecha = DateTime.Now.AddDays(1).Date;

            if (date != null)
            {

                _modelo.getMesasGarzon(DateTime.Parse(date), modelo.horario);//DateTime.Parse(date)
                ViewBag.Fecha = _modelo.fecha.ToString("dd-MM-yyy");
            }
            return View(_modelo);
        }
        public ActionResult VerPedidos(MesasModel modelo)
        {
            short cod_reserva = Int16.Parse(Request.Form["id_reserva"]);

            DateTime fecha = DateTime.Now.Date;
            bool horario = true;
            if (fecha.Hour < 17)
                horario = false;

            int resp = modelo.PrepararPedido(cod_reserva);

            if (resp == 1)
                TempData.Add("Resp", "El pedido se ha actualizado con éxito");
            else if (resp == -1)
                TempData.Add("Resp", "No ha sido posible actualizar el pedido");

            modelo.getMesasCocinero(fecha, horario);

            return View(modelo);
        }
        public ActionResult VerPedidos()
        {
            DateTime fecha = DateTime.Now.Date;
            bool horario = true;
            if(fecha.Hour < 17)
                horario = false;

            MesasModel modelo = new MesasModel();
            modelo.getMesasCocinero(fecha, horario);

            return View(modelo);
        }
        public ActionResult GestionarMesas(MesasModel mesas)
        {
            string operacion = Request.Form["op"];

            if (operacion == "add")
            {
                string pos_x = Request.Form["x_mesa"];
                string pos_y = Request.Form["y_mesa"];
                string cant_max = Request.Form["max_mesa"];

                Mesa new_mesa = new Mesa();

                new_mesa.pos_x = Int16.Parse(pos_x);
                new_mesa.pos_y = Int16.Parse(pos_y);
                new_mesa.cant_maxima = Int16.Parse(cant_max);

                try
                {
                    new_mesa.RegistrarMesa();
                }
                catch
                {
                    ViewBag.ERROR = "La operación no ha podido realizarse";
                }

            }
            else if (operacion == "rm")
            {
                string id_mesa = Request.Form["id_mesa"];
                string pos_x = Request.Form["x_mesa"];
                string pos_y = Request.Form["y_mesa"];

                Mesa _mesa = new Mesa();

                _mesa.id_mesa = Int16.Parse(id_mesa);

                try
                {
                    _mesa.UpdateMesa(Int16.Parse(pos_x),Int16.Parse(pos_x));
                }
                catch
                {
                    ViewBag.ERROR = "La operación no ha podido realizarse";
                }

            }
            else if (operacion == "mv")
            {

            }

            MesasModel _mesas = new MesasModel();
            try
            {
                _mesas.getMesas();
            }
            catch (Exception e)
            {

            }
            return View(_mesas);
        }
        public ActionResult GestionarMesas()
        {
            MesasModel mesas = new MesasModel();
            try
            {
                mesas.getMesas();
            }
            catch (Exception e)
            {

            }
            return View(mesas);
        }
        public ActionResult HacerReserva(MesasModel modelo)
        {
            string date = Request.Form["__DATE"];
            string operacion = Request.Form["op"];
            MesasModel _modelo = new MesasModel();

            DateTime fecha = DateTime.Now.Date;

            if (fecha.DayOfWeek == DayOfWeek.Saturday)
                fecha = DateTime.Now.AddDays(2).Date;
            else if (fecha.DayOfWeek == DayOfWeek.Sunday)
                fecha = DateTime.Now.AddDays(1).Date;

            if (date != null)
            {
                if (operacion == "mk")
                {
                    // IDENTIFICAR SI LA FECHA ACTUAL ES POR LO MENOS 2 DÍAS ANTES DE LA RESERVA
                    if (DateTime.Now.Date < DateTime.Parse(date).AddDays(-1).Date)
                    {
                        Int16 mesa_id = Int16.Parse(Request.Form["id_mesa"]);
                        short num_comen = Int16.Parse(Request.Form["num_comen"]);
                        string rut = User.Identity.Name;
                        bool horario = modelo.horario;
                        string obs = Request.Form["obs"];

                        // Intentando agregar a DB
                        LinqDBDataContext db = new LinqDBDataContext();

                        int respuesta = (Int32)db.MK_RESERVA(rut,
                                                            mesa_id,
                                                            DateTime.Parse(date),
                                                            horario,
                                                            num_comen,
                                                            obs).ReturnValue;
                        if (respuesta == 2)
                            ViewBag.RESP = "No puede reservar dos veces para el mismo momento";
                        else if (respuesta == 1)
                            ViewBag.RESP = "La reserva se ha realizado con éxito";
                        else if (respuesta == 0)
                            ViewBag.RESP = "Ya existe una reserva hecha en dicha mesa";
                        else if (respuesta == -1)
                        {
                            ViewBag.RESP = "No tienes invitaciones para realizar una reserva";
                        }
                        else
                        {
                            ViewBag.RESP = "Ha ocurrido un error desconocido :(";
                        }
                    }
                    else
                    {
                        ViewBag.RESP = "Debe reservar por lo menos dos días antes de la fecha que desea reservar";
                    }
                }

                _modelo.getMesasReserva(DateTime.Parse(date), modelo.horario);//DateTime.Parse(date)
                ViewBag.Fecha = _modelo.fecha.ToString("dd-MM-yyy");
            }

            return View(_modelo);
        }