public void iniciarDatos(string _tabla) { //You always work on the active sheet Worksheet activeSheet = ((Worksheet)Globals.ThisAddIn.Application.Application.ActiveSheet); activeSheet.Change -= WorksheetChangeEventHandler; //The established connection of the properties of the sheet is obtained conexionSeleccionada = JsonConvert.DeserializeObject <conexionesOData>(fe.ReadProperty("conexionSeleccionada", activeSheet.CustomProperties)); //The OData connection is established client = new ODataClient(conexionSeleccionada.Url); //Lets create an object to store the connection of the table conexionTabla conexiontabla = new conexionTabla(); conexiontabla.Url = conexionSeleccionada.Url; conexiontabla.Tabla = _tabla; //The connection property to the table is created for the sheet and the value is assigned if (fe.ReadProperty("conexionTabla", activeSheet.CustomProperties) == null) { activeSheet.CustomProperties.Add("conexionTabla", JsonConvert.SerializeObject(conexiontabla)); } else { fe.setProperty("conexionTabla", activeSheet.CustomProperties, JsonConvert.SerializeObject(conexiontabla)); } obtenerColumnasDeTabla(activeSheet, _tabla); traerDatosDeTabla(conexionSeleccionada.Url, _tabla, true); }
private void button7_Click(object sender, RibbonControlEventArgs e) { try { Worksheet activeSheet = ((Worksheet)Globals.ThisAddIn.Application.Application.ActiveSheet); conexionTabla conexiontabla = JsonConvert.DeserializeObject <conexionTabla>(fe.ReadProperty("conexionTabla", activeSheet.CustomProperties)); connections ri = new connections(); ri.iniciarDatos(conexiontabla.Tabla); }catch { MessageBox.Show("Problem loading the data."); } }
public void revisarInformacion(List <List <string> > listaDeDatosActualizados, List <List <string> > listaDeDatosCrudos) { formResultados.Show(); formResultados.progressBar1.Maximum = listaDeDatosActualizados.Count; Worksheet activeSheet = ((Worksheet)Globals.ThisAddIn.Application.Application.ActiveSheet); conexionTabla conexiontabla = JsonConvert.DeserializeObject <conexionTabla>(fe.ReadProperty("conexionTabla", activeSheet.CustomProperties)); ODataClient client = new ODataClient(conexiontabla.Url); int index = Convert.ToInt32(fe.ReadProperty("idLlavePrimaria", activeSheet.CustomProperties)); int contador = 2; foreach (List <string> dato_actualizado in listaDeDatosActualizados) { List <List <string> > listaExistentes = listaDeDatosCrudos.FindAll(x => x.ElementAt(index) == dato_actualizado[index]); if (listaExistentes.Count > 0) { foreach (List <string> trabajando in listaExistentes) { if (trabajando.SequenceEqual(dato_actualizado)) { //MessageBox.Show("No cambio: " + dato_actualizado[1]); } else { //MessageBox.Show("Cambio: " + dato_actualizado[1]); IDictionary <string, object> dictionary = crearDiccionarioUpdate(dato_actualizado, trabajando); var ship = client.For(conexiontabla.Tabla).Key(dictionary).Set(dictionary).UpdateEntryAsync(); try { ship.Wait(); formResultados.richTextBox1.SelectionColor = Color.Green; formResultados.richTextBox1.AppendText("Línea " + contador.ToString() + " - UPDATE - Correcto.\n"); //MessageBox.Show("Bien actualizado.\n"); } catch { formResultados.richTextBox1.SelectionColor = Color.Red; formResultados.richTextBox1.AppendText("Línea " + contador.ToString() + " - UPDATE - Error.\n"); //MessageBox.Show(ship.Exception.Message); //MessageBox.Show(ship.Status.ToString()); } } listaDeDatosCrudos.Remove(trabajando); } } else { //MessageBox.Show("Insertar: " + dato_actualizado[1]); IDictionary <string, object> dictionary = crearDiccionario(dato_actualizado); var ship = client.For(conexiontabla.Tabla).Set(dictionary).InsertEntryAsync(); try { ship.Wait(); //MessageBox.Show("Dato agregado correctamente."); formResultados.richTextBox1.SelectionColor = Color.Green; formResultados.richTextBox1.AppendText("Línea " + contador.ToString() + " - INSERT - Correcto.\n"); } catch { //MessageBox.Show(ship.Exception.Message); //MessageBox.Show(ship.Status.ToString()); formResultados.richTextBox1.SelectionColor = Color.Red; formResultados.richTextBox1.AppendText("Línea " + contador.ToString() + " - INSERT - Error.\n"); } } contador = contador + 1; formResultados.progressBar1.Value = formResultados.progressBar1.Value + 1; } foreach (List <string> eliminar in listaDeDatosCrudos) { //MessageBox.Show("Eliminar: " + eliminar[1]); IDictionary <string, object> dictionary = crearDiccionario(eliminar); var ship = client.For(conexiontabla.Tabla).Key(dictionary).DeleteEntriesAsync(); try { ship.Wait(); //MessageBox.Show("Dato eliminado"); formResultados.richTextBox1.SelectionColor = Color.Green; formResultados.richTextBox1.AppendText("Línea - DELETE - Correcto.\n"); } catch { //MessageBox.Show(ship.Exception.Message); //MessageBox.Show(ship.Status.ToString()); formResultados.richTextBox1.SelectionColor = Color.Red; formResultados.richTextBox1.AppendText("Línea - DELETE - Error.\n"); } } formResultados = new Resultados(); connections ri = new connections(); ri.traerDatosDeTabla(conexiontabla.Url, conexiontabla.Tabla, false); }