// Esta funcion permite enviar los partes cerrados al servidor public bool CompruebaTerminados() { bool resultado = false; List <SAT> sat; List <SAT_Lineas> lineas; List <SAT_Equipo> equipo; RepositorySatApp BBDD = new RepositorySatApp(); var valores = BBDD.GetAll <Valores_SAT>().FirstOrDefault(); if (valores != null) { Variables.ArticuloVarios = valores.SAT_ArticuloVarios; Variables.RevisaParte = valores.SAT_RevisarParteAPP; } if (Variables.RevisaParte == true) { sat = BBDD.SatRevisar <SAT>(); } else { sat = BBDD.SatCerrado <SAT>(); } if (sat.Count >= 1) { foreach (var parte in sat) { lineas = BBDD.LineasSatCerrado <SAT_Lineas>(parte.N_Parte); equipo = BBDD.EquipoSatCerrado <SAT_Equipo>(parte.Maquina); } resultado = true; } else { resultado = false; } return(resultado); }
//Obtiene una lista con las lineas sat de los partes cerrados public bool ExisteParteLineas(SAT_Lineas obj) { try { RepositorySatApp datos = new RepositorySatApp(); var list = datos.LineasSatCerrado <SAT_Lineas>(obj.N_Parte); Console.WriteLine(list.ToString()); foreach (var item in list) { if (item.N_Parte == obj.N_Parte && item.Descripcion.Equals(obj.Descripcion)) { return(true); } } return(false); } catch (Exception ex) { throw ex; } }
/* * 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"); } }