private void EnviarNotificacionReporte(InformacionReporteEnvio infoReporte) { string infoReporteSerializado = Newtonsoft.Json.JsonConvert.SerializeObject(infoReporte).ToString(); chat.EnviarReporte(infoReporteSerializado); limpiarCamposReporte(); MessageBox.Show("Reporte guardado correctamente"); }
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"); } }