예제 #1
0
        // GET: Casos/EnProceso
        public ActionResult EnProceso()
        {
            LogicaDeNegocios.CoordinadorDeCasos          coordinadorDeCasos          = new LogicaDeNegocios.CoordinadorDeCasos();
            LogicaDeNegocios.CoordinadorDeEmpleados      coordinadorDeEmpleados      = new LogicaDeNegocios.CoordinadorDeEmpleados();
            LogicaDeNegocios.CoordinadorDeCasosAsignados coordinadorDeCasosAsignados = new LogicaDeNegocios.CoordinadorDeCasosAsignados();
            Models.ModeloCasos model = new Models.ModeloCasos();

            List <Models.ModeloCasos>         listaModel     = new List <Models.ModeloCasos>();
            List <Model.CasoEmpleadoAsignado> lista          = new List <Model.CasoEmpleadoAsignado>();
            List <Model.Casos> listaDeCasosEnEstadoEnProceso = coordinadorDeCasos.ObtenerCasosEnEstadoEnProceso();

            foreach (Model.Casos caso in listaDeCasosEnEstadoEnProceso)
            {
                List <Model.CasoEmpleadoAsignado> casosAsignados = coordinadorDeCasosAsignados.ObtenerCasoAsignadoPorIdCaso(caso.Id);

                if (casosAsignados.Last() != null)
                {
                    Model.Empleados empleado = coordinadorDeEmpleados.ObtenerEmpleadoPorId(casosAsignados.Last().IdEmpleados);

                    model.Id               = caso.Id;
                    model.Estado           = caso.Estado;
                    model.FechaCreacion    = caso.FechaCreacion;
                    model.NombreContacto   = caso.NombreContacto;
                    model.TelefonoContacto = caso.TelefonoContacto;
                    model.Nivel            = caso.Nivel;
                    model.Identificacion   = empleado.Identificacion;
                }
                listaModel.Add(model);
            }

            return(View(listaModel));
        }
예제 #2
0
        // GET: Casos/Edit/5
        public ActionResult Editar(int id)
        {
            LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();

            Model.Casos        caso  = coordinador.ObtenerCasoPorId(id);
            Models.ModeloCasos model = new Models.ModeloCasos();

            model.DescripcionProblema = caso.DescripcionProblema;
            model.DireccionContacto   = caso.DireccionContacto;
            model.Nivel             = caso.Nivel;
            model.NombreContacto    = caso.NombreContacto;
            model.ProvinciaContacto = caso.ProvinciaContacto;
            model.TelefonoContacto  = caso.TelefonoContacto;

            List <int> listaDeNiveles = new List <int>();

            listaDeNiveles = coordinador.ObtenerNivelesDeCriticidad();

            List <int> listaDeProvincias = new List <int>();

            listaDeProvincias = coordinador.ObtenerProvincias();

            model.ListaDeNivelesDeCriticidad = listaDeNiveles;
            model.ListaDeProvincias          = listaDeProvincias;

            if (caso == null)
            {
                return(HttpNotFound());
            }

            else
            {
                return(View(model));
            }
        }
예제 #3
0
        public ActionResult PonerEnProceso(int id, Models.ModeloCasos empleado)
        {
            try
            {
                // TODO: Add delete logic here
                LogicaDeNegocios.CoordinadorDeCasos     coordinadorDeCasos     = new LogicaDeNegocios.CoordinadorDeCasos();
                LogicaDeNegocios.CoordinadorDeEmpleados coordinadorDeEmpleados = new LogicaDeNegocios.CoordinadorDeEmpleados();

                Model.Empleados elEmpleado = coordinadorDeEmpleados.ObtenerEmpleadoPorId(empleado.IdEmpleado);

                Boolean sehaPodidoPonerEnProcesoElCaso = coordinadorDeCasos.PonerEnProceso(id, elEmpleado.Id);

                if (sehaPodidoPonerEnProcesoElCaso)
                {
                    return(RedirectToAction("Edicion"));
                }

                else
                {
                    return(View());
                }
            }
            catch
            {
                return(View());
            }
        }
예제 #4
0
        // GET: Casos/Expirados
        public ActionResult Expirados()
        {
            LogicaDeNegocios.CoordinadorDeCasos coordinadorDeCasos = new LogicaDeNegocios.CoordinadorDeCasos();

            List <Model.Casos> listaDeCasosQueSobrepasanTiempoDeAtencion = coordinadorDeCasos.ObtenerCasosQueExcedenTiempoParaPasarAenProceso();

            return(View(listaDeCasosQueSobrepasanTiempoDeAtencion));
        }
예제 #5
0
        // GET: Casos/Eliminados
        public ActionResult Eliminados()
        {
            LogicaDeNegocios.CoordinadorDeCasos coordinadorDeCasos = new LogicaDeNegocios.CoordinadorDeCasos();

            List <Model.Casos> listaDeCasosEnEstadoEliminado = coordinadorDeCasos.ObtenerCasosEnEstadoEliminado();

            return(View(listaDeCasosEnEstadoEliminado));
        }
예제 #6
0
        public void DebePermitiPonerEnProcesoUnCaso()
        {
            LogicaDeNegocios.CoordinadorDeCasos     coordinadorDeCasos     = new LogicaDeNegocios.CoordinadorDeCasos();
            LogicaDeNegocios.CoordinadorDeEmpleados coordinadorDeEmpleados = new CoordinadorDeEmpleados();

            Model.Empleados empleado = coordinadorDeEmpleados.ObtenerEmpleadoPorId(1);

            coordinadorDeCasos.PonerEnProceso(1, empleado);
        }
예제 #7
0
        public ActionResult HistorialDeCasosAsignados(int id)
        {
            LogicaDeNegocios.CoordinadorDeCasosAsignados coordinadorDeCasosAsignados = new LogicaDeNegocios.CoordinadorDeCasosAsignados();
            LogicaDeNegocios.CoordinadorDeCasos          coordinadorDeCasos          = new LogicaDeNegocios.CoordinadorDeCasos();

            List <Model.Casos> HistorialDeCasosAsignadosAunEmpleado = coordinadorDeCasosAsignados.ObtenerHistorialDeCasosDeUnEmpleado(id);

            return(View(HistorialDeCasosAsignadosAunEmpleado));
        }
예제 #8
0
        public void DebePermitirRechazarUnCaso()
        {
            LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();
            Model.Casos caso = coordinador.ObtenerCasoPorId(3);

            caso.MotivoRechazo = "4";

            coordinador.Rechazar(caso);
        }
예제 #9
0
        // GET: Persona/Delete/5
        public ActionResult Terminar(int id)
        {
            LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();
            Model.Casos caso;

            caso = coordinador.ObtenerCasoPorId(id);

            return(View(caso));
        }
예제 #10
0
        public void DebePermitirEditarUnCaso()
        {
            LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();
            Model.Casos caso = coordinador.ObtenerCasoPorId(1);

            caso.DescripcionProblema = "Problema de violencia";
            caso.TelefonoContacto    = "77777777";

            coordinador.Editar(caso);
        }
예제 #11
0
        public void DebePermitirTerminarUnCaso()
        {
            LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();
            Model.Casos caso = coordinador.ObtenerCasoPorId(5);

            caso.DescripcionResolucion   = "5";
            caso.ObservacionesResolucion = "5";
            caso.FechaResolucion         = DateTime.Now;

            coordinador.Terminar(caso);
        }
예제 #12
0
        // GET: Persona/Delete/5
        public ActionResult PonerEnProceso(int id)
        {
            Models.ModeloCasos model = new Models.ModeloCasos();
            LogicaDeNegocios.CoordinadorDeEmpleados coordinadorDeEmpleados = new LogicaDeNegocios.CoordinadorDeEmpleados();
            LogicaDeNegocios.CoordinadorDeCasos     coordinadorDeCasos     = new LogicaDeNegocios.CoordinadorDeCasos();

            Model.Casos            caso      = coordinadorDeCasos.ObtenerCasoPorId(id);
            List <Model.Empleados> empleados = coordinadorDeEmpleados.ObtenerTodosLosEmpleados();

            model.Id = caso.Id;
            model.ListaDeEmpleados = empleados;
            return(View(model));
        }
예제 #13
0
        public void DebeInformarSiUnCasoExcedioTiempoParaPasarAenProceso()
        {
            LogicaDeNegocios.CoordinadorDeCasos     coordinadorDeCasos     = new LogicaDeNegocios.CoordinadorDeCasos();
            LogicaDeNegocios.CoordinadorDeEmpleados coordinadorDeEmpleados = new CoordinadorDeEmpleados();

            Model.Empleados empleado = coordinadorDeEmpleados.ObtenerEmpleadoPorId(1);

            Boolean haExcedidoTiempoMaximo = coordinadorDeCasos.PonerEnProceso(2, empleado);

            if (haExcedidoTiempoMaximo)
            {
                Console.WriteLine("Ha excedido el tiempo máximo para pasar a estado en proceso");
            }
        }
예제 #14
0
        public ActionResult Reactivar(int id, Model.Casos caso)
        {
            try
            {
                // TODO: Add delete logic here
                LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();

                coordinador.Reactivar(id);

                return(RedirectToAction("Edicion"));
            }
            catch
            {
                return(View());
            }
        }
예제 #15
0
        public void DebePermitirAgregarUnNuevoCaso()
        {
            LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();
            Model.Casos caso = new Model.Casos();

            caso.DescripcionProblema = "Descripcion del caso";
            caso.Nivel = (int)NivelDeCriticidad.Bajo;

            DateTime Hoy = DateTime.Now;

            caso.FechaCreacion = Hoy;

            caso.NombreContacto    = "carlos";
            caso.TelefonoContacto  = "88888888";
            caso.ProvinciaContacto = (int)Provincia.Guanacaste;
            caso.DireccionContacto = "Cañas";

            coordinador.Agregar(caso);
        }
예제 #16
0
        public ActionResult Terminar(int id, Model.Casos caso)
        {
            try
            {
                // TODO: Add delete logic here
                LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();
                Model.Casos elCaso = coordinador.ObtenerCasoPorId(id);

                elCaso.DescripcionResolucion = caso.DescripcionResolucion;

                coordinador.Terminar(caso);

                return(RedirectToAction("EnProceso"));
            }
            catch
            {
                return(View());
            }
        }
예제 #17
0
        public ActionResult Rechazar(int id, Model.Casos caso)
        {
            try
            {
                // TODO: Add delete logic here
                LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();
                Model.Casos elCaso = coordinador.ObtenerCasoPorId(id);

                elCaso.MotivoRechazo = caso.MotivoRechazo;

                coordinador.Rechazar(elCaso);

                return(RedirectToAction("EnProceso"));
            }
            catch
            {
                return(View());
            }
        }
예제 #18
0
        // GET: Casos/Create
        public ActionResult Crear()
        {
            Models.ModeloCasos model = new Models.ModeloCasos();

            LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();


            List <int> listaDeNiveles = new List <int>();

            listaDeNiveles = coordinador.ObtenerNivelesDeCriticidad();

            List <int> listaDeProvincias = new List <int>();

            listaDeProvincias = coordinador.ObtenerProvincias();

            model.ListaDeNivelesDeCriticidad = listaDeNiveles;
            model.ListaDeProvincias          = listaDeProvincias;

            return(View(model));
        }
예제 #19
0
        public ActionResult Crear(Model.Casos caso)
        {
            try
            {
                // TODO: Add insert logic here

                LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();

                DateTime FechaCreacionDelCaso = DateTime.Now;
                caso.FechaCreacion = FechaCreacionDelCaso;

                coordinador.Agregar(caso);

                return(RedirectToAction("Edicion"));
            }
            catch
            {
                return(View());
            }
        }
예제 #20
0
        // GET: Casos/Edicion
        public ActionResult Index()
        {
            LogicaDeNegocios.CoordinadorDeCasos coordinadorDeCasos      = new LogicaDeNegocios.CoordinadorDeCasos();
            List <Models.ModeloCasos>           listaDeCasosRegistrados = new List <Models.ModeloCasos>();

            List <Model.Casos> listaDeCasosEnEstadoRegistrado = coordinadorDeCasos.ObtenerCasosEnEstadoRegistrado();

            foreach (Model.Casos caso in listaDeCasosEnEstadoRegistrado)
            {
                Models.ModeloCasos model = new Models.ModeloCasos();
                model.Id               = caso.Id;
                model.Estado           = caso.Estado;
                model.FechaCreacion    = caso.FechaCreacion;
                model.NombreContacto   = caso.NombreContacto;
                model.TelefonoContacto = caso.TelefonoContacto;
                model.Nivel            = caso.Nivel;

                listaDeCasosRegistrados.Add(model);
            }

            return(View(listaDeCasosRegistrados));
        }
예제 #21
0
        public ActionResult Editar(int id, Model.Casos caso)
        {
            try
            {
                // TODO: Add update logic here
                LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();
                Model.Casos elCaso = coordinador.ObtenerCasoPorId(id);

                elCaso.DescripcionProblema = caso.DescripcionProblema;
                elCaso.DireccionContacto   = caso.DireccionContacto;
                elCaso.Nivel             = caso.Nivel;
                elCaso.NombreContacto    = caso.NombreContacto;
                elCaso.ProvinciaContacto = caso.ProvinciaContacto;
                elCaso.TelefonoContacto  = caso.TelefonoContacto;

                coordinador.Editar(elCaso);
                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
예제 #22
0
        public void DebeMostrarCasosQueExcedenTiempoParaPasarAenProceso()
        {
            LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();

            List <Model.Casos> laListaDeCasosQueExcedenTiempoParaPasarAenProceso = coordinador.ObtenerCasosQueExcedenTiempoParaPasarAenProceso();

            string casos = "";

            foreach (Casos caso in laListaDeCasosQueExcedenTiempoParaPasarAenProceso)
            {
                casos += String.Format("Descripcion: {1}{0}" +
                                       "Nivel de criticidad: {2}{0}" +
                                       "Nombre de contacto: {3}{0}" +
                                       "Direccion de contacto: {4}{0}" +
                                       "Fecha de creacion: {5}{0}{0}",
                                       Environment.NewLine,
                                       caso.DescripcionProblema, caso.Nivel, caso.NombreContacto, caso.DireccionContacto, caso.FechaCreacion);
            }

            Console.WriteLine(String.Format(
                                  "CASOS QUE EXCEDEN TIEMPO PARA PASAR A ESTADO EN PROCESO: {1}{0}{0}{2}",
                                  Environment.NewLine, laListaDeCasosQueExcedenTiempoParaPasarAenProceso.Count, casos
                                  ));
        }
예제 #23
0
        public void DebePermitirMostrarListaDeCasos()
        {
            LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();

            List <Model.Casos> listaDeCasosRegistrados  = coordinador.ObtenerCasosEnEstadoRegistrado();
            List <Model.Casos> listaDeCasosEnProceso    = coordinador.ObtenerCasosEnEstadoEnProceso();
            List <Model.Casos> listaDeCasosTerminados   = coordinador.ObtenerCasosEnEstadoTerminado();
            List <Model.Casos> listaDeCasosRechazados   = coordinador.ObtenerCasosEnEstadoRechazado();
            List <Model.Casos> listaDeCasosEliminados   = coordinador.ObtenerCasosEnEstadoEliminado();
            List <Model.Casos> listaDeCasosDeNivelBajo  = coordinador.ObtenerCasosConNivelBajo();
            List <Model.Casos> listaDeCasosDeNivelMedio = coordinador.ObtenerCasosConNivelMedio();
            List <Model.Casos> listaDeCasosDeNivelAlto  = coordinador.ObtenerCasosConNivelAlto();

            string casoEnEstadoRegistrado = "";

            foreach (Casos caso in listaDeCasosRegistrados)
            {
                casoEnEstadoRegistrado += String.Format("Descripcion: {1}{0}" +
                                                        "Nivel de criticidad: {2}{0}" +
                                                        "Nombre de contacto: {3}{0}" +
                                                        "Direccion de contacto: {4}{0}" +
                                                        "Fecha de creacion: {5}{0}{0}",
                                                        Environment.NewLine,
                                                        caso.DescripcionProblema, caso.Nivel, caso.NombreContacto, caso.DireccionContacto, caso.FechaCreacion);
            }

            string casoEnEstadoEnProceso = "";

            foreach (Casos caso in listaDeCasosEnProceso)
            {
                casoEnEstadoEnProceso += String.Format("Descripcion: {1}{0}" +
                                                       "Nivel de criticidad: {2}{0}" +
                                                       "Nombre de contacto: {3}{0}" +
                                                       "Direccion de contacto: {4}{0}" +
                                                       "Fecha de creacion: {5}{0}{0}",
                                                       Environment.NewLine,
                                                       caso.DescripcionProblema, caso.Nivel, caso.NombreContacto, caso.DireccionContacto, caso.FechaCreacion);
            }

            string casoEnEstadoTerminado = "";

            foreach (Casos caso in listaDeCasosTerminados)
            {
                casoEnEstadoTerminado += String.Format("Descripcion: {1}{0}" +
                                                       "Nivel de criticidad: {2}{0}" +
                                                       "Nombre de contacto: {3}{0}" +
                                                       "Direccion de contacto: {4}{0}" +
                                                       "Fecha de creacion: {5}{0}{0}",
                                                       Environment.NewLine,
                                                       caso.DescripcionProblema, caso.Nivel, caso.NombreContacto, caso.DireccionContacto, caso.FechaCreacion);
            }

            string casoEnEstadoRechazado = "";

            foreach (Casos caso in listaDeCasosRechazados)
            {
                casoEnEstadoRechazado += String.Format("Descripcion: {1}{0}" +
                                                       "Nivel de criticidad: {2}{0}" +
                                                       "Nombre de contacto: {3}{0}" +
                                                       "Direccion de contacto: {4}{0}" +
                                                       "Fecha de creacion: {5}{0}{0}",
                                                       Environment.NewLine,
                                                       caso.DescripcionProblema, caso.Nivel, caso.NombreContacto, caso.DireccionContacto, caso.FechaCreacion);
            }

            string casoEnEstadoEliminado = "";

            foreach (Casos caso in listaDeCasosEliminados)
            {
                casoEnEstadoEliminado += String.Format("Descripcion: {1}{0}" +
                                                       "Nivel de criticidad: {2}{0}" +
                                                       "Nombre de contacto: {3}{0}" +
                                                       "Direccion de contacto: {4}{0}" +
                                                       "Fecha de creacion: {5}{0}{0}",
                                                       Environment.NewLine,
                                                       caso.DescripcionProblema, caso.Nivel, caso.NombreContacto, caso.DireccionContacto, caso.FechaCreacion);
            }

            string casoConNivelBajo = "";

            foreach (Casos caso in listaDeCasosDeNivelBajo)
            {
                casoConNivelBajo += String.Format("Descripcion: {1}{0}" +
                                                  "Nivel de criticidad: {2}{0}" +
                                                  "Nombre de contacto: {3}{0}" +
                                                  "Direccion de contacto: {4}{0}" +
                                                  "Fecha de creacion: {5}{0}{0}",
                                                  Environment.NewLine,
                                                  caso.DescripcionProblema, caso.Nivel, caso.NombreContacto, caso.DireccionContacto, caso.FechaCreacion);
            }

            string casoConNivelMedio = "";

            foreach (Casos caso in listaDeCasosDeNivelMedio)
            {
                casoConNivelMedio += String.Format("Descripcion: {1}{0}" +
                                                   "Nivel de criticidad: {2}{0}" +
                                                   "Nombre de contacto: {3}{0}" +
                                                   "Direccion de contacto: {4}{0}" +
                                                   "Fecha de creacion: {5}{0}{0}",
                                                   Environment.NewLine,
                                                   caso.DescripcionProblema, caso.Nivel, caso.NombreContacto, caso.DireccionContacto, caso.FechaCreacion);
            }

            string casoConNivelAlto = "";

            foreach (Casos caso in listaDeCasosDeNivelAlto)
            {
                casoConNivelAlto += String.Format("Descripcion: {1}{0}" +
                                                  "Nivel de criticidad: {2}{0}" +
                                                  "Nombre de contacto: {3}{0}" +
                                                  "Direccion de contacto: {4}{0}" +
                                                  "Fecha de creacion: {5}{0}{0}",
                                                  Environment.NewLine,
                                                  caso.DescripcionProblema, caso.Nivel, caso.NombreContacto, caso.DireccionContacto, caso.FechaCreacion);
            }

            string respuesta = String.Format(
                "CASOS EN ESTADO REGISTRADO: {1}{0}{2}{0}" +
                "CASOS EN ESTADO EN PROCESO: {3}{0}{4}{0}" +
                "CASOS EN ESTADO TERMINADO: {5}{0}{6}{0}" +
                "CASOS EN ESTADO RECHAZADO: {7}{0}{8}{0}" +
                "CASOS EN ESTADO ELIMINADO: {9}{0}{10}{0}" +
                "CASOS CON NIVEL BAJO: {11}{0}{12}{0}" +
                "CASOS CON NIVEL MEDIO: {13}{0}{14}{0}" +
                "CASOS CON NIVEL ALTO: {15}{0}{0}" +
                "Total de casos: {16}",
                Environment.NewLine,
                listaDeCasosRegistrados.Count, casoEnEstadoRegistrado, listaDeCasosEnProceso.Count, casoEnEstadoEnProceso,
                listaDeCasosTerminados.Count, casoEnEstadoTerminado, listaDeCasosRechazados.Count, casoEnEstadoRechazado,
                listaDeCasosEliminados.Count, casoEnEstadoEliminado, listaDeCasosDeNivelBajo.Count, casoConNivelBajo,
                listaDeCasosDeNivelMedio.Count, casoConNivelMedio, listaDeCasosDeNivelAlto.Count, casoConNivelAlto,

                (listaDeCasosRegistrados.Count + listaDeCasosEnProceso.Count + listaDeCasosTerminados.Count +
                 listaDeCasosRechazados.Count + listaDeCasosEliminados.Count + listaDeCasosDeNivelBajo.Count +
                 listaDeCasosDeNivelMedio.Count + listaDeCasosDeNivelAlto.Count));

            Console.WriteLine(respuesta);
        }
예제 #24
0
        public void DebePermitirEliminarUnCaso()
        {
            LogicaDeNegocios.CoordinadorDeCasos coordinador = new LogicaDeNegocios.CoordinadorDeCasos();

            coordinador.Eliminar(1);
        }