Пример #1
0
 // ReSharper disable once FunctionComplexityOverflow
 public void GuardarDatos(Office.IRibbonControl control)
 {
     try
     {
         string name = Globals.ThisAddIn.Application.ActiveSheet.Name;
         if (name.Equals(@"ResumenMensual"))
         {
             //var mse = new MensajeDeEspera(() =>
             //{
             //    DialogResult continuarCancelacion = MessageBox.Show(@"¿Desea detener la operación?",
             //    @"Alerta",
             //    MessageBoxButtons.YesNoCancel,
             //    MessageBoxIcon.Question);
             //    cancelar = continuarCancelacion == DialogResult.Yes;
             //    return cancelar;
             //});
             //mse.Show();
             var sheet = Globals.ThisAddIn.Application.ActiveSheet;
             //var nInLastRow = sheet.Cells.Find("*", Missing.Value, Missing.Value, Missing.Value, XlSearchOrder.xlByRows,
             //   XlSearchDirection.xlPrevious, false, Missing.Value, Missing.Value)
             //    .Row;
             object[,] value  = sheet.Range["B7", "M11"].Value;
             object[,] value1 = sheet.Range["B16", "M20"].Value;
             object[,] value2 = sheet.Range["B25", "M29"].Value;
             object[,] value3 = sheet.Range["B34", "M38"].Value;
             object[,] value4 = sheet.Range["B43", "M47"].Value;
             var lista = new List <Guardar>();
             for (var x = 1; x <= (value.Length / 12); x++)
             {
                 Dato  = value[x, 10] == null ? "" : value[x, 10].ToString();
                 Dato2 = value[x, 11] == null ? "" : value[x, 11].ToString();
                 var id           = value[x, 12] == null ? "" : value[x, 12].ToString();
                 var fechaguardar = Convert.ToDateTime(value[x, 1]).ToString("yyyy-MM-dd");
                 {
                     if (value[x, 1] != null && value[x, 2] != null && value[x, 3] != null && value[x, 5] != null &&
                         value[x, 6] != null)
                     {
                         lista.Add(new Guardar
                         {
                             Fecha     = fechaguardar,
                             TipoTrade = value[x, 2].ToString(),
                             Proceso   = value[x, 3].ToString(),
                             Direccion = value[x, 5].ToString(),
                             Puntos    = Convert.ToDouble(value[x, 6]),
                             Exito     = Dato,
                             Fracaso   = Dato2,
                             Id        = id
                         });
                     }
                 }
             }
             for (var x = 1; x <= (value1.Length / 12); x++)
             {
                 Dato  = value1[x, 10] == null ? "" : value1[x, 10].ToString();
                 Dato2 = value1[x, 11] == null ? "" : value1[x, 11].ToString();
                 var id           = value1[x, 12] == null ? "" : value1[x, 12].ToString();
                 var fechaguardar = Convert.ToDateTime(value1[x, 1]).ToString("yyyy-MM-dd");
                 {
                     if (value1[x, 1] != null && value1[x, 2] != null && value1[x, 3] != null && value1[x, 5] != null &&
                         value1[x, 6] != null)
                     {
                         lista.Add(new Guardar
                         {
                             Fecha     = fechaguardar,
                             TipoTrade = value1[x, 2].ToString(),
                             Proceso   = value1[x, 3].ToString(),
                             Direccion = value1[x, 5].ToString(),
                             Puntos    = Convert.ToDouble(value1[x, 6]),
                             Exito     = Dato,
                             Fracaso   = Dato2,
                             Id        = (id)
                         });
                     }
                 }
             }
             for (var x = 1; x <= (value2.Length / 12); x++)
             {
                 Dato  = value2[x, 10] == null ? "" : value2[x, 10].ToString();
                 Dato2 = value2[x, 11] == null ? "" : value2[x, 11].ToString();
                 var id           = value2[x, 12] == null ? "" : value2[x, 12].ToString();
                 var fechaguardar = Convert.ToDateTime(value2[x, 1]).ToString("yyyy-MM-dd");
                 {
                     if (value2[x, 1] != null && value2[x, 2] != null && value2[x, 3] != null && value2[x, 5] != null &&
                         value2[x, 6] != null)
                     {
                         lista.Add(new Guardar
                         {
                             Fecha     = fechaguardar,
                             TipoTrade = value2[x, 2].ToString(),
                             Proceso   = value2[x, 3].ToString(),
                             Direccion = value2[x, 5].ToString(),
                             Puntos    = Convert.ToDouble(value2[x, 6]),
                             Exito     = Dato,
                             Fracaso   = Dato2,
                             Id        = (id)
                         });
                     }
                 }
             }
             for (var x = 1; x <= (value3.Length / 12); x++)
             {
                 Dato  = value3[x, 10] == null ? "" : value3[x, 10].ToString();
                 Dato2 = value3[x, 11] == null ? "" : value3[x, 11].ToString();
                 var id           = value3[x, 12] == null ? "" : value3[x, 12].ToString();
                 var fechaguardar = Convert.ToDateTime(value3[x, 1]).ToString("yyyy-MM-dd");
                 {
                     if (value3[x, 1] != null && value3[x, 2] != null && value3[x, 3] != null && value3[x, 5] != null &&
                         value3[x, 6] != null)
                     {
                         lista.Add(new Guardar
                         {
                             Fecha     = fechaguardar,
                             TipoTrade = value3[x, 2].ToString(),
                             Proceso   = value3[x, 3].ToString(),
                             Direccion = value3[x, 5].ToString(),
                             Puntos    = Convert.ToDouble(value3[x, 6]),
                             Exito     = Dato,
                             Fracaso   = Dato2,
                             Id        = id
                         });
                     }
                 }
             }
             for (var x = 1; x <= (value4.Length / 12); x++)
             {
                 Dato  = value4[x, 10] == null ? "" : value4[x, 10].ToString();
                 Dato2 = value4[x, 11] == null ? "" : value4[x, 11].ToString();
                 var fechaguardar = Convert.ToDateTime(value4[x, 1]).ToString("yyyy-MM-dd");
                 var id           = value4[x, 12] == null ? "" : value4[x, 12].ToString();
                 {
                     if (value4[x, 1] != null && value4[x, 2] != null && value4[x, 3] != null && value4[x, 5] != null &&
                         value4[x, 6] != null)
                     {
                         lista.Add(new Guardar
                         {
                             Fecha     = fechaguardar,
                             TipoTrade = value4[x, 2].ToString(),
                             Proceso   = value4[x, 3].ToString(),
                             Direccion = value4[x, 5].ToString(),
                             Puntos    = Convert.ToDouble(value4[x, 6]),
                             Exito     = Dato,
                             Fracaso   = Dato2,
                             Id        = id
                         });
                     }
                 }
             }
             // ReSharper disable once ForCanBeConvertedToForeach
             for (var i = 0; i < lista.Count; i++)
             {
                 if (lista[i].Id == "" && lista[i].Fecha != null && lista[i].TipoTrade != null && lista[i].Proceso != null &&
                     lista[i].Direccion != null)
                 {
                     var listaguardar = new Guardar
                     {
                         Fecha     = lista[i].Fecha,
                         TipoTrade = lista[i].TipoTrade,
                         Proceso   = lista[i].Proceso,
                         Direccion = lista[i].Direccion,
                         Puntos    = lista[i].Puntos,
                         Exito     = lista[i].Exito,
                         Fracaso   = lista[i].Fracaso
                     };
                     Opcion.EjecucionAsync(x =>
                     {
                         Reporte.Guardado(x, listaguardar);
                     }, resultado =>
                     {
                     });
                 }
                 else if ((lista[i].Id != null && lista[i].Fecha != null && lista[i].TipoTrade != null && lista[i].Proceso != null &&
                           lista[i].Direccion != null))
                 {
                     var listaguardar = new Guardar
                     {
                         Id        = lista[i].Id,
                         Fecha     = lista[i].Fecha,
                         TipoTrade = lista[i].TipoTrade,
                         Proceso   = lista[i].Proceso,
                         Direccion = lista[i].Direccion,
                         Puntos    = lista[i].Puntos,
                         Exito     = lista[i].Exito,
                         Fracaso   = lista[i].Fracaso
                     };
                     Reporte.Actualizar(listaguardar);
                 }
             }
             MessageBox.Show(@"La informacion se a guardado correctamente");
         }
         else
         {
             throw new Exception(
                       @"Debes escoger la hoja de trabajo 'ResumenMensual' para seleccionar esta opción.");
         }
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
     }
 }