예제 #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;
     }
 }
예제 #2
0
        public void setInfo(Models.Clientes cliente)
        {
            this.cliente = cliente;
            textBox_TelefonoAlarma.Text = cliente.NumeroTelefonoAlarma;
            textBox_Telefono.Text       = cliente.Telefono;
            textBox_Cliente.Text        = cliente.Nombres + " " + cliente.ApellidoPaterno + " " + cliente.ApellidoMaterno;
            textBox_Direccion.Text      = "Colonia " + cliente.Colonia + ", Calle " + cliente.Calle + " No Interior " + cliente.NoInterior + " No Exterior " + cliente.NoExterior + "\n Entre calles:" + cliente.EntreCalles + ", Color de Establecimiento:" + cliente.ColorEstablecimiento;
            textBox_Estado.Text         = cliente.Estado;
            textBox_Ciudad.Text         = cliente.Ciudad;
            textBox_Correo.Text         = cliente.Email;
            textBox_Pais.Text           = cliente.Pais;
            textBox_PalabraClave.Text   = cliente.PalabraClave;
            textBox_Fecha.Text          = cliente.FechaCreacion.ToString();
            List <GetClienteContactos_Result> contactos = db.GetClienteContactos(2, cliente.IdCliente).ToList();

            foreach (var contacto in contactos.OrderBy(x => x.Prioridad))
            {
                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;
            }
        }
예제 #3
0
        public void setInfo(Guid IdUsuario)
        {
            this.IdUsuario = IdUsuario;
            List <Models.Incidentes> Incidentes = db.Incidentes.Where(x => x.Activo == true).ToList();

            foreach (var Incidente in Incidentes)
            {
                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();
                var    n       = Grid.Rows.Add();
                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);
                    }
                }

                Grid.Rows[n].Cells[0].Value = Incidente.Id;
                Grid.Rows[n].Cells[1].Value = cliente.Nombres + " " + cliente.ApellidoPaterno + " " + cliente.ApellidoMaterno;
                Grid.Rows[n].Cells[2].Value = eventos;
                Grid.Rows[n].Cells[3].Value = Incidente.FechaHoraInicio.ToString("dddd dd MMMM yyyy hh:mm:ss tt", CI);
                if (Incidente.FechaHoraFin != null)
                {
                    Grid.Rows[n].Cells[4].Value = ((DateTime)Incidente.FechaHoraFin).ToString("dddd dd MMMM yyyy hh:mm:ss tt", CI);
                }
                Grid.Rows[n].Cells[5].Value = Incidente.Estatus == null?"Sin Seguimiento":Incidente.Estatus;
            }
        }
예제 #4
0
        public Direccion(Guid IdCliente, Guid IdUsuario)
        {
            InitializeComponent();

            List <Estados> estados = db.Estados.Where(x => x.c_Pais == "MEX").ToList();

            this.IdUsuario                 = IdUsuario;
            this.cliente                   = db.Clientes.Where(x => x.IdCliente == IdCliente).FirstOrDefault();
            this.Textbox_Colonia.Text      = cliente.Colonia;
            this.Textbox_Calle.Text        = cliente.Calle;
            this.Textbox_NoInterior.Text   = cliente.NoInterior;
            this.Textbox_NoExterior.Text   = cliente.NoExterior;
            this.Textbox_CodigoPostal.Text = cliente.CodigoPostal;
            this.Textbox_Referencias.Text  = cliente.Referencias;
            this.Textbox_Color.Text        = cliente.ColorEstablecimiento;
            this.Textbox_EntreCalles.Text  = cliente.EntreCalles;
            this.Textbox_Google.Text       = cliente.GoogleMaps;
            Data();
            if (cliente.GoogleMaps != null)
            {
                webBrowser.ScriptErrorsSuppressed = true;
                //this.webBrowser.Url = new Uri(cliente.GoogleMaps);
                this.webBrowser.Navigate(new Uri(cliente.GoogleMaps));
            }
        }
예제 #5
0
 public bool getData()
 {
     bancos   = db.Bancos.ToList();
     catalogo = db.Catalogos.ToList();
     cliente  = db.Clientes.Where(x => x.IdCliente == Id).FirstOrDefault();
     setData();
     return(true);
 }
예제 #6
0
        private void buttonStatus_Click(object sender, EventArgs e)
        {
            Button button = ((Button)sender);

            Models.Clientes cliente = db.Clientes.Where(x => x.NumeroDeCuenta == button.Name).FirstOrDefault();
            ClienteInfo     form    = new ClienteInfo();

            form.Text = "Cliente " + cliente.Nombres + " " + cliente.ApellidoPaterno + " " + cliente.ApellidoMaterno;
            form.setInfo(cliente);
            form.ShowDialog();
        }
예제 #7
0
        //Guarda la imagen en la bd
        private void Button_AgregarFotos_Click(object sender, EventArgs e)
        {
            OpenFileDialog result = new OpenFileDialog();

            result.Filter           = "Archivos jpg(*.jpg)|*.jpg|Archivos png(*.png)|*.png";
            result.FilterIndex      = 1;
            result.RestoreDirectory = true;

            if (result.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    /******************************************** Sube imagen a servidor ftp ************************************************************/
                    string fileName = result.FileName;
                    byte[] file     = System.IO.File.ReadAllBytes(fileName);
                    Console.WriteLine("Nombre:" + fileName);
                    Guid   Id   = Guid.NewGuid();
                    string Name = Id + "." + fileName.Split('.')[fileName.Split('.').Length - 1];
                    string path = String.Format("Fotos/" + this.NumeroDeCuenta);
                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }
                    File.WriteAllBytes(path + "\\" + Name, file);
                    bool respuesta = SubirFotos(Name, path);

                    /************************************************************************************************************************************/
                    /****************************************** ingreso a la base de datos **************************************************************/
                    if (respuesta == true)
                    {
                        Guid?           IdCliente = new Guid();
                        Models.Clientes Client    = db.Clientes.Where(x => x.NumeroDeCuenta == NumeroDeCuenta).FirstOrDefault();
                        IdCliente = Client.IdCliente;
                        db.InsertClienteFoto(Id, IdCliente, rutacompleta, Name, "ftp://avenzo.mx/Fotos/" + NumeroDeCuenta + "/");
                        AgregarDeNuevo(Name);
                        string pathdelete2 = String.Format(@"{0}/" + path + "/" + Name, Application.StartupPath);
                        File.Delete(pathdelete2);
                        //File.Delete(@"\Users\crist\OneDrive\Escritorio\Proyecto\Monitoreo360\Avenzo\Monitoreo 360\bin\Debug\" + path + "\\" + Name);
                        rutacompleta = string.Empty;

                        MetroMessageBox.Show(this, "Se guardo exitosamento la foto", "Foto agregada", MessageBoxButtons.OK, MessageBoxIcon.Question);
                    }
                    else
                    {
                        MetroMessageBox.Show(this, "No se pudo guardar la imagen", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }
예제 #8
0
        public async void setInfoAsync(Guid id)
        {
            cliente = db.Clientes.Where(x => x.IdCliente == id).FirstOrDefault();

            if (cliente.IdUsuario != null)
            {   // Entra cuando tiene un usuario y tiene un numero de cuenta
                var authProvider = new FirebaseAuthProvider(new FirebaseConfig("AIzaSyCjNHR6PHEqCbUj_Of7Mx2NxePvoXwkvAM"));
                try
                {
                    //Autentificacion si el usuario existe en firebase
                    Auth = await Task.Run(() => authProvider.SignInWithEmailAndPasswordAsync(cliente.NumeroDeCuenta + "@avenzo.mx", cliente.NumeroDeCuenta));

                    User = Auth.User;
                }
                catch (Firebase.Auth.FirebaseAuthException ex)
                {
                    JObject      jObject = JObject.Parse(ex.ResponseData);
                    DialogResult dr      = MetroMessageBox.Show(this, "error:" + jObject["error"]["errors"].First.Last.First.ToString(), "Error en la base de datos de google", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    User = null;
                }
                if (User == null)
                {
                    //Entra si el usuario tiene usuario en sql pero no esta autenticado
                    //Si no esta autenticado bloquar o no permitir la entrada a esta ventana
                    formEdit.Text = "Cliente no cuenta con acceso a aplicacion web ni movil";
                    metroToggle_Android.Checked = false;
                    metroToggle_Web.Checked     = true;
                }
                else
                {
                    //Select para traer los datos de firebase
                    try
                    {
                        var       res = client.Get(@"Accesos/" + cliente.NumeroDeCuenta.ToString());
                        AccesosFb acc = res.ResultAs <AccesosFb>();
                        metroTextBox_Email.Text     = acc.Mail;
                        metroToggle_Android.Checked = acc.Movil;
                        metroToggle_Web.Checked     = acc.Web;
                    }
                    catch (FirebaseAuthException ex)
                    {
                        Console.WriteLine(ex);
                    }
                }
            }
            else
            {
                metroToggle_Android.Checked = false;
                metroToggle_Web.Checked     = false;
            }
        }
예제 #9
0
 public void setDataGridView(Models.Clientes cliente)
 {
     if (DataGrid_Clientes.InvokeRequired)
     {
         setDataList d = new setDataList(setDataGridView);
         this.Invoke(d, new object[] { cliente });
     }
     else
     {
         var n = DataGrid_Clientes.Rows.Add();
         this.ProgressBar.Value += 1;
         DataGrid_Clientes.Rows[n].Cells[0].Value = cliente.IdCliente;
         DataGrid_Clientes.Rows[n].Cells[1].Value = cliente.NumeroDeCuenta;
         DataGrid_Clientes.Rows[n].Cells[2].Value = cliente.Nombres;
         DataGrid_Clientes.Rows[n].Cells[3].Value = cliente.ApellidoPaterno;
         DataGrid_Clientes.Rows[n].Cells[4].Value = cliente.ApellidoMaterno;
         DataGrid_Clientes.Rows[n].Cells[5].Value = cliente.Telefono;
         DataGrid_Clientes.Rows[n].Cells[6].Value = cliente.Email;
         DataGrid_Clientes.Rows[n].Cells[7].Value = cliente.NumeroTelefonoAlarma;
     }
 }
예제 #10
0
        public void setInfo(Models.Clientes cliente, Guid IdLog)
        {
            this.cliente = cliente;
            IdI.Text     = this.IdIncidente.ToString();
            label_NumeroDeCuenta.Text = cliente.NumeroDeCuenta;
            label_TelefonoAlarma.Text = cliente.NumeroTelefonoAlarma;
            label_Telefono.Text       = cliente.Telefono;
            label_Nombres.Text        = cliente.Nombres + " " + cliente.ApellidoPaterno + " " + cliente.ApellidoMaterno;
            label_Colonia.Text        = "Col. " + cliente.Colonia + ", Calle " + cliente.Calle;
            label_NoInterior.Text     = " No Interior " + cliente.NoInterior + " No Exterior " + cliente.NoExterior;
            label_Entre_Calles.Text   = cliente.EntreCalles;
            //textBox_Direccion.Text = "Colonia " + cliente.Colonia + ", Calle " + cliente.Calle + " No Interior " + cliente.NoInterior + " No Exterior " + cliente.NoExterior + "\n Entre calles:" + cliente.EntreCalles + ", Color de Establecimiento:" + cliente.ColorEstablecimiento;
            //textBox_Estado.Text = cliente.Estado;
            //textBox_Ciudad.Text = cliente.Estado;
            label_Correo.Text = cliente.Email;
            //textBox_Pais.Text = cliente.Pais;
            label_PalabraClave.Text           = cliente.PalabraClave;
            label_PalabraClaveSilenciosa.Text = cliente.PalabraClaveSilenciosa;
            label_ColorEstablecimiento.Text   = cliente.ColorEstablecimiento;
            label_FechaCreation.Text          = cliente.FechaCreacion.ToString();
            VerifyAsync(cliente.NumeroDeCuenta + "@avenzo.mx", cliente.NumeroDeCuenta);
            List <GetClienteContactos_Result> contactos = db.GetClienteContactos(2, cliente.IdCliente).ToList();

            foreach (var contacto in contactos.OrderBy(x => x.Prioridad))
            {
                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;
            }
            //pictureBox_Photo.BackgroundImage=
            if (!string.IsNullOrEmpty(cliente.GoogleMaps))
            {
                var t = new Thread(setBrowseMap);
                t.SetApartmentState(ApartmentState.STA);
                t.Start();
            }
        }
예제 #11
0
 public void setDataGridView(Models.Clientes cliente)
 {
     if (dataGridView_Clientes.InvokeRequired)
     {
         setDataList d = new setDataList(setDataGridView);
         this.Invoke(d, new object[] { cliente });
     }
     else
     {
         var n = this.dataGridView_Clientes.Rows.Add();
         dataGridView_Clientes.Rows[n].Cells[0].Value = cliente.IdCliente;
         dataGridView_Clientes.Rows[n].Cells[1].Value = cliente.NumeroDeCuenta;
         dataGridView_Clientes.Rows[n].Cells[2].Value = cliente.Nombres;
         dataGridView_Clientes.Rows[n].Cells[3].Value = cliente.ApellidoPaterno;
         dataGridView_Clientes.Rows[n].Cells[4].Value = cliente.ApellidoMaterno;
         dataGridView_Clientes.Rows[n].Cells[6].Value = cliente.NumeroTelefonoAlarma;
         dataGridView_Clientes.Rows[n].Cells[5].Value = cliente.Telefono;
         dataGridView_Clientes.Rows[n].Cells[7].Value = cliente.Email;
         //                dataGridView_Clientes.Rows[n].Cells[9].Nam
         //dataGridView_Clientes.Rows[n].Cells[8].Value = "Editar";
     }
 }
예제 #12
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);
            }
        }
예제 #13
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<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";
                            //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();
        }
예제 #14
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);
            }
        }
예제 #15
0
 public void setDataPanel(Models.Clientes cliente)
 {
     if (panel.InvokeRequired)
     {
         setDataList d = new setDataList(setDataPanel);
         this.Invoke(d, new object[] { cliente });
     }
     else
     {
         this.ProgressBar.Value += 1;
         System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Monitor_));
         Button buttonStatus = new Button();
         buttonStatus.BackColor = System.Drawing.Color.LightGray;
         buttonStatus.Location  = new System.Drawing.Point(x, y);
         buttonStatus.Name      = cliente.NumeroDeCuenta;
         buttonStatus.Text      = cliente.NumeroDeCuenta;
         buttonStatus.FlatStyle = FlatStyle.Flat;
         buttonStatus.Font      = new System.Drawing.Font("Century Gothic", 5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
         buttonStatus.Size      = new System.Drawing.Size(30, 30);
         buttonStatus.TabIndex  = 3;
         buttonStatus.TabStop   = false;
         buttonStatus.Click    += new EventHandler(buttonStatus_Click);
         this.panel.Controls.Add(buttonStatus);
         this.panel.Location = new System.Drawing.Point(20, 60);
         this.panel.Name     = "panel_" + cliente.NumeroDeCuenta;
         this.panel.TabIndex = 1;
         List <LogMonitoreo360> logs = db.LogMonitoreo360.Where(model => cliente.NumeroDeCuenta.Contains(model.Log.Substring(61, 4)) && cliente.NumeroTelefonoAlarma.Contains(model.Log.Substring(54, 6).Replace("-", ""))).ToList();
         foreach (var log in logs.OrderBy(model => model.FechaCreacion))
         {
             string   report  = log.Log.Substring(66, log.Log.Length - 66);
             string[] eventos = report.Split('-')[1].Split('/');
             if (eventos.Count() > 1)
             {
                 List <CodigoEventos> CodigosEventos = db.CodigoEventos.ToList();
                 foreach (var evento in eventos)
                 {
                     if (evento.Substring(0, 2).Contains("OP"))
                     {
                         buttonStatus.BackColor = System.Drawing.Color.SeaGreen;
                     }
                     else if (evento.Substring(0, 2).Contains("CL"))
                     {
                         buttonStatus.BackColor = System.Drawing.Color.GreenYellow;
                     }
                     else if (evento.Substring(0, 2).Contains("CR"))
                     {
                         buttonStatus.BackColor = System.Drawing.Color.IndianRed;
                     }
                     else if (evento.Substring(0, 2).Contains("OR"))
                     {
                         buttonStatus.BackColor = System.Drawing.Color.BlueViolet;
                     }
                 }
             }
         }
         x     = x + 35;
         count = count + 1;
         if ((x + 30) > width)
         {
             y     = y + 35;
             x     = 5;
             count = 0;
         }
     }
 }
예제 #16
0
        private void timer_Tick(object sender, EventArgs e)
        {
            this.timer.Stop();
            CultureInfo            CI       = new CultureInfo("es-MX");
            List <Models.Clientes> Clientes = db.Clientes.Where(model => model.Activo == true && !string.IsNullOrEmpty(model.NumeroTelefonoAlarma) && !string.IsNullOrEmpty(model.NumeroDeCuenta)).ToList();

            foreach (var cliente in Clientes.OrderBy(model => model.Nombres))
            {
                List <LogMonitoreo360> logs = db.LogMonitoreo360.Where(model => cliente.NumeroDeCuenta.Contains(model.Log.Substring(61, 4)) && cliente.NumeroTelefonoAlarma.Contains(model.Log.Substring(54, 6).Replace("-", ""))).ToList();
                foreach (var log in logs.OrderBy(model => model.FechaCreacion))
                {
                    string   report  = log.Log.Substring(66, log.Log.Length - 66);
                    string[] eventos = report.Split('-')[1].Split('/');
                    if (eventos.Count() > 1)
                    {
                        List <CodigoEventos> CodigosEventos = db.CodigoEventos.ToList();
                        foreach (var evento in eventos)
                        {
                            if (evento.Substring(0, 2).Contains("OP"))
                            {
                                foreach (Control button in this.panel_Clientes.Controls)
                                {
                                    if (button.Name == cliente.NumeroDeCuenta)
                                    {
                                        ((Button)button).BackColor = System.Drawing.Color.SeaGreen;
                                    }
                                }
                            }
                            else if (evento.Substring(0, 2).Contains("CL"))
                            {
                                foreach (Control button in this.panel_Clientes.Controls)
                                {
                                    if (button.Name == cliente.NumeroDeCuenta)
                                    {
                                        button.BackColor = System.Drawing.Color.YellowGreen;
                                    }
                                }
                            }
                            else if (evento.Substring(0, 2).Contains("CR"))
                            {
                                foreach (Control button in this.panel_Clientes.Controls)
                                {
                                    if (button.Name == cliente.NumeroDeCuenta)
                                    {
                                        button.BackColor = System.Drawing.Color.IndianRed;
                                    }
                                }
                            }
                            else if (evento.Substring(0, 2).Contains("OR"))
                            {
                                foreach (Control button in this.panel_Clientes.Controls)
                                {
                                    if (button.Name == cliente.NumeroDeCuenta)
                                    {
                                        button.BackColor = System.Drawing.Color.BlueViolet;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            //*********************************************************************************
            //******************************** Fuera de horario *******************************
            //*********************************************************************************

            List <HorarioOperaciones> horarios = db.HorarioOperaciones.ToList();
            DateTime now  = DateTime.Now;
            TimeSpan Hora = new TimeSpan(now.Hour, now.Minute, now.Second);

            foreach (var horario in horarios)
            {
                Models.Clientes        cliente = db.Clientes.Where(x => x.IdCliente == horario.IdCliente).FirstOrDefault();
                List <LogMonitoreo360> logs    = db.LogMonitoreo360.Where(model => cliente.NumeroDeCuenta.Contains(model.Log.Substring(61, 4)) && cliente.NumeroTelefonoAlarma.Contains(model.Log.Substring(54, 6).Replace("-", ""))).OrderBy(x => x.FechaCreacion).ToList();
                foreach (var log in logs)
                {
                    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('/');
                    Console.WriteLine(fecha.Day + "==" + now.Day + "&&" + fecha.Month + "==" + now.Month + "&&" + fecha.Year + "==" + now.Year);
                    if (fecha.Day == now.Day && fecha.Month == now.Month && fecha.Year == now.Year)
                    {
                        foreach (var evento in eventos)
                        {
                            if (evento.Substring(0, 2).Contains("OP") || evento.Substring(0, 2).Contains("OR") || evento.Substring(0, 2).Contains("CR") || evento.Substring(0, 2).Contains("CL"))
                            {
                                Console.WriteLine(fecha.ToString("dddd", new CultureInfo("es-MX")));
                                if (fecha.ToString("dddd", CI) == "lunes")
                                {
                                    if (Hora < horario.LunesInicio || Hora > horario.LunesFinal)
                                    {
                                        foreach (Control button in this.panel_Clientes.Controls)
                                        {
                                            if (button.Name == "button_Estatus_" + cliente.NumeroDeCuenta)
                                            {
                                                ((Button)button).BackColor = System.Drawing.Color.IndianRed;
                                            }
                                        }
                                    }
                                }
                                if (fecha.ToString("dddd", CI) == "martes")
                                {
                                    if (Hora < horario.MartesInicio || Hora > horario.MartesFinal)
                                    {
                                        foreach (Control button in this.panel_Clientes.Controls)
                                        {
                                            if (button.Name == cliente.NumeroDeCuenta)
                                            {
                                                ((Button)button).BackColor = System.Drawing.Color.IndianRed;
                                            }
                                        }
                                    }
                                }
                                if (fecha.ToString("dddd", CI) == "miercoles")
                                {
                                    if (Hora < horario.MiercolesInicio || Hora > horario.MiercolesFinal)
                                    {
                                        foreach (Control button in this.panel_Clientes.Controls)
                                        {
                                            if (button.Name == cliente.NumeroDeCuenta)
                                            {
                                                ((Button)button).BackColor = System.Drawing.Color.IndianRed;
                                            }
                                        }
                                    }
                                }
                                if (fecha.ToString("dddd", CI) == "jueves")
                                {
                                    if (Hora < horario.JuevesInicio || Hora > horario.JuevesFinal)
                                    {
                                        foreach (Control button in this.panel_Clientes.Controls)
                                        {
                                            if (button.Name == cliente.NumeroDeCuenta)
                                            {
                                                ((Button)button).BackColor = System.Drawing.Color.IndianRed;
                                            }
                                        }
                                    }
                                }
                                if (fecha.ToString("dddd", CI) == "viernes")
                                {
                                    if (Hora < horario.ViernesInicio || Hora > horario.ViernesFinal)
                                    {
                                        foreach (Control button in this.panel_Clientes.Controls)
                                        {
                                            if (button.Name == cliente.NumeroDeCuenta)
                                            {
                                                ((Button)button).BackColor = System.Drawing.Color.IndianRed;
                                            }
                                        }
                                    }
                                }
                                if (fecha.ToString("dddd", CI) == "sabado")
                                {
                                    if (Hora < horario.SabadoInicio || Hora > horario.SabadoFinal)
                                    {
                                        foreach (Control button in this.panel_Clientes.Controls)
                                        {
                                            if (button.Name == cliente.NumeroDeCuenta)
                                            {
                                                ((Button)button).BackColor = System.Drawing.Color.IndianRed;
                                            }
                                        }
                                    }
                                }
                                if (fecha.ToString("dddd", CI) == "domingo")
                                {
                                    if (Hora < horario.DomingoInicio || Hora > horario.DomingoFinal)
                                    {
                                        foreach (Control button in this.panel_Clientes.Controls)
                                        {
                                            if (button.Name == cliente.NumeroDeCuenta)
                                            {
                                                ((Button)button).BackColor = System.Drawing.Color.IndianRed;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            this.timer.Start();
        }