예제 #1
0
        public void AjustarInventario(IRestResponse restResponse)
        {
            Application.ScreenUpdating = false;
            var rrg = Opcion.JsonaListaGenerica <AjusteArticulo>(restResponse);

            _rowCount = (rrg.Count + 1);
            _reporte  = InicializarExcelConTemplate("AjusteInventario"); //TODO traer de la base de datos

            if (_reporte != null)
            {
                var oRng = _reporte.Range["A1", "T" + _rowCount];
                //    oRng.Cells.AutoFilter(1, Type.Missing, Excel.XlAutoFilterOperator.xlAnd, Type.Missing, true);
                var rowlength = Int32.Parse(Globals.ThisAddIn.Application.ActiveSheet.Cells.Find("*", Missing.Value,
                                                                                                 Missing.Value, Missing.Value, Excel.XlSearchOrder.xlByRows,
                                                                                                 Excel.XlSearchDirection.xlPrevious, false, Missing.Value,
                                                                                                 Missing.Value)
                                            .Row.ToString());
                if (rowlength > 1)
                {
                    _reporte.Range[
                        "A" + 2 + ":T" + Globals.ThisAddIn.Application.ActiveSheet.Cells.Find("*", Missing.Value,
                                                                                              Missing.Value, Missing.Value, Excel.XlSearchOrder.xlByRows,
                                                                                              Excel.XlSearchDirection.xlPrevious, false, Missing.Value,
                                                                                              Missing.Value)
                        .Row].Value2 = "";
                }
                _reporte.Range["A" + 2 + ":L" + _rowCount].Value2 = InicializarLista(rrg);
                _reporte.Range["A" + 2 + ":L" + _rowCount].Validation.Delete();
                Application.ScreenUpdating = true;
            }
            else
            {
                //  MessageBox.Show(@"No se encontraron resultados con la busqueda indicada");
            }
        }
예제 #2
0
        private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            var boton      = dataGridView1.Rows[e.RowIndex].Cells["Detalle"].Selected;
            var nombretipo = dataGridView1.Rows[e.RowIndex].Cells["Departamento"].Value;

            // ReSharper disable once PossibleNullReferenceException
            if (boton && nombretipo != null && nombretipo.ToString() != "TOTAL INVENTARIO:")
            {
                Departamento.DetalleDepartamento(json =>
                {
                    _listadetalle = Opcion.JsonaListaGenerica <DepartamentoDetalle>(json);
                    var addIn     = Globals.ThisAddIn;
                    addIn.DetalleDepartamento(_listadetalle);
                },
                                                 new ReporteGenerico
                {
                    idSucursal  = cbSucursales.SelectedValue.ToString(),
                    fechaInicio = dtFechaIni.Value,
                    fechaFin    = dtFechaFin.Value,
                    //fecha = dtFechaFin.Value,
                    busqueda   = nombretipo.ToString(),
                    idConcepto = 2
                });
            }
        }
예제 #3
0
        public void ResumenMensual(Office.IRibbonControl control)
        {
            var      addIn     = Globals.ThisAddIn;
            DateTime fecha     = DateTime.Now;
            var      iniciomes = new DateTime(fecha.Year, fecha.Month, 1).ToShortDateString();                 //primer dia del mes actual
            var      finmes    = new DateTime(fecha.Year, fecha.Month + 1, 1).AddDays(-1).ToShortDateString(); //ultimo dia del mes actual

            //var inicio = Convert.ToDateTime(iniciomes).ToString("yyyy-MM-dd");
            //var fin = Convert.ToDateTime(finmes).ToString("yyyy-MM-dd");
            Opcion.EjecucionAsync(x =>
            {
                var times = new General
                {
                    FechaFin = Convert.ToDateTime(finmes),
                    FechaIni = Convert.ToDateTime(iniciomes)
                };
                Reporte.AvanceSemanal(x, times);
            }, jsonResult =>
            {
                if (jsonResult != null)
                {
                    var listaSemana    = Opcion.JsonaListaGenerica <DatosSemanal>(jsonResult).ToList();
                    ListaDatosSemanals = listaSemana;
                    addIn.ResumenSemanal(listaSemana);
                }
                else
                {
                    MessageBox.Show(@"No se encontro informacion con los paramentro de busqueda");
                }
            });
        }
예제 #4
0
 private void btBuscar_Click(object sender, EventArgs e)
 {
     Departamento.Consultar(json =>
     {
         dataGridView1.DataSource = Opcion.JsonaListaGenerica <object>(json);
     }, new ReporteGenerico
     {
         idSucursal = cbSucursales.SelectedValue.ToString(),
         fechaIni   = dtFechaIni.Value,
         fechaFin   = dtFechaFin.Value
     });
 }
예제 #5
0
        private void btBuscar_Click(object sender, EventArgs e)
        {
            Departamento.Consultar(json =>
            {
                BeginInvoke((Action)(() =>
                {
                    var filaprimera = new BindingList <DepartamentoCabecero>();
                    filaprimera.AddNew();
                    var list = new List <DepartamentoCabecero>(Opcion.JsonaListaGenerica <DepartamentoCabecero>(json));
                    list.AddRange((filaprimera));
                    dataGridView1.DataSource = list;
                    dataGridView1.RowHeadersVisible = false;
                    dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                    dataGridView1.DefaultCellStyle.Font = new Font("Microsoft Sans Serif", 11);
                    DataGridViewCellStyle style =
                        dataGridView1.ColumnHeadersDefaultCellStyle;
                    style.Font = new Font("Microsoft Sans Serif", 14, FontStyle.Bold);
                    dataGridView1.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    dataGridView1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    dataGridView1.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    dataGridView1.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    dataGridView1.Columns[5].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    dataGridView1.Columns[6].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    dataGridView1.Columns[7].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

                    label6.Text = cbSucursales.Text;
                    dataGridView1.AutoResizeColumns();
                    dataGridView1.AutoSizeColumnsMode =
                        DataGridViewAutoSizeColumnsMode.AllCells;
                    //var porcentaje = new DataGridViewTextBoxColumn
                    //{
                    //    Name = "%",
                    //    HeaderText = @"%",
                    //};
                    //dataGridView1.Columns.Insert(9, porcentaje);
                    var buttonColumn = new DataGridViewButtonColumn
                    {
                        Name = "Detalle",
                        HeaderText = @"Detalle",
                        Text = "Detalle",
                        UseColumnTextForButtonValue = true
                    };
                    dataGridView1.Columns.Insert(8, buttonColumn);
                    dataGridView1.Columns[8].DefaultCellStyle.BackColor = Color.Aqua;


                    double suminve = 0;
                    double sumajus = 0;
                    double sumacer = 0;
                    double sumfall = 0;
                    double sumperd = 0;
                    double sumres = 0;
                    for (var x = 0; x < dataGridView1.RowCount; x++)
                    {
                        dataGridView1.Rows[x].Height = 35;
                        dataGridView1.Rows[x].Cells[8].Style.Font = new Font("Microsoft Sans Serif", 12, FontStyle.Bold);
                        var porciento = Convert.ToDouble(dataGridView1.Rows[x].Cells[7].Value);
                        if (porciento <= 0.00)
                        {
                            dataGridView1.Rows[x].Cells[7].Style.BackColor = Color.Red;
                        }
                        if (porciento >= 0.01 && porciento <= 0.10)
                        {
                            dataGridView1.Rows[x].Cells[7].Style.BackColor = Color.DarkRed;
                        }
                        if (porciento >= 0.11 && porciento <= 0.20)
                        {
                            dataGridView1.Rows[x].Cells[7].Style.BackColor = Color.Firebrick;
                        }
                        if (porciento >= 0.21 && porciento <= 0.30)
                        {
                            dataGridView1.Rows[x].Cells[7].Style.BackColor = Color.OrangeRed;
                        }
                        if (porciento >= 0.31 && porciento <= 0.40)
                        {
                            dataGridView1.Rows[x].Cells[7].Style.BackColor = Color.DarkOrange;
                        }
                        if (porciento >= 0.41 && porciento <= 0.50)
                        {
                            dataGridView1.Rows[x].Cells[7].Style.BackColor = Color.DarkGoldenrod;
                        }
                        if (porciento >= 0.51 && porciento <= 0.60)
                        {
                            dataGridView1.Rows[x].Cells[7].Style.BackColor = Color.Goldenrod;
                        }
                        if (porciento >= 0.61 && porciento <= 0.70)
                        {
                            dataGridView1.Rows[x].Cells[7].Style.BackColor = Color.GreenYellow;
                        }
                        if (porciento >= 0.71 && porciento <= 0.80)
                        {
                            dataGridView1.Rows[x].Cells[7].Style.BackColor = Color.LawnGreen;
                        }
                        if (porciento >= 0.81 && porciento <= 0.90)
                        {
                            dataGridView1.Rows[x].Cells[7].Style.BackColor = Color.OliveDrab;
                        }
                        if (porciento >= 0.91 && porciento <= 1.00)
                        {
                            dataGridView1.Rows[x].Cells[7].Style.BackColor = Color.Olive;
                        }
                        var inve = Convert.ToDouble(dataGridView1.Rows[x].Cells["ArticulosInventariados"].Value);
                        suminve += (inve);
                        var ajus = Convert.ToDouble(dataGridView1.Rows[x].Cells["ArticulosSinAjuste"].Value);
                        sumajus += (ajus);
                        var acer = Convert.ToDouble(dataGridView1.Rows[x].Cells["Acertado"].Value);
                        sumacer += (acer);
                        var fall = Convert.ToDouble(dataGridView1.Rows[x].Cells["Fallado"].Value);
                        sumfall += (fall);
                        var res = Convert.ToDouble(dataGridView1.Rows[x].Cells["Restante"].Value);
                        sumres += (res);
                        var perd = Convert.ToDouble(dataGridView1.Rows[x].Cells["Perdida"].Value);
                        sumperd += (perd);
                    }
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells["Departamento"].Value = "TOTAL INVENTARIO:";
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[1].Value = suminve.ToString(CultureInfo.InvariantCulture);
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[2].Value = sumajus.ToString(CultureInfo.InvariantCulture);
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[3].Value = sumacer.ToString(CultureInfo.InvariantCulture);
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[4].Value = sumfall.ToString(CultureInfo.InvariantCulture);
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[5].Value = sumres.ToString(CultureInfo.InvariantCulture);
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[6].Value = sumperd.ToString(CultureInfo.InvariantCulture);
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[7].Value = 0;
                    //dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[6].Value =;
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[0].Style.BackColor = Color.Gray;
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[1].Style.BackColor = Color.Gray;
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[2].Style.BackColor = Color.Gray;
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[3].Style.BackColor = Color.Gray;
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[4].Style.BackColor = Color.Gray;
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[5].Style.BackColor = Color.Gray;
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[6].Style.BackColor = Color.Gray;
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[7].Style.BackColor = Color.Gray;
                    dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[8].Style.BackColor = Color.Gray;
                }));
            }, new ReporteGenerico
            {
                idSucursal  = cbSucursales.SelectedValue.ToString(),
                fechaInicio = dtFechaIni.Value,
                fechaFin    = dtFechaFin.Value,
                concepto    = 2
            });
        }
예제 #6
0
        public void ReporteAnual(Office.IRibbonControl control)
        {
            var addIn = Globals.ThisAddIn;

            var               fecha         = DateTime.Now.ToShortDateString();
            var               value         = fecha;
            const char        delimite      = '/';
            var               substrings    = value.Split(delimite);
            var               year          = substrings[2];
            var               fechainicial  = "01/01/" + year;
            var               fechafinal    = "12/31/" + year;
            var               date1         = DateTime.Parse(fechainicial, CultureInfo.InvariantCulture);
            var               date2         = DateTime.Parse(fechafinal, CultureInfo.InvariantCulture);
            var               datosAnual    = new List <DatosAnual>();
            var               datosGanador  = new List <DatosAnual>();
            var               datosPerdedor = new List <DatosAnual>();
            var               datosTrade    = new List <DatosAnual>();
            var               datosExito    = new List <DatosAnual>();
            List <DatosAnual> datosFracaso;
            var               times = new General
            {
                FechaIni = Convert.ToDateTime(date1),
                FechaFin = Convert.ToDateTime(date2)
            };

            Opcion.EjecucionAsync(x =>
            {
                Reporte.ReporteAnual(x, times);
            }, jsonResult =>
            {
                if (jsonResult != null)
                {
                    datosAnual = Opcion.JsonaListaGenerica <DatosAnual>(jsonResult).ToList();
                }
                else
                {
                    MessageBox.Show(@"No se encontro informacion con los paramentro de busqueda");
                }

                Opcion.EjecucionAsync(y =>
                {
                    Reporte.SeleccionarTradeGanador(y, times);
                }, jsonResu =>
                {
                    if (jsonResu != null)
                    {
                        datosGanador = Opcion.JsonaListaGenerica <DatosAnual>(jsonResu).ToList();
                    }
                    else
                    {
                        MessageBox.Show(@"No se encontro informacion con los paramentro de busqueda");
                    }
                    Opcion.EjecucionAsync(z =>
                    {
                        Reporte.SeleccionarTradePerdedor(z, times);
                    }, jsonR =>
                    {
                        if (jsonR != null)
                        {
                            datosPerdedor = Opcion.JsonaListaGenerica <DatosAnual>(jsonR).ToList();
                        }
                        else
                        {
                            MessageBox.Show(@"No se encontro informacion con los paramentro de busqueda");
                        }
                        Opcion.EjecucionAsync(z =>
                        {
                            Reporte.TradesAgrupados(z, times);
                        }, jsonRe =>
                        {
                            if (jsonRe != null)
                            {
                                datosTrade = Opcion.JsonaListaGenerica <DatosAnual>(jsonRe).ToList();
                            }
                            else
                            {
                                MessageBox.Show(@"No se encontro informacion con los paramentro de busqueda");
                            }
                            Opcion.EjecucionAsync(z =>
                            {
                                Reporte.SeleccionarRazonExito(z, times);
                            }, json =>
                            {
                                if (json != null)
                                {
                                    datosExito = Opcion.JsonaListaGenerica <DatosAnual>(json).ToList();
                                }
                                else
                                {
                                    MessageBox.Show(@"No se encontro informacion con los paramentro de busqueda");
                                }
                                Opcion.EjecucionAsync(z =>
                                {
                                    Reporte.SeleccionarRazonFracaso(z, times);
                                }, jso =>
                                {
                                    if (jso != null)
                                    {
                                        datosFracaso = Opcion.JsonaListaGenerica <DatosAnual>(jso).ToList();
                                        addIn.ReporteAnual(datosAnual, datosGanador, datosPerdedor, datosTrade, datosExito, datosFracaso);
                                    }
                                    else
                                    {
                                        MessageBox.Show(@"No se encontro informacion con los paramentro de busqueda");
                                    }
                                });
                            });
                        });
                    });
                });
            });
        }