/* * Busca toda la información de los partes que se han trabajado y los envia a central. * Por cada parte genera 3 JSON. * Tras confirmar la transferencia y guardado de la información en central borra los partes enviados. */ public async void EnvioMasivo(object sender, EventArgs e) { Login comprueba = new Login(); if (comprueba.CompruebaTerminados()) { Conecta envio = new Conecta(); List <SAT> sat; List <SAT_Lineas> lineas = new List <SAT_Lineas>(); RepositorySatApp bbdd = new RepositorySatApp(); if (Variables.RevisaParte == true) { sat = bbdd.SatRevisar <SAT>(); } else { sat = bbdd.SatCerrado <SAT>(); } bool SAT = false; bool LINEAS = false; bool NOLINEAS = false; int numparte = 0; int part = 0; foreach (SAT parte in sat) { sat[part].Hora = sat[part].Hora; sat[part].HoraInicioTarea = sat[part].HoraInicioTarea; sat[part].HoraFinTarea = sat[part].HoraFinTarea; //En el caso de alguno de los Pendientes de las opciones es true. Esta a prueba if (sat[part].PendienteRepuesto == true || sat[part].PendientePresupuesto == true || sat[part].PendienteRecambio == true || sat[part].SinReparar == true) { sat[part].Revisar = false; sat[part].FechaEnvioApp = "1900-12-30 00:00:00.000"; } else { sat[part].FechaEnvioApp = "1900-12-30 00:00:00.000"; } lineas = bbdd.LineasSatCerrado <SAT_Lineas>(parte.N_Parte); if (lineas.Count == 0) { await DisplayAlert("Aviso", "El parte número " + parte.N_Parte + " no tiene articulos ni servicios asociados por lo que no se pueden enviar los partes cerrados", "Ok"); NOLINEAS = true; } else { //Estamos en mantenimientos 03/02/2021 string[] rutaUrl = new string[] { "api/ListarSatLineas2", "api/SatAppRespaldo" }; for (int i = 0; i < rutaUrl.Length; i++) { if (rutaUrl[i] == "api/ListarSatLineas2") { if (await envio.UpdateDatosAsync(rutaUrl[i], lineas)) { LINEAS = true; } else { LINEAS = false; } } else if (rutaUrl[i] == "api/SatAppRespaldo") { if (LINEAS == true) { if (await envio.UpdateDatosAsync(rutaUrl[i], sat[part])) { part++; SAT = true; } else { part++; SAT = false; } } } } bbdd.BorrarSatLineas2 <SAT_Lineas>(parte.N_Parte); } if (SAT == false || LINEAS == false) { break; } } if (SAT == true & LINEAS == true & NOLINEAS == false) { bbdd.BorrarSatCerrado(sat); bbdd.BorrarLineasSatCerrado(lineas); await DisplayAlert("Aviso", "Enviados correctamente todos los partes trabajados", "Ok"); ActualizarLista(); } else if (SAT == false & LINEAS == false & NOLINEAS == false) { await DisplayAlert("Aviso", "Error en el envio de parte, el parte numero " + numparte + " no se envio correctamente", "Ok"); } bbdd.CerrarConexion(); } else { await DisplayAlert("Aviso", "No hay partes cerrados que enviar", "Ok"); } }