Пример #1
0
        private void EnviarNotificacionReporte(InformacionReporteEnvio infoReporte)
        {
            string infoReporteSerializado = Newtonsoft.Json.JsonConvert.SerializeObject(infoReporte).ToString();

            chat.EnviarReporte(infoReporteSerializado);
            limpiarCamposReporte();

            MessageBox.Show("Reporte guardado correctamente");
        }
Пример #2
0
        private void BtnLevantarReporte_Click(object sender, RoutedEventArgs e)
        {
            //VALIDAR QUE SE HAYAN LLENADO LOS CAMPOS DEL REPORTE

            if (listaInvolucrados.Count > 0 && txtDireccion.Text.Trim() != null && archivoImagen.Count > 2)
            {
                //GUARDAR LAS IMÁGENES EN LA BASE

                Imagenes img = new Imagenes();

                using (SistemaReportesVehiculosEntities db = new SistemaReportesVehiculosEntities())
                {
                    for (int i = 0; i < streamImagen.Count(); i++)
                    {
                        byte[] file = null;
                        using (MemoryStream ms = new MemoryStream())
                        {
                            streamImagen[i].CopyTo(ms);
                            file = ms.ToArray();
                        }

                        switch (i)
                        {
                        case 0:
                            img.imagen1 = file;
                            db.Imagenes.Add(img);
                            break;

                        case 1:
                            img.imagen2 = file;
                            db.Imagenes.Add(img);
                            break;

                        case 2:
                            img.imagen3 = file;
                            db.Imagenes.Add(img);
                            break;

                        case 3:
                            img.imagen4 = file;
                            db.Imagenes.Add(img);
                            break;

                        case 4:
                            img.imagen5 = file;
                            db.Imagenes.Add(img);
                            break;

                        case 5:
                            img.imagen6 = file;
                            db.Imagenes.Add(img);
                            break;

                        case 6:
                            img.imagen7 = file;
                            db.Imagenes.Add(img);
                            break;

                        case 7:
                            img.imagen8 = file;
                            db.Imagenes.Add(img);
                            break;
                        }
                    }
                    db.SaveChanges();
                    idImagen = img.idImagenes;
                }


                //GUARDAR TODO EN REPORTE DE LA BASE

                int idReporte = 0;
                using (SistemaReportesVehiculosEntities db = new SistemaReportesVehiculosEntities())
                {
                    //Guardar reporte
                    try
                    {
                        Reporte reporte = new Reporte();
                        reporte.direccion             = txtDireccion.Text;
                        reporte.numCarrosInvolucrados = listaInvolucrados.Count();
                        reporte.idDelegación          = idDelegacionEmisor;
                        reporte.idImagenes            = idImagen;
                        reporte.fechaHora             = DateTime.Now;

                        db.Reporte.Add(reporte);
                        db.SaveChanges();

                        idReporte = reporte.idReporte;
                    }
                    catch
                    {
                        MessageBox.Show("Error, no se pudo guardar el reporte");
                        return;
                    }
                    try
                    {
                        string hora = DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Millisecond.ToString();
                        //Guardar dictamen por defecto
                        Dictamen dictamenNew = new Dictamen
                        {
                            folio       = hora,
                            descripcion = "...",
                            responsable = "0",
                            fechaHora   = null,
                            idUsuario   = null, //Traer el idUsuario desde el login
                            idReporte   = idReporte
                        };
                        db.Dictamen.Add(dictamenNew);
                        db.SaveChanges();
                        MessageBox.Show("dictamen por defecto con éxito");
                    }
                    catch
                    {
                        MessageBox.Show("Error, no se pudo generar el dictamen");
                    }


                    //Guardar matriculas de vehiculos de reporte
                    try
                    {
                        VehiculoReporte vr = new VehiculoReporte();

                        for (int i = 0; i < idReporte; i++)
                        {
                            vr.idReporte = idReporte;
                            db.VehiculoReporte.Add(vr);
                            vr.placas = placasVehiculosInvolucrados[i];
                            db.VehiculoReporte.Add(vr);
                            db.SaveChanges();
                        }
                    }
                    catch
                    {
                    }
                }

                //Enviar notificación de reporte a Servidor
                InformacionReporteEnvio infoNotificacionReporte = new InformacionReporteEnvio(false, true, " ");
                EnviarNotificacionReporte(infoNotificacionReporte);
            }
            else
            {
                MessageBox.Show("Los campos no pueden estar vacíos, debe haber al menos un vehículo añadido y al menos 3 imágenes.", "Error al guardar");
            }
        }