// GET: Respuesta_Empleado/Create
        public ActionResult CreateFromReclamacion(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Reclamacion reclamacion = db.Reclamacions.Find(id);

            if (reclamacion == null)
            {
                return(HttpNotFound());
            }
            RespuestaClienteReclamacionViewModel viewmodel = new RespuestaClienteReclamacionViewModel()
            {
                ReclamacionViewModel = new ReclamacionViewModel {
                    Reclamacion = reclamacion, Respuestas = new List <Respuesta>()
                },
                Respuesta_Cliente = new Respuesta_Cliente
                {
                    Reclamacion_ReclamacionID = reclamacion.QRID,
                    Estado_QR_Estado_OrigenID = reclamacion.Estado_QR_EstadoID
                }
            };

            AddListRespuestasReclamaciones(reclamacion, viewmodel);
            Respuesta_Cliente respuesta_Cliente = viewmodel.Respuesta_Cliente;


            AddViewBagCreate(respuesta_Cliente);

            return(View(viewmodel));
        }
        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));
        }
        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));
        }
Beispiel #4
0
        private void CreateReclamacion_Click(object sender, RoutedEventArgs e)
        {
            var asunto           = TxtAsunto.Text;
            var selectedProfesor = (Profesor)ComboBoxProfesor.SelectedValue;
            var contenido        = TxtContenido.Text;
            var alumno           = XamlBridge.CurrentUser.Persona1.Alumno;
            var numParte         = alumno.Reclamacion.Count;

            var reclamacion = new Reclamacion()
            {
                Asunto     = asunto,
                Alumno     = alumno.Persona,
                Alumno1    = alumno,
                Contenido  = contenido,
                NumParte   = numParte,
                DirigidoA  = selectedProfesor?.Trabajador,
                FechaEnvio = DateTime.Now,
            };

            StaticReferences.Context.ReclamacionDbSet.Add(reclamacion);
            StaticReferences.Context.SaveChanges();
            BackUpList = StaticReferences.Context.ReclamacionDbSet.ToList();
            UpdateDataGrid();
            Notification.CreateNotification("Se ha creado con exito");
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Reclamacion reclamacion = db.Reclamacions.Find(id);

            db.Reclamacions.Remove(reclamacion);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Id_Reclamacion,Tipo_Reclamacion,Categoria,Descripcion,Detalle,Ubicacion_Campus,Ubicacion_Edificio,Observador,Usuario,Fecha_Reclamacion,Estado")] Reclamacion reclamacion)
 {
     if (ModelState.IsValid)
     {
         db.Entry(reclamacion).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Categoria        = new SelectList(db.Categorias, "Id_Categoria", "Descripcion", reclamacion.Categoria);
     ViewBag.Observador       = new SelectList(db.Observadors, "Id_Observador", "Nombre", reclamacion.Observador);
     ViewBag.Tipo_Reclamacion = new SelectList(db.Tipo_Reclamacion, "Id_Tipo", "Descripcion", reclamacion.Tipo_Reclamacion);
     ViewBag.Usuario          = new SelectList(db.Usuarios, "Id_Usuario", "Nombre", reclamacion.Usuario);
     return(View(reclamacion));
 }
        // GET: Reclamacions/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Reclamacion reclamacion = db.Reclamacions.Find(id);

            if (reclamacion == null)
            {
                return(HttpNotFound());
            }
            return(View(reclamacion));
        }
        private void AddListRespuestasReclamaciones(Reclamacion reclamacion, RespuestaClienteReclamacionViewModel viewmodel)
        {
            int?id_reclamacion = reclamacion.QRID;
            List <Respuesta_Empleado> respuesta_Empleados = db.Respuesta_Empleados.Where(e => e.Reclamacion_ReclamacionID == id_reclamacion).ToList();
            List <Respuesta_Cliente>  respuesta_Clientes  = db.Respuesta_Clientes.Where(e => e.Reclamacion_ReclamacionID == id_reclamacion).ToList();

            if (viewmodel.ReclamacionViewModel.Respuestas == null)
            {
                viewmodel.ReclamacionViewModel.Respuestas = new List <Respuesta>();
            }
            viewmodel.ReclamacionViewModel.Respuestas.AddRange(respuesta_Clientes);
            viewmodel.ReclamacionViewModel.Respuestas.AddRange(respuesta_Empleados);
            viewmodel.ReclamacionViewModel.Respuestas.Sort(ModelHelpers.CompareRespuestas);
        }
 public ActionResult Edit([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)
     {
         db.Entry(reclamacion).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     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));
 }
        // GET: Reclamacions/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Reclamacion reclamacion = db.Reclamacions.Find(id);

            if (reclamacion == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Categoria        = new SelectList(db.Categorias, "Id_Categoria", "Descripcion", reclamacion.Categoria);
            ViewBag.Observador       = new SelectList(db.Observadors, "Id_Observador", "Nombre", reclamacion.Observador);
            ViewBag.Tipo_Reclamacion = new SelectList(db.Tipo_Reclamacion, "Id_Tipo", "Descripcion", reclamacion.Tipo_Reclamacion);
            ViewBag.Usuario          = new SelectList(db.Usuarios, "Id_Usuario", "Nombre", reclamacion.Usuario);
            return(View(reclamacion));
        }
 private static RespuestaEmpleadoReclamacionViewModel InitializeRERViewModel(Reclamacion reclamacion)
 {
     return(new RespuestaEmpleadoReclamacionViewModel()
     {
         ReclamacionViewModel = new ReclamacionViewModel
         {
             Reclamacion = reclamacion,
             Respuestas = new List <Respuesta>()
         },
         Respuesta_Empleado = new Respuesta_Empleado
         {
             Reclamacion_ReclamacionID = reclamacion.QRID,
             Departamento_Departamento_OrigenID = reclamacion.Departamento_DepartamentoID,
             Empleado_Empleado_OrigenID = reclamacion.Empleado_EmpleadoID,
             Sucursal_Sucursal_OrigenID = reclamacion.Sucursal_SucursalID,
             Estado_QR_Estado_OrigenID = reclamacion.Estado_QR_EstadoID
         }
     });
 }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Reclamacion reclamacion = db.Reclamacions.Find(id);

            if (reclamacion == null)
            {
                return(HttpNotFound());
            }
            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));
        }
        public ActionResult CreateFromReclamacion(RespuestaClienteReclamacionViewModel viewModel)
        {
            Respuesta_Cliente respuesta_Cliente = viewModel.Respuesta_Cliente;
            Reclamacion       reclamacion       = db.Reclamacions.Find(viewModel.ReclamacionViewModel.Reclamacion.QRID);

            respuesta_Cliente.Reclamacion_ReclamacionID = reclamacion.QRID;

            if (ValoracionInvalida(respuesta_Cliente))
            {
                RestartRespuestaClienteReclamacionViewModel(viewModel, respuesta_Cliente, reclamacion);
                ModelState.AddModelError("", "Valoración inválida");
                return(View(viewModel));
            }
            if (EstadoInvalido(respuesta_Cliente))
            {
                RestartRespuestaClienteReclamacionViewModel(viewModel, respuesta_Cliente, reclamacion);
                ModelState.AddModelError("", "Estado inválido");
                return(View(viewModel));
            }



            if (ModelState.IsValid)
            {
                respuesta_Cliente.Fecha = DateTime.Now;

                reclamacion.Estado_QR_EstadoID = respuesta_Cliente.Estado_QR_Estado_DestinoID;

                db.Respuesta_Clientes.Add(respuesta_Cliente);
                db.Entry(reclamacion).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index", "Reclamacions"));
            }

            RestartRespuestaClienteReclamacionViewModel(viewModel, respuesta_Cliente, reclamacion);
            return(View(viewModel));
        }
        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));
        }
        private void RestartRespuestaClienteReclamacionViewModel(RespuestaClienteReclamacionViewModel viewModel, Respuesta_Cliente respuesta_Cliente, Reclamacion reclamacion)
        {
            viewModel.ReclamacionViewModel.Reclamacion = reclamacion;

            AddListRespuestasReclamaciones(reclamacion, viewModel);
            AddViewBagCreatePost(respuesta_Cliente);
        }