public ActionResult CreateFromReclamacion(RespuestaEmpleadoReclamacionViewModel viewModel)
        {
            string             id                 = User.Identity.GetUserId();
            Empleado           empleado           = db.Empleados.Where(e => e.UserNameID == id).FirstOrDefault <Empleado>();
            Respuesta_Empleado respuesta_Empleado = viewModel.Respuesta_Empleado;
            Reclamacion        reclamacion        = db.Reclamacions.Find(viewModel.ReclamacionViewModel.Reclamacion.QRID);

            if (ModelState.IsValid)
            {
                respuesta_Empleado.Reclamacion_ReclamacionID = reclamacion.QRID;
                respuesta_Empleado.Fecha = DateTime.Now;

                AddParametrosDestinoPorEstado(empleado, respuesta_Empleado);


                respuesta_Empleado.Empleado_Empleado_OrigenID = empleado.PersonaID;
                reclamacion.Estado_QR_EstadoID          = respuesta_Empleado.Estado_QR_Estado_DestinoID;
                reclamacion.Sucursal_SucursalID         = respuesta_Empleado.Sucursal_Sucursal_DestinoID;
                reclamacion.Departamento_DepartamentoID = respuesta_Empleado.Departamento_Departamento_DestinoID;
                reclamacion.Empleado_EmpleadoID         = respuesta_Empleado.Empleado_Empleado_DestinoID;
                db.Respuesta_Empleados.Add(respuesta_Empleado);
                db.Entry(reclamacion).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index", "Reclamacions"));
            }

            AddViewBagPostCreate(respuesta_Empleado);

            return(View(viewModel));
        }
        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;
            }
        }
 private void AddViewBagPostCreate(Respuesta_Empleado respuesta_Empleado)
 {
     ViewBag.ID_Departamento_Destino = new SelectList(db.Departamentos, "DepartamentoID", "Nombre", respuesta_Empleado.Departamento_Departamento_DestinoID);
     ViewBag.ID_Empleado_Destino     = new SelectList(db.Empleados, "PersonaID", "Identificacion", respuesta_Empleado.Empleado_Empleado_DestinoID);
     ViewBag.ID_Estado_Destino       = new SelectList(db.Estado_QRs, "EstadoID", "Descripcion", respuesta_Empleado.Estado_QR_Estado_DestinoID);
     ViewBag.ID_Sucursal_Destino     = new SelectList(db.Sucursals, "SucursalID", "Nombre", respuesta_Empleado.Sucursal_Sucursal_DestinoID);
 }
        public ActionResult DeleteConfirmed(int id)
        {
            Respuesta_Empleado respuesta_Empleado = db.Respuesta_Empleados.Find(id);

            db.Respuesta_Empleados.Remove(respuesta_Empleado);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Respuesta_Empleado respuesta_Empleado = db.Respuesta_Empleados.Find(id);

            if (respuesta_Empleado == null)
            {
                return(HttpNotFound());
            }
            return(View(respuesta_Empleado));
        }
 public ActionResult Edit([Bind(Include = "RespuestaID,Departamento_Departamento_OrigenID,Departamento_Departamento_DestinoID,Empleado_Empleado_OrigenID,Empleado_Empleado_DestinoID,Sucursal_Sucursal_OrigenID,Sucursal_Sucursal_DestinoID,Fecha,Detalle,Estado_QR_Estado_OrigenID,Estado_QR_Estado_DestinoID,Queja_QuejaID,Reclamacion_ReclamacionID")] Respuesta_Empleado respuesta_Empleado)
 {
     if (ModelState.IsValid)
     {
         db.Entry(respuesta_Empleado).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Departamento_Departamento_DestinoID = new SelectList(db.Departamentos, "DepartamentoID", "Nombre", respuesta_Empleado.Departamento_Departamento_DestinoID);
     ViewBag.Departamento_Departamento_OrigenID  = new SelectList(db.Departamentos, "DepartamentoID", "Nombre", respuesta_Empleado.Departamento_Departamento_OrigenID);
     ViewBag.Empleado_Empleado_DestinoID         = new SelectList(db.Empleados, "PersonaID", "Identificacion", respuesta_Empleado.Empleado_Empleado_DestinoID);
     ViewBag.Empleado_Empleado_OrigenID          = new SelectList(db.Empleados, "PersonaID", "Identificacion", respuesta_Empleado.Empleado_Empleado_OrigenID);
     ViewBag.Estado_QR_Estado_DestinoID          = new SelectList(db.Estado_QRs, "EstadoID", "Descripcion", respuesta_Empleado.Estado_QR_Estado_DestinoID);
     ViewBag.Estado_QR_Estado_OrigenID           = new SelectList(db.Estado_QRs, "EstadoID", "Descripcion", respuesta_Empleado.Estado_QR_Estado_OrigenID);
     ViewBag.Queja_QuejaID               = new SelectList(db.Quejas, "QRID", "QRID", respuesta_Empleado.Queja_QuejaID);
     ViewBag.Reclamacion_ReclamacionID   = new SelectList(db.Reclamacions, "QRID", "QRID", respuesta_Empleado.Reclamacion_ReclamacionID);
     ViewBag.Sucursal_Sucursal_DestinoID = new SelectList(db.Sucursals, "SucursalID", "Nombre", respuesta_Empleado.Sucursal_Sucursal_DestinoID);
     ViewBag.Sucursal_Sucursal_OrigenID  = new SelectList(db.Sucursals, "SucursalID", "Nombre", respuesta_Empleado.Sucursal_Sucursal_OrigenID);
     return(View(respuesta_Empleado));
 }
        // GET: Respuesta_Empleado/Create
        public ActionResult CreateFromQueja(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Queja queja = db.Quejas.Find(id);

            if (queja == null)
            {
                return(HttpNotFound());
            }
            RespuestaEmpleadoQuejaViewModel viewmodel = InitializeREQViewModel(queja);

            int?id_queja = queja.QRID;

            AddListRespuestasQueja(viewmodel, id_queja);

            Respuesta_Empleado respuesta_Empleado = viewmodel.Respuesta_Empleado;

            AddViewBagCreate(respuesta_Empleado);

            return(View(viewmodel));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Respuesta_Empleado respuesta_Empleado = db.Respuesta_Empleados.Find(id);

            if (respuesta_Empleado == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Departamento_Departamento_DestinoID = new SelectList(db.Departamentos, "DepartamentoID", "Nombre", respuesta_Empleado.Departamento_Departamento_DestinoID);
            ViewBag.Departamento_Departamento_OrigenID  = new SelectList(db.Departamentos, "DepartamentoID", "Nombre", respuesta_Empleado.Departamento_Departamento_OrigenID);
            ViewBag.Empleado_Empleado_DestinoID         = new SelectList(db.Empleados, "PersonaID", "Identificacion", respuesta_Empleado.Empleado_Empleado_DestinoID);
            ViewBag.Empleado_Empleado_OrigenID          = new SelectList(db.Empleados, "PersonaID", "Identificacion", respuesta_Empleado.Empleado_Empleado_OrigenID);
            ViewBag.Estado_QR_Estado_DestinoID          = new SelectList(db.Estado_QRs, "EstadoID", "Descripcion", respuesta_Empleado.Estado_QR_Estado_DestinoID);
            ViewBag.Estado_QR_Estado_OrigenID           = new SelectList(db.Estado_QRs, "EstadoID", "Descripcion", respuesta_Empleado.Estado_QR_Estado_OrigenID);
            ViewBag.Queja_QuejaID               = new SelectList(db.Quejas, "QRID", "QRID", respuesta_Empleado.Queja_QuejaID);
            ViewBag.Reclamacion_ReclamacionID   = new SelectList(db.Reclamacions, "QRID", "QRID", respuesta_Empleado.Reclamacion_ReclamacionID);
            ViewBag.Sucursal_Sucursal_DestinoID = new SelectList(db.Sucursals, "SucursalID", "Nombre", respuesta_Empleado.Sucursal_Sucursal_DestinoID);
            ViewBag.Sucursal_Sucursal_OrigenID  = new SelectList(db.Sucursals, "SucursalID", "Nombre", respuesta_Empleado.Sucursal_Sucursal_OrigenID);
            return(View(respuesta_Empleado));
        }
        public ActionResult CreateFromReclamacion(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Reclamacion reclamacion = db.Reclamacions.Find(id);

            if (reclamacion == null)
            {
                return(HttpNotFound());
            }
            RespuestaEmpleadoReclamacionViewModel viewmodel = InitializeRERViewModel(reclamacion);

            int?id_reclamacion = reclamacion.QRID;

            AddListRespuestasReclamacion(viewmodel, id_reclamacion);
            Respuesta_Empleado respuesta_Empleado = viewmodel.Respuesta_Empleado;

            AddViewBagCreate(respuesta_Empleado);


            return(View(viewmodel));
        }