Beispiel #1
0
        public ActionResult Edit([Bind(Include = "Id,fecha_suceso,fecha_creacion,emocion,resolucion,descripcion,tipo,respuesta,telefono_entrante,palabrasClave,funcionario_ayudado_ci")] IncidenteChatWppVM incidenteChatWppVM)
        {
            using (db_SRI context = new db_SRI())
            {
                using (var dbContextTransaction = context.Database.BeginTransaction())
                {
                    IncidenteChatWpp incidenteChatWpp = context.IncidentesChatWpp.Find(incidenteChatWppVM.Id);

                    incidenteChatWpp.resolucion  = incidenteChatWppVM.resolucion;
                    incidenteChatWpp.descripcion = incidenteChatWppVM.descripcion;
                    incidenteChatWpp.respuesta   = incidenteChatWppVM.respuesta;


                    if (ModelState.IsValid)
                    {
                        context.SaveChanges();
                        dbContextTransaction.Commit();
                        return(RedirectToAction("Index", "Incidente"));
                    }
                }
            }


            return(View(incidenteChatWppVM));
        }
Beispiel #2
0
        public ActionResult Edit([Bind(Include = "nombre,ci,mail,apellido,celular,password,rol,horario_id")] FuncionarioVM funcionarioVM)
        {
            using (db_SRI context = new db_SRI())
            {
                Funcionario funcionario = context.Funcionario.FirstOrDefault(a => a.mail.Equals(funcionarioVM.mail));

                Horario horario = context.Horario.FirstOrDefault(e => e.Id == funcionarioVM.horario_id);

                funcionario.Horario  = horario;
                funcionario.nombre   = funcionarioVM.nombre;
                funcionario.apellido = funcionarioVM.apellido;
                funcionario.ci       = funcionarioVM.ci;
                funcionario.mail     = funcionarioVM.mail;
                funcionario.celular  = funcionarioVM.celular;
                funcionario.password = funcionarioVM.password;
                funcionario.rol      = (int)funcionarioVM.rol;
                if (ModelState.IsValid)
                {
                    context.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }

            ViewBag.Horarios = fh.GetListaHorarios(funcionarioVM.horario_id);

            return(View(funcionarioVM));
        }
        public IEnumerable <SelectListItem> GetListaHorarios(int selectedItem = -1)
        {
            List <Horario> listaHorarios = new List <Horario>();

            using (db_SRI db = new db_SRI())
            {
                listaHorarios = db.Horario.Where(x => x.is_eliminado == false).ToList();
            }

            List <SelectListItem> horariosDropDown = new List <SelectListItem>();

            foreach (Horario horario in listaHorarios)
            {
                String texto = (horario.hora_inicio.ToString("HH:mm") + " - " + horario.hora_fin.ToString("HH:mm"));

                horariosDropDown.Add(
                    new SelectListItem
                {
                    Value = horario.Id.ToString(),
                    Text  = texto
                }
                    );
            }

            SelectList selectList = new SelectList(horariosDropDown, "Value", "Text");

            if (selectedItem != -1)
            {
                var selected = selectList.Where(x => x.Value == selectedItem.ToString()).First();
                selected.Selected = true;
            }

            return(selectList);
        }
        public Funcionario GetFuncionarioByMail(String mail)
        {
            Funcionario funcionario = new Funcionario();

            using (db_SRI db = new db_SRI())
            {
                funcionario = db.Funcionario.Include("Horario").Where(a => a.mail.Equals(mail)).FirstOrDefault();
            }
            return(funcionario);
        }
        public ActionResult Create([Bind(Include = "Id,fecha_suceso,fecha_creacion,emocion,resolucion,descripcion,telefono_entrante,hora_inicio,hora_fin,palabrasClave,funcionario_ayudado_ci")] IncidenteLlamadoVM incidenteLlamadoVM)
        {
            string email = User.Identity.Name;

            using (db_SRI context = new db_SRI())
            {
                using (var dbContextTransaction = context.Database.BeginTransaction())
                {
                    IncidenteLlamado incidenteLlamado = new IncidenteLlamado();

                    incidenteLlamado.is_eliminado   = false;
                    incidenteLlamado.fecha_suceso   = incidenteLlamadoVM.fecha_suceso;
                    incidenteLlamado.fecha_creacion = DateTime.Now;
                    incidenteLlamado.resolucion     = incidenteLlamadoVM.resolucion;
                    incidenteLlamado.emocion        = (int)incidenteLlamadoVM.emocion;
                    incidenteLlamado.descripcion    = incidenteLlamadoVM.descripcion;
                    incidenteLlamado.tipo           = (int)TipoIncidente.llamado;

                    Funcionario funcionario = context.Funcionario.FirstOrDefault(a => a.mail.Equals(email));
                    incidenteLlamado.Funcionario = funcionario;

                    incidenteLlamado.telefono_entrante = incidenteLlamadoVM.telefono_entrante;


                    Funcionario funcionarioAyudado = context.Funcionario.Find(incidenteLlamadoVM.funcionario_ayudado_ci);
                    incidenteLlamado.FuncionarioAyudado = funcionarioAyudado;

                    if (funcionarioAyudado == null)
                    {
                        ModelState.AddModelError(string.Empty, "No existe ningún funcionario con esa cedula , confirmela con el funcionario que se comunicó");
                    }

                    incidenteLlamado.hora_fin    = incidenteLlamadoVM.hora_fin;
                    incidenteLlamado.hora_inicio = incidenteLlamadoVM.hora_inicio;


                    incidenteLlamado.palabras_clave = incidenteLlamadoVM.palabrasClave;


                    if (ModelState.IsValid)
                    {
                        context.IncidentesLlamado.Add(incidenteLlamado);
                        context.SaveChanges();
                        dbContextTransaction.Commit();
                        return(RedirectToAction("Index", "Incidente"));
                    }
                }
            }

            return(View(incidenteLlamadoVM));
        }
        public List <Incidente> GetIncidentesByMonth(DateTime month)
        {
            var firstDayOfMonth = new DateTime(month.Year, month.Month, 1);
            var lastDayOfMonth  = firstDayOfMonth.AddMonths(1).AddSeconds(-1);

            List <Incidente> listIncidentes = new List <Incidente>();

            using (db_SRI db = new db_SRI())
            {
                listIncidentes = db.Incidente
                                 .Include("Funcionario.Horario")
                                 .Include("FuncionarioAyudado.Horario")
                                 .Where(a => a.fecha_creacion > firstDayOfMonth && a.fecha_creacion < lastDayOfMonth && a.is_eliminado == false)
                                 .ToList();
            }

            return(listIncidentes);
        }
Beispiel #7
0
        public ActionResult Edit([Bind(Include = "Id,hora_inicio,hora_fin")] HorarioVM horarioVM)
        {
            using (db_SRI context = new db_SRI())
            {
                Horario horario = context.Horario.Find(horarioVM.Id);

                horario.hora_fin    = horarioVM.hora_fin;
                horario.hora_inicio = horarioVM.hora_inicio;

                if (ModelState.IsValid)
                {
                    context.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }


            return(View(horarioVM));
        }
        public List <IncidenteVM> GetIncidentes(FiltradoVM filtro)
        {
            List <IncidenteVM> listIncidentesVM = new List <IncidenteVM>();
            List <Incidente>   listIncidentes   = new List <Incidente>();

            using (db_SRI db = new db_SRI())
            {
                if (string.IsNullOrEmpty(filtro.funcionario_ci))
                {
                    if (filtro.tipoIncidente == TipoIncidente.comun)
                    {
                        listIncidentes = GetIncidentesByMonth(filtro.mes);
                    }
                    else
                    {
                        listIncidentes = GetIncidentesByMonth(filtro.mes).Where(a => a.tipo == (int)filtro.tipoIncidente).ToList();
                    }
                }
                else
                {
                    if (filtro.tipoIncidente == TipoIncidente.comun)
                    {
                        listIncidentes = GetIncidentesByMonth(filtro.mes).Where(a => a.Funcionario.ci == filtro.funcionario_ci).ToList();
                    }
                    else
                    {
                        listIncidentes = GetIncidentesByMonth(filtro.mes).Where(a => a.tipo == (int)filtro.tipoIncidente && a.Funcionario.ci == filtro.funcionario_ci).ToList();
                    }
                }

                foreach (Incidente incidente in listIncidentes)
                {
                    IncidenteVM incidenteVM = (IncidenteVM)incidente;
                    listIncidentesVM.Add(incidenteVM);
                }
            }

            return(listIncidentesVM);
        }
Beispiel #9
0
        public ActionResult Create([Bind(Include = "Id,fecha_suceso,fecha_creacion,emocion,palabrasClave,resolucion,descripcion,tipo,asunto,respuesta,contenido,remitente,destinatariosCc,destinatariosTo,funcionario_ayudado_ci")] IncidenteMailVM incidenteMailVM)
        {
            string email = User.Identity.Name;

            using (db_SRI context = new db_SRI())
            {
                using (var dbContextTransaction = context.Database.BeginTransaction())
                {
                    IncidenteMail incidenteMail = new IncidenteMail();

                    incidenteMail.is_eliminado   = false;
                    incidenteMail.fecha_suceso   = incidenteMailVM.fecha_suceso;
                    incidenteMail.fecha_creacion = DateTime.Now;
                    incidenteMail.resolucion     = incidenteMailVM.resolucion;
                    incidenteMail.emocion        = (int)incidenteMailVM.emocion;
                    incidenteMail.descripcion    = incidenteMailVM.descripcion;
                    incidenteMail.tipo           = (int)TipoIncidente.mail;

                    Funcionario funcionario = context.Funcionario.FirstOrDefault(a => a.mail.Equals(email));
                    incidenteMail.Funcionario = funcionario;

                    incidenteMail.asunto    = incidenteMailVM.asunto;
                    incidenteMail.respuesta = incidenteMailVM.respuesta;
                    incidenteMail.contenido = incidenteMailVM.contenido;
                    incidenteMail.remitente = incidenteMailVM.remitente;

                    incidenteMail.palabras_clave  = incidenteMailVM.palabrasClave;
                    incidenteMail.destinatariosCc = incidenteMailVM.destinatariosCc;
                    incidenteMail.destinatariosTo = incidenteMailVM.destinatariosTo;

                    if (string.IsNullOrEmpty(incidenteMailVM.destinatariosCc) && string.IsNullOrEmpty(incidenteMailVM.destinatariosTo))
                    {
                        ModelState.AddModelError(string.Empty, "Debes agregar al menos un destinatario, ya sea cc o to");
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(incidenteMailVM.destinatariosTo))
                        {
                            string[] destinatariosToList = incidenteMailVM.destinatariosTo.Split(',');

                            foreach (string destinatario in destinatariosToList)
                            {
                                Funcionario fun = fh.GetFuncionarioByMail(destinatario);
                                if (fun == null)
                                {
                                    ModelState.AddModelError(string.Empty, "No existe ningún funcionario con el mail " + destinatario + " , confirmela con el funcionario que se comunicó");
                                }
                            }
                        }

                        if (!string.IsNullOrEmpty(incidenteMailVM.destinatariosCc))
                        {
                            string[] destinatariosCcList = incidenteMailVM.destinatariosTo.Split(',');

                            foreach (string destinatario in destinatariosCcList)
                            {
                                Funcionario fun = fh.GetFuncionarioByMail(destinatario);
                                if (fun == null)
                                {
                                    ModelState.AddModelError(string.Empty, "No existe ningún funcionario con el mail " + destinatario + " , confirmela con el funcionario que se comunicó");
                                }
                            }
                        }
                    }

                    if (ModelState.IsValid)
                    {
                        context.IncidentesMail.Add(incidenteMail);
                        context.SaveChanges();
                        dbContextTransaction.Commit();
                        return(RedirectToAction("Index", "Incidente"));
                    }
                }
            }

            return(View(incidenteMailVM));
        }