public void setInfo(Guid IdCliente)
        {
            this.IdCliente = IdCliente;
            GetHorarioOperaciones_Result HO = db.GetHorarioOperaciones(this.IdCliente).FirstOrDefault();

            if (HO != null)
            {
                dateTimePicker_LunesInicio.Value     = new DateTime(2000, 12, 1, HO.LunesInicio.Value.Hours, HO.LunesInicio.Value.Minutes, HO.LunesInicio.Value.Seconds);
                dateTimePicker_LunesFinal.Value      = new DateTime(2000, 12, 1, HO.LunesFinal.Value.Hours, HO.LunesFinal.Value.Minutes, HO.LunesFinal.Value.Seconds);
                dateTimePicker_MartesInicio.Value    = new DateTime(2000, 12, 1, HO.MartesInicio.Value.Hours, HO.MartesInicio.Value.Minutes, HO.MartesInicio.Value.Seconds);
                dateTimePicker_MartesFinal.Value     = new DateTime(2000, 12, 1, HO.MartesFinal.Value.Hours, HO.MartesFinal.Value.Minutes, HO.MartesFinal.Value.Seconds);
                dateTimePicker_MiercolesInicio.Value = new DateTime(2000, 12, 1, HO.MiercolesInicio.Value.Hours, HO.MiercolesInicio.Value.Minutes, HO.MiercolesInicio.Value.Seconds);
                dateTimePicker_MiercolesFinal.Value  = new DateTime(2000, 12, 1, HO.MiercolesFinal.Value.Hours, HO.MiercolesFinal.Value.Minutes, HO.MiercolesFinal.Value.Seconds);
                dateTimePicker_JuevesInicio.Value    = new DateTime(2000, 12, 1, HO.JuevesInicio.Value.Hours, HO.JuevesInicio.Value.Minutes, HO.JuevesInicio.Value.Seconds);
                dateTimePicker_JuevesFinal.Value     = new DateTime(2000, 12, 1, HO.JuevesFinal.Value.Hours, HO.JuevesFinal.Value.Minutes, HO.JuevesFinal.Value.Seconds);
                dateTimePicker_ViernesInicio.Value   = new DateTime(2000, 12, 1, HO.ViernesInicio.Value.Hours, HO.ViernesInicio.Value.Minutes, HO.ViernesInicio.Value.Seconds);
                dateTimePicker_ViernesFinal.Value    = new DateTime(2000, 12, 1, HO.ViernesFinal.Value.Hours, HO.ViernesFinal.Value.Minutes, HO.ViernesFinal.Value.Seconds);
                dateTimePicker_SabadoInicio.Value    = new DateTime(2000, 12, 1, HO.SabadoInicio.Value.Hours, HO.SabadoInicio.Value.Minutes, HO.SabadoInicio.Value.Seconds);
                dateTimePicker_SabadoFinal.Value     = new DateTime(2000, 12, 1, HO.SabadoFinal.Value.Hours, HO.SabadoFinal.Value.Minutes, HO.SabadoFinal.Value.Seconds);
                dateTimePicker_DomingoInicio.Value   = new DateTime(2000, 12, 1, HO.DomingoInicio.Value.Hours, HO.DomingoInicio.Value.Minutes, HO.DomingoInicio.Value.Seconds);
                dateTimePicker_DomingoFinal.Value    = new DateTime(2000, 12, 1, HO.DomingoFinal.Value.Hours, HO.DomingoFinal.Value.Minutes, HO.DomingoFinal.Value.Seconds);
            }
        }
Beispiel #2
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;
                }
            }
        }
Beispiel #3
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);
            }
        }
Beispiel #4
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (this.textBox1.Text.Length > 30)
            {
                try
                {
                    string   f     = this.textBox1.Text.Substring(0, 20);
                    DateTime fecha = DateTime.Parse(f);
                    f = this.textBox1.Text.Substring(23, 20).Replace("-", " ");
                    DateTime              fecha2         = DateTime.Parse(f);
                    string                NumeroTelefono = this.textBox1.Text.Substring(54, 6).Replace("-", "");
                    string                NumeroCuenta   = this.textBox1.Text.Substring(61, 4);
                    string                report         = this.textBox1.Text.Substring(66, this.textBox1.Text.Length - 66);
                    string[]              eventos        = report.Split('-')[1].Split('/');
                    Models.Clientes       cliente        = db.Clientes.Where(x => x.NumeroDeCuenta.Contains(NumeroCuenta) && x.NumeroTelefonoAlarma.Contains(NumeroTelefono)).FirstOrDefault();
                    bool                  ParticionZona  = false;
                    List <ClienteEventos> Eventos        = new List <ClienteEventos>();
                    string                Zona           = "1";
                    if (cliente != null)
                    {
                        if (eventos.Count() > 1)
                        {
                            List <GetSensores_Result>    clienteSensores = db.GetSensores(cliente.IdCliente, 2).ToList();
                            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", new CultureInfo("es-MX")) == "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", new CultureInfo("es-MX")) == "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", new CultureInfo("es-MX")) == "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", new CultureInfo("es-MX")) == "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", new CultureInfo("es-MX")) == "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", new CultureInfo("es-MX")) == "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", new CultureInfo("es-MX")) == "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);
                                }
                            }
                            this.TextBox_Log.AppendText(this.textBox1.Text + Environment.NewLine);
                            Guid IdLog = Guid.NewGuid();
                            db.InsertLogMonitoreo360(IdLog, this.textBox1.Text, Guid.Parse("8BEAD89F-B0CA-4CA9-9268-4DE6C727E3A2"), DateTime.Now);
                            this.textBox1.Text = "";
                            Guid          IdIncidente = Guid.NewGuid();
                            ClienteAlerta form        = new ClienteAlerta(IdUsuario, IdIncidente);
                            form.setInfo(cliente, IdLog);
                            db.InsertIncidentes(IdIncidente, cliente.IdCliente, IdLog, "", DateTime.Now, null, null, true, DateTime.Now, Guid.Parse("8BEAD89F-B0CA-4CA9-9268-4DE6C727E3A2"));
                            form.setEventos(Eventos);
                            form.setButton(this.Button, this.panel);
                            //form.MdiParent = this.MdiParent;
                            form.ShowDialog();
                            //ClienteInfo form = new ClienteInfo();

                            /*form.MdiParent = this.MdiParent;
                             * form.Show();
                             * form.setInfo(cliente);
                             * form.setEventos(Eventos);*/
                        }
                    }
                }
                catch (Exception ex)
                {
                    textBox1.Text = "";
                    MetroFramework.MetroMessageBox.Show(this, "Error en el formato del texto:\n" + ex.Message + "\n" + ex.InnerException, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, 200);
                }
            }
            else
            {
                MetroFramework.MetroMessageBox.Show(this, "Caracteres insuficientes", "Error", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, 200);
            }
        }
Beispiel #5
0
        private void timer_Tick(object sender, EventArgs e)
        {
            this.timer.Stop();
            CultureInfo CI = new CultureInfo("es-MX");
            //*********************************************************************************
            //*************************** Incidentes Pendientes *******************************
            //*********************************************************************************
            List <Models.Incidentes> Incidentes = new List <Models.Incidentes>();

            Incidentes = db.Incidentes.Where(x => x.Activo == true && x.Estatus != "Completo" && x.Estatus != "Pendiente").ToList();
            foreach (var incidente in Incidentes)
            {
                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 <GetSensores_Result>    clienteSensores = db.GetSensores(cliente.IdCliente, 2).ToList();
                        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";
                            //form.MdiParent = this.MdiParent;
                            alerta.ShowDialog();
                        }
                    }
                    /**/
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Error:" + ex.Message + " Inner:" + ex.InnerException);
                }
            }
            Console.WriteLine("Termino");

            //*********************************************************************************
            //****************************** Dias sin Incidentes ******************************
            //*********************************************************************************
            try
            {
                List <Models.Clientes> Clients = db.Clientes.Where(x => x.Activo == true && x.NumeroTelefonoAlarma != null && x.NumeroDeCuenta != null).OrderBy(x => x.Nombres).ToList();
                List <LogMonitoreo360> Logs    = db.LogMonitoreo360.ToList();
                foreach (var client in Clients.OrderBy(x => x.Nombres))
                {
                    foreach (var log in Logs)
                    {
                        var findLog = db.Incidentes.Where(x => x.IdLog == log.Id).Any();
                        if (!findLog)
                        {
                            string NumeroTelefono = log.Log.Substring(54, 6).Replace("-", "");
                            string NumeroCuenta   = log.Log.Substring(61, 4);
                            Console.WriteLine(NumeroCuenta);
                            string   f     = log.Log.Substring(0, 20);
                            DateTime fecha = DateTime.Parse(f);
                            f = log.Log.Substring(23, 20).Replace("-", " ");
                            DateTime fecha2 = DateTime.Parse(f);
                            bool     find   = client.NumeroDeCuenta.Contains(NumeroCuenta) && client.NumeroTelefonoAlarma.Contains(NumeroTelefono);
                            Console.WriteLine("Lo encontro " + client.Nombres + "? " + find);
                            if (find != false)
                            {
                                List <ClienteEventos> Eventos = new List <ClienteEventos>();
                                var Days = (DateTime.Now - fecha2).Days;
                                if (Days >= 2)
                                {
                                    ClienteEventos Evento = new ClienteEventos();
                                    Evento.Codigo        = "00";
                                    Evento.Descripcion   = "El cliente lleva mas de " + Days + " dias sin llegar Algun evento";
                                    Evento.Numero        = "N/A";
                                    Evento.ParticionArea = "N/A";
                                    Evento.Ubicacion     = "N/A";
                                    Eventos.Add(Evento);
                                    Guid IdIncidente = Guid.NewGuid();
                                    db.InsertIncidentes(IdIncidente, client.IdCliente, log.Id, "", DateTime.Now, null, "Pendiente", true, DateTime.Now, this.Idusuario);
                                    ClienteAlerta form = new ClienteAlerta(this.Idusuario, IdIncidente);
                                    form.setInfo(client, log.Id);
                                    form.setEventos(Eventos);
                                    form.setButton(this.Button_Badge, this.panel_Notificaciones);
                                    //form.MdiParent = this.MdiParent;
                                    form.ShowDialog();
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error:" + ex.Message + " Inner:" + ex.InnerException);
            }
            this.timer.Start();
        }