private void AddParametrosDestinoPorEstado(Empleado empleado, Respuesta_Empleado respuesta_Empleado)
        {
            Estado_QR_Helper estado_QR_Helper = new Estado_QR_Helper();

            if (respuesta_Empleado.Estado_QR_Estado_DestinoID == estado_QR_Helper.GetEstadoByDescripcion(Estado_QR_Helper.PENDIENTE_VALORACION).EstadoID)
            {
                respuesta_Empleado.Empleado_Empleado_DestinoID         = empleado.PersonaID;
                respuesta_Empleado.Departamento_Departamento_DestinoID = empleado.Departamento_DepartamentoID;
                respuesta_Empleado.Sucursal_Sucursal_DestinoID         = empleado.Sucursal_SucursalID;
            }
            if (respuesta_Empleado.Estado_QR_Estado_DestinoID == estado_QR_Helper.GetEstadoByDescripcion(Estado_QR_Helper.REDIRIGIDO_DEPARTAMENTO).EstadoID)
            {
                respuesta_Empleado.Sucursal_Sucursal_DestinoID = empleado.Sucursal_SucursalID;
                respuesta_Empleado.Empleado_Empleado_DestinoID = null;
            }
            if (respuesta_Empleado.Estado_QR_Estado_DestinoID == estado_QR_Helper.GetEstadoByDescripcion(Estado_QR_Helper.REDIRIGIDO_SUCURSAL).EstadoID)
            {
                respuesta_Empleado.Departamento_Departamento_DestinoID = CheckNull(respuesta_Empleado.Departamento_Departamento_DestinoID, respuesta_Empleado.Departamento_Departamento_OrigenID);
                respuesta_Empleado.Empleado_Empleado_DestinoID         = null;
            }
            if (respuesta_Empleado.Estado_QR_Estado_DestinoID == estado_QR_Helper.GetEstadoByDescripcion(Estado_QR_Helper.REDIRIGIDO_EMPLEADO).EstadoID)
            {
                Empleado empleado_Destino = db.Empleados.Find(respuesta_Empleado.Empleado_Empleado_DestinoID);
                respuesta_Empleado.Departamento_Departamento_DestinoID = empleado_Destino.Departamento_DepartamentoID;
                respuesta_Empleado.Sucursal_Sucursal_DestinoID         = empleado_Destino.Sucursal_SucursalID;
            }
            if (respuesta_Empleado.Estado_QR_Estado_DestinoID == estado_QR_Helper.GetEstadoByDescripcion(Estado_QR_Helper.CERRADO).EstadoID)
            {
                respuesta_Empleado.Empleado_Empleado_DestinoID         = empleado.PersonaID;
                respuesta_Empleado.Departamento_Departamento_DestinoID = empleado.Departamento_DepartamentoID;
                respuesta_Empleado.Sucursal_Sucursal_DestinoID         = empleado.Sucursal_SucursalID;
            }
        }
        public ActionResult Create([Bind(Include = "QRID,Tipo_Reclamacion_TipoID,UserNameID,Fecha,Comentario,Cliente_ClienteID,Departamento_DepartamentoID,Empleado_EmpleadoID,Estado_QR_EstadoID,Sucursal_SucursalID")] Reclamacion reclamacion)
        {
            if (ModelState.IsValid)
            {
                if (!User.IsInRole(Roles.Admin))
                {
                    Estado_QR_Helper estado_helper = new Estado_QR_Helper();
                    reclamacion.Estado_QR_EstadoID = estado_helper.GetEstadoByDescripcion(Estado_QR_Helper.ABIERTO).EstadoID;
                }

                reclamacion.Fecha = DateTime.Now;
                db.Reclamacions.Add(reclamacion);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.UserNameID                  = User.Identity.GetUserId();
            ViewBag.Cliente_ClienteID           = new SelectList(db.Clientes, "PersonaID", "Identificacion", reclamacion.Cliente_ClienteID);
            ViewBag.Departamento_DepartamentoID = new SelectList(db.Departamentos, "DepartamentoID", "Nombre", reclamacion.Departamento_DepartamentoID);
            ViewBag.Empleado_EmpleadoID         = new SelectList(db.Empleados, "PersonaID", "Identificacion", reclamacion.Empleado_EmpleadoID);
            ViewBag.Estado_QR_EstadoID          = new SelectList(db.Estado_QRs, "EstadoID", "Descripcion", reclamacion.Estado_QR_EstadoID);
            ViewBag.Sucursal_SucursalID         = new SelectList(db.Sucursals, "SucursalID", "Nombre", reclamacion.Sucursal_SucursalID);
            ViewBag.Tipo_Reclamacion_TipoID     = new SelectList(db.Tipo_Reclamacions, "TipoID", "Descripcion", reclamacion.Tipo_Reclamacion_TipoID);
            return(View(reclamacion));
        }
        private static bool EstadoInvalido(Respuesta_Cliente respuesta_Cliente)
        {
            Estado_QR_Helper helper          = new Estado_QR_Helper();
            bool             EstadoReabierto = respuesta_Cliente.Estado_QR_Estado_DestinoID == helper.GetEstadoByDescripcion(Estado_QR_Helper.REABIERTO_DISCONFORMIDAD).EstadoID;
            bool             EstadoCerrado   = respuesta_Cliente.Estado_QR_Estado_DestinoID == helper.GetEstadoByDescripcion(Estado_QR_Helper.CERRADO).EstadoID;

            //Debe ser falso si es uno de los estados válidos
            return(!(EstadoReabierto || EstadoCerrado));
        }