Ejemplo n.º 1
0
 public void setDataGridView(Models.Incidentes incidente)
 {
     if (DataGrid_Incidentes.InvokeRequired)
     {
         setDataList d = new setDataList(setDataGridView);
         this.Invoke(d, new object[] { incidente });
     }
     else
     {
         Models.Clientes        cliente = db.Clientes.Where(x => x.IdCliente == incidente.IdCliente).FirstOrDefault();
         CultureInfo            CI      = new CultureInfo("es-MX");
         Models.LogMonitoreo360 Log     = db.LogMonitoreo360.Where(x => x.Id == incidente.IdLog).FirstOrDefault();
         string report  = Log.Log.Substring(66, Log.Log.Length - 66);
         string eventos = "";
         foreach (var evento in report.Split('-')[1].Split('/'))
         {
             if (!evento.Contains("ri"))
             {
                 eventos = eventos + " " + evento.Substring(0, 2);
             }
         }
         var n = this.DataGrid_Incidentes.Rows.Add();
         this.ProgressBar.Value += 1;
         DataGrid_Incidentes.Rows[n].Cells[0].Value = incidente.Id;
         DataGrid_Incidentes.Rows[n].Cells[1].Value = cliente.Nombres + " " + cliente.ApellidoPaterno + " " + cliente.ApellidoMaterno;
         DataGrid_Incidentes.Rows[n].Cells[2].Value = eventos;
         DataGrid_Incidentes.Rows[n].Cells[3].Value = incidente.FechaHoraInicio.ToString("dddd dd MMMM yyyy hh:mm:ss tt", CI);
         if (incidente.FechaHoraFin != null)
         {
             DataGrid_Incidentes.Rows[n].Cells[4].Value = ((DateTime)incidente.FechaHoraFin).ToString("dddd dd MMMM yyyy hh:mm:ss tt", CI);
         }
         DataGrid_Incidentes.Rows[n].Cells[5].Value = string.IsNullOrEmpty(incidente.Estatus) ? "Sin Seguimiento" : incidente.Estatus;
     }
 }
Ejemplo n.º 2
0
        private void Button_Guardar_Click(object sender, EventArgs e)
        {
            Models.Incidentes incidentes = db.Incidentes.Where(x => x.Id == IdIncidente).FirstOrDefault();
            db.UpdateIncidente(IdIncidente, incidentes.IdCliente, incidentes.IdLog, this.TextBox_Comentarios.Text, TiempoInicio, DateTime.Now, "Completo", true, DateTime.Now, IdUsuario);
            if (string.IsNullOrEmpty(Button.Text))
            {
                Button.Text    = "";
                Button.Visible = false;
            }
            else
            {
                Button.Text = (int.Parse(Button.Text) - 1) + "";
                if ((int.Parse(Button.Text)) == 0)
                {
                    Button.Visible = false;
                }
            }

            DialogResult result = MetroFramework.MetroMessageBox.Show(this, "Listo! Se guardo correctamente", "Monitoreo 360", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);

            this.FormClosing -= ClienteAlerta_FormClosing_1;
            if (result == DialogResult.OK)
            {
                close = true;
                this.Close();
            }
        }
Ejemplo n.º 3
0
        private void DataGrid_Incidentes_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            Guid id = Guid.Parse(this.DataGrid_Incidentes.Rows[e.RowIndex].Cells[0].Value.ToString());

            Models.Incidentes Modelincidente = db.Incidentes.Where(model => model.Id == id).FirstOrDefault();
            Incidente         incidente      = new Incidente(Modelincidente);

            incidente.ShowDialog();
        }
Ejemplo n.º 4
0
        public Incidente(Models.Incidentes incidentes)
        {
            InitializeComponent();
            this.TextBox_Comentarios.Text          = incidentes.Comentarios;
            this.label_NumeroDeCuenta.Text         = incidentes.Clientes.NumeroDeCuenta;
            this.label_Nombres.Text                = incidentes.Clientes.Nombres + " " + incidentes.Clientes.ApellidoPaterno + " " + incidentes.Clientes.ApellidoMaterno;
            this.label_TelefonoAlarma.Text         = incidentes.Clientes.NumeroTelefonoAlarma;
            this.label_Telefono.Text               = incidentes.Clientes.Telefono;
            this.label_Correo.Text                 = incidentes.Clientes.Email;
            this.label_FechaCreation.Text          = incidentes.Clientes.FechaCreacion.ToString();
            this.label_PalabraClave.Text           = incidentes.Clientes.PalabraClave;
            this.label_PalabraClaveSilenciosa.Text = incidentes.Clientes.PalabraClaveSilenciosa;
            this.label_ColorEstablecimiento.Text   = incidentes.Clientes.ColorEstablecimiento;
            this.label_Colonia.Text                = "Col. " + incidentes.Clientes.Colonia + ", Calle " + incidentes.Clientes.Calle;
            this.label_NoInterior.Text             = " No Interior " + incidentes.Clientes.NoInterior + " No Exterior " + incidentes.Clientes.NoExterior;
            this.label_Entre_Calles.Text           = incidentes.Clientes.EntreCalles;
            List <GetClienteContactos_Result> contactos = db.GetClienteContactos(2, incidentes.Clientes.IdCliente).ToList();

            foreach (var contacto in contactos.OrderBy(x => x.Prioridad))
            {
                ReporteLlamada llamada = db.ReporteLlamada.Where(x => x.IdClienteContacto == contacto.Id).FirstOrDefault();
                var            n       = dataGridView_Contactos.Rows.Add();
                this.dataGridView_Contactos.Rows[n].Cells[0].Value = contacto.Id;
                this.dataGridView_Contactos.Rows[n].Cells[1].Value = contacto.Prioridad;
                this.dataGridView_Contactos.Rows[n].Cells[2].Value = contacto.Nombre;
                this.dataGridView_Contactos.Rows[n].Cells[3].Value = "";
                this.dataGridView_Contactos.Rows[n].Cells[4].Value = contacto.Telefono;
                if (llamada != null)
                {
                    this.dataGridView_Contactos.Rows[n].Cells[5].Value = llamada.Estatus;
                    this.dataGridView_Contactos.Rows[n].Cells[6].Value = llamada.Comentarios;
                    this.dataGridView_Contactos.Rows[n].Cells[7].Value = llamada.UsuarioCreacion;
                }
            }
            LogMonitoreo360 log   = db.LogMonitoreo360.Where(x => x.Id == incidentes.IdLog).FirstOrDefault();
            string          f     = log.Log.Substring(0, 20);
            DateTime        fecha = DateTime.Parse(f);

            f = log.Log.Substring(23, 20).Replace("-", " ");
            DateTime fecha2 = DateTime.Parse(f);
            string   report = log.Log.Substring(66, log.Log.Length - 66);

            string[] eventos              = report.Split('-')[1].Split('/');
            bool     ParticionZona        = false;
            List <ClienteEventos> Eventos = new List <ClienteEventos>();
            string Zona = "1";

            if (eventos.Count() > 1)
            {
                List <GetSensores_Result>    clienteSensores = db.GetSensores(incidentes.Clientes.IdCliente, 2).ToList();
                GetHorarioOperaciones_Result Horario         = db.GetHorarioOperaciones(incidentes.Clientes.IdCliente).FirstOrDefault();
                List <CodigoEventos>         CodigosEventos  = db.CodigoEventos.ToList();
                foreach (var evento in eventos)
                {
                    ClienteEventos clienteEventos = new ClienteEventos();
                    if (evento.Contains("ri"))
                    {
                        clienteEventos.ParticionArea = evento.Split('i')[1];
                        Zona          = evento.Split('i')[1];
                        ParticionZona = true;
                    }
                    else if (CodigosEventos.Where(x => x.Codigo.Contains(evento.Substring(0, 2))).Any())
                    {
                        ParticionZona = false;
                        CodigoEventos ClienteEvento = CodigosEventos.Where(x => x.Codigo.Contains(evento.Substring(0, 2))).First();
                        clienteEventos.Tipo          = ClienteEvento.Tipo;
                        clienteEventos.Codigo        = ClienteEvento.Codigo;
                        clienteEventos.Descripcion   = ClienteEvento.Descripcion;
                        clienteEventos.Numero        = evento.Substring(2, 4);
                        clienteEventos.ParticionArea = Zona;
                        if (Horario != null)
                        {
                            CultureInfo CI = new CultureInfo("es-MX");
                            if (ClienteEvento.Codigo.Contains("OP") || ClienteEvento.Codigo.Contains("CL") || ClienteEvento.Codigo.Contains("OR") || ClienteEvento.Codigo.Contains("CR"))
                            {
                                TimeSpan Inicial = new TimeSpan();
                                TimeSpan Final   = new TimeSpan();
                                TimeSpan H       = new TimeSpan(fecha.Hour, fecha.Minute, fecha.Second);
                                if (fecha.ToString("dddd", CI) == "lunes")
                                {
                                    Inicial = new TimeSpan(Horario.LunesInicio.Value.Hours, Horario.LunesInicio.Value.Minutes, Horario.LunesInicio.Value.Seconds);
                                    Final   = new TimeSpan(Horario.LunesFinal.Value.Hours, Horario.LunesFinal.Value.Minutes, Horario.LunesFinal.Value.Seconds);
                                }
                                if (fecha.ToString("dddd", CI) == "martes")
                                {
                                    Inicial = new TimeSpan(Horario.MartesInicio.Value.Hours, Horario.MartesInicio.Value.Minutes, Horario.MartesInicio.Value.Seconds);
                                    Final   = new TimeSpan(Horario.MartesFinal.Value.Hours, Horario.MartesFinal.Value.Minutes, Horario.MartesFinal.Value.Seconds);
                                }
                                if (fecha.ToString("dddd", CI) == "miercoles")
                                {
                                    Inicial = new TimeSpan(Horario.MiercolesInicio.Value.Hours, Horario.MiercolesInicio.Value.Minutes, Horario.MiercolesInicio.Value.Seconds);
                                    Final   = new TimeSpan(Horario.MiercolesFinal.Value.Hours, Horario.MiercolesFinal.Value.Minutes, Horario.MiercolesFinal.Value.Seconds);
                                }
                                if (fecha.ToString("dddd", CI) == "jueves")
                                {
                                    Inicial = new TimeSpan(Horario.JuevesInicio.Value.Hours, Horario.JuevesInicio.Value.Minutes, Horario.JuevesInicio.Value.Seconds);
                                    Final   = new TimeSpan(Horario.JuevesFinal.Value.Hours, Horario.JuevesFinal.Value.Minutes, Horario.JuevesFinal.Value.Seconds);
                                }
                                if (fecha.ToString("dddd", CI) == "viernes")
                                {
                                    Inicial = new TimeSpan(Horario.ViernesInicio.Value.Hours, Horario.ViernesInicio.Value.Minutes, Horario.ViernesInicio.Value.Seconds);
                                    Final   = new TimeSpan(Horario.ViernesFinal.Value.Hours, Horario.ViernesFinal.Value.Minutes, Horario.ViernesFinal.Value.Seconds);
                                }
                                if (fecha.ToString("dddd", CI) == "sabado")
                                {
                                    Inicial = new TimeSpan(Horario.SabadoInicio.Value.Hours, Horario.SabadoInicio.Value.Minutes, Horario.SabadoInicio.Value.Seconds);
                                    Final   = new TimeSpan(Horario.SabadoFinal.Value.Hours, Horario.SabadoFinal.Value.Minutes, Horario.SabadoFinal.Value.Seconds);
                                }
                                if (fecha.ToString("dddd", CI) == "domingo")
                                {
                                    Inicial = new TimeSpan(Horario.DomingoInicio.Value.Hours, Horario.DomingoInicio.Value.Minutes, Horario.DomingoInicio.Value.Seconds);
                                    Final   = new TimeSpan(Horario.DomingoFinal.Value.Hours, Horario.DomingoFinal.Value.Minutes, Horario.DomingoFinal.Value.Seconds);
                                }
                                if (H < Inicial || H > Final)
                                {
                                    ClienteEventos horarioDesfasado = new ClienteEventos();
                                    horarioDesfasado.Codigo        = "00";
                                    horarioDesfasado.Descripcion   = "La alarma se activo/Desactivo fuera de sus horarios de operaciones";
                                    horarioDesfasado.Numero        = "N/A";
                                    horarioDesfasado.ParticionArea = "N/A";
                                    horarioDesfasado.Tipo          = "N/A";
                                    Eventos.Add(horarioDesfasado);
                                }
                            }
                        }
                        if (ClienteEvento.Tipo == "Sensor")
                        {
                            if (clienteSensores.Where(x => x.NumeroDeSensor == clienteEventos.Numero).Any())
                            {
                                clienteEventos.Ubicacion = clienteSensores.Where(x => x.NumeroDeSensor == clienteEventos.Numero).First().Ubicacion;
                            }
                            else
                            {
                                clienteEventos.Ubicacion = "Ubicacion desconocidad";
                            }
                        }
                        else if (ClienteEvento.Tipo == "Usuario")
                        {
                            clienteEventos.Ubicacion = "N/A";
                        }
                        else
                        {
                            clienteEventos.Ubicacion = "N/A";
                        }
                        clienteEventos.ParticionArea = Zona;
                    }
                    if (!ParticionZona)
                    {
                        Eventos.Add(clienteEventos);
                    }
                }
                foreach (var e in Eventos)
                {
                    var n = dataGridView_Eventos.Rows.Add();
                    dataGridView_Eventos.Rows[n].Cells[0].Value = e.Codigo;
                    dataGridView_Eventos.Rows[n].Cells[1].Value = e.Descripcion;
                    if (e.Tipo == "Usuario")
                    {
                        dataGridView_Eventos.Rows[n].Cells[2].Value = e.Numero;
                        dataGridView_Eventos.Rows[n].Cells[3].Value = "N/A";
                    }
                    else if (e.Tipo == "Sensor")
                    {
                        dataGridView_Eventos.Rows[n].Cells[3].Value = e.Numero;
                        dataGridView_Eventos.Rows[n].Cells[2].Value = "N/A";
                    }
                    else
                    {
                        dataGridView_Eventos.Rows[n].Cells[3].Value = "N/A";
                        dataGridView_Eventos.Rows[n].Cells[2].Value = "N/A";
                    }
                    dataGridView_Eventos.Rows[n].Cells[4].Value = e.Ubicacion;
                    dataGridView_Eventos.Rows[n].Cells[5].Value = e.ParticionArea;
                }
            }
        }
Ejemplo n.º 5
0
        private void Button_Alerta_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(Button_Badge.Text))
            {
                Button_Badge.Text    = "";
                Button_Badge.Visible = true;
            }
            else
            {
                Button_Badge.Text    = (int.Parse(Button_Badge.Text) - 1) + "";
                Button_Badge.Visible = true;
            }
            string name = ((System.Windows.Forms.Button)sender).Name;
            Guid   Id   = Guid.Parse(name);

            Models.Incidentes incidente = db.Incidentes.Where(model => model.Id == Id).FirstOrDefault();
            CultureInfo       CI        = new CultureInfo("es-MX");
            LogMonitoreo360   Log       = db.LogMonitoreo360.Where(x => x.Id == incidente.IdLog).FirstOrDefault();
            string            f         = Log.Log.Substring(0, 20);
            DateTime          fecha     = DateTime.Parse(f);

            f = Log.Log.Substring(23, 20).Replace("-", " ");
            DateTime fecha2         = DateTime.Parse(f);
            string   NumeroTelefono = Log.Log.Substring(54, 6).Replace("-", "");
            string   NumeroCuenta   = Log.Log.Substring(61, 4);
            string   report         = Log.Log.Substring(66, Log.Log.Length - 66);

            string[]              eventos       = report.Split('-')[1].Split('/');
            Models.Clientes       cliente       = db.Clientes.Where(x => x.IdCliente == incidente.IdCliente).FirstOrDefault();
            bool                  ParticionZona = false;
            List <ClienteEventos> Eventos       = new List <ClienteEventos>();
            string                Zona          = "1";

            try
            {
                if (eventos.Count() > 1)
                {
                    //List<Sensores> clienteSensores = db.GetSensores(cliente.IdCliente, 2).ToList();
                    List <GetSensores_Result> clienteSensores = db.GetSensores(cliente.IdCliente, 2).ToList();
                    //HorarioOperaciones Horario = db.GetHorarioOperaciones(cliente.IdCliente).FirstOrDefault();
                    GetHorarioOperaciones_Result Horario        = db.GetHorarioOperaciones(cliente.IdCliente).FirstOrDefault();
                    List <CodigoEventos>         CodigosEventos = db.CodigoEventos.ToList();
                    foreach (var evento in eventos)
                    {
                        ClienteEventos clienteEventos = new ClienteEventos();
                        if (evento.Contains("ri"))
                        {
                            clienteEventos.ParticionArea = evento.Split('i')[1];
                            Zona          = evento.Split('i')[1];
                            ParticionZona = true;
                        }
                        else if (CodigosEventos.Where(x => x.Codigo.Contains(evento.Substring(0, 2))).Any())
                        {
                            ParticionZona = false;
                            CodigoEventos ClienteEvento = CodigosEventos.Where(x => x.Codigo.Contains(evento.Substring(0, 2))).First();
                            clienteEventos.Tipo          = ClienteEvento.Tipo;
                            clienteEventos.Codigo        = ClienteEvento.Codigo;
                            clienteEventos.Descripcion   = ClienteEvento.Descripcion;
                            clienteEventos.Numero        = evento.Substring(2, 4);
                            clienteEventos.ParticionArea = Zona;
                            if (Horario != null)
                            {
                                if (ClienteEvento.Codigo.Contains("OP") || ClienteEvento.Codigo.Contains("CL") || ClienteEvento.Codigo.Contains("OR") || ClienteEvento.Codigo.Contains("CR"))
                                {
                                    TimeSpan Inicial = new TimeSpan();
                                    TimeSpan Final   = new TimeSpan();
                                    TimeSpan H       = new TimeSpan(fecha.Hour, fecha.Minute, fecha.Second);
                                    if (fecha.ToString("dddd", CI) == "lunes")
                                    {
                                        Inicial = new TimeSpan(Horario.LunesInicio.Value.Hours, Horario.LunesInicio.Value.Minutes, Horario.LunesInicio.Value.Seconds);
                                        Final   = new TimeSpan(Horario.LunesFinal.Value.Hours, Horario.LunesFinal.Value.Minutes, Horario.LunesFinal.Value.Seconds);
                                    }
                                    if (fecha.ToString("dddd", CI) == "martes")
                                    {
                                        Inicial = new TimeSpan(Horario.MartesInicio.Value.Hours, Horario.MartesInicio.Value.Minutes, Horario.MartesInicio.Value.Seconds);
                                        Final   = new TimeSpan(Horario.MartesFinal.Value.Hours, Horario.MartesFinal.Value.Minutes, Horario.MartesFinal.Value.Seconds);
                                    }
                                    if (fecha.ToString("dddd", CI) == "miercoles")
                                    {
                                        Inicial = new TimeSpan(Horario.MiercolesInicio.Value.Hours, Horario.MiercolesInicio.Value.Minutes, Horario.MiercolesInicio.Value.Seconds);
                                        Final   = new TimeSpan(Horario.MiercolesFinal.Value.Hours, Horario.MiercolesFinal.Value.Minutes, Horario.MiercolesFinal.Value.Seconds);
                                    }
                                    if (fecha.ToString("dddd", CI) == "jueves")
                                    {
                                        Inicial = new TimeSpan(Horario.JuevesInicio.Value.Hours, Horario.JuevesInicio.Value.Minutes, Horario.JuevesInicio.Value.Seconds);
                                        Final   = new TimeSpan(Horario.JuevesFinal.Value.Hours, Horario.JuevesFinal.Value.Minutes, Horario.JuevesFinal.Value.Seconds);
                                    }
                                    if (fecha.ToString("dddd", CI) == "viernes")
                                    {
                                        Inicial = new TimeSpan(Horario.ViernesInicio.Value.Hours, Horario.ViernesInicio.Value.Minutes, Horario.ViernesInicio.Value.Seconds);
                                        Final   = new TimeSpan(Horario.ViernesFinal.Value.Hours, Horario.ViernesFinal.Value.Minutes, Horario.ViernesFinal.Value.Seconds);
                                    }
                                    if (fecha.ToString("dddd", CI) == "sabado")
                                    {
                                        Inicial = new TimeSpan(Horario.SabadoInicio.Value.Hours, Horario.SabadoInicio.Value.Minutes, Horario.SabadoInicio.Value.Seconds);
                                        Final   = new TimeSpan(Horario.SabadoFinal.Value.Hours, Horario.SabadoFinal.Value.Minutes, Horario.SabadoFinal.Value.Seconds);
                                    }
                                    if (fecha.ToString("dddd", CI) == "domingo")
                                    {
                                        Inicial = new TimeSpan(Horario.DomingoInicio.Value.Hours, Horario.DomingoInicio.Value.Minutes, Horario.DomingoInicio.Value.Seconds);
                                        Final   = new TimeSpan(Horario.DomingoFinal.Value.Hours, Horario.DomingoFinal.Value.Minutes, Horario.DomingoFinal.Value.Seconds);
                                    }
                                    if (H < Inicial || H > Final)
                                    {
                                        ClienteEventos horarioDesfasado = new ClienteEventos();
                                        horarioDesfasado.Codigo        = "00";
                                        horarioDesfasado.Descripcion   = "La alarma se activo/Desactivo fuera de sus horarios de operaciones";
                                        horarioDesfasado.Numero        = "N/A";
                                        horarioDesfasado.ParticionArea = "N/A";
                                        horarioDesfasado.Tipo          = "N/A";
                                        Eventos.Add(horarioDesfasado);
                                    }
                                }
                            }
                            if (ClienteEvento.Tipo == "Sensor")
                            {
                                if (clienteSensores.Where(x => x.NumeroDeSensor == clienteEventos.Numero).Any())
                                {
                                    clienteEventos.Ubicacion = clienteSensores.Where(x => x.NumeroDeSensor == clienteEventos.Numero).First().Ubicacion;
                                }
                                else
                                {
                                    clienteEventos.Ubicacion = "Ubicacion desconocidad";
                                }
                            }
                            else if (ClienteEvento.Tipo == "Usuario")
                            {
                                clienteEventos.Ubicacion = "N/A";
                            }
                            else
                            {
                                clienteEventos.Ubicacion = "N/A";
                            }
                            clienteEventos.ParticionArea = Zona;
                        }
                        if (!ParticionZona)
                        {
                            Eventos.Add(clienteEventos);
                        }
                    }
                    bool           IsOpen = false;
                    FormCollection forms  = Application.OpenForms;
                    foreach (var form in forms)
                    {
                        if (((Form)form).Name == "ClienteAlerta")
                        {
                            if (((ClienteAlerta)form).IdI.Text == incidente.Id.ToString())
                            {
                                IsOpen = true;
                            }
                        }
                    }
                    if (!IsOpen)
                    {
                        ClienteAlerta alerta = new ClienteAlerta(this.IdUsuario, incidente.Id);
                        db.UpdateIncidente(incidente.Id, incidente.IdCliente, incidente.IdLog, incidente.Comentarios, incidente.FechaHoraInicio, incidente.FechaHoraFin, "Pendiente", true, incidente.FechaCreacion, incidente.UsuarioCreacion);
                        alerta.setInfo(cliente, Log.Id);
                        alerta.setButton(this.Button_Badge, panel_Notificaciones);
                        alerta.setEventos(Eventos);
                        alerta.Text = "Alerta - Incidente sin seguimiento";
                        alerta.ShowDialog();
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error:" + ex.Message + " Inner:" + ex.InnerException);
            }
        }