示例#1
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (txtMATERIAL.Text == "")
            {
                MessageBox.Show("Debe seleccionar un material para poder graficar");
                return;
            }
            if (dtpDESDE.Value == dtpHASTA.Value)
            {
                MessageBox.Show("No se puede graficar si las fechas comparadas son la misma");
                return;
            }
            if (grafico == true)
            {
                MessageBox.Show("Ya hay una grafica con este material");
                return;
            }
            exportar = true;
            grafico  = true;
            dgvORDENESVENTA.DataSource = null;
            listCompra = cOccantmat.SuperFiltro(dtpDESDE.Value, dtpHASTA.Value, txtMATERIAL.Text);
            // istVentaCargada = cOccantmatVenta.SuperFiltroVenta(dtpDESDE.Value, dtpHASTA.Value, txtMATERIAL.Text);
            listVenta = cOccantmatVenta.SuperFiltroVenta(dtpDESDE.Value, dtpHASTA.Value, txtMATERIAL.Text);



            //foreach (var item in listVentaCargada)
            //{
            //    if (listVentaCargada.LongCount()==0)
            //    {
            //        listVenta.Add(item);
            //    }
            //    foreach (var item2 in listVenta)
            //    {
            //        if (item.venta.Fecha.ToString("yy/MM/dd") == item2.venta.Fecha.ToString("yy/MM/dd"))
            //        {
            //            item.cantidadmat.cantidad_base_venta += item2.cantidadmat.cantidad_base_venta;

            //        }
            //        if (item.venta.Fecha.ToString("yy/MM/dd") != item2.venta.Fecha.ToString("yy/MM/dd"))
            //        {
            //            listVenta.Add(item);

            //        }
            //    }


            //}



            if (listCompra.Count() >= listVenta.Count())
            {
                foreach (var item in listCompra)
                {
                    omagic = new MODELO.magiafinal();
                    //omagic.Fecha = "";
                    //omagic.cantVenta = 0;
                    //omagic.cantCompra = 0;
                    omagic.Fecha      = item.ordercompra.Fecha.ToString("yy/MM/dd");
                    omagic.cantCompra = item.cantidadmat.cantidad_base;
                    foreach (var itemV in listVenta)
                    {
                        if (itemV.venta.Fecha.ToString("yy/MM/dd") == omagic.Fecha)
                        {
                            omagic.cantVenta += itemV.cantidadmat.cantidad_base_venta;
                            //omagic.diferencia = omagic.cantVenta - omagic.cantCompra;
                        }

                        else
                        {
                            //omagic.cantVenta = 0;
                        }
                    }

                    listFinal.Add(omagic);
                }
            }
            else
            {
                foreach (var item in listVenta)
                {
                    omagic = new MODELO.magiafinal();
                    //omagic.Fecha = "";
                    //omagic.cantVenta = 0;
                    //omagic.cantCompra = 0;
                    omagic.Fecha     = item.venta.Fecha.ToString("yy/MM/dd");
                    omagic.cantVenta = item.cantidadmat.cantidad_base_venta;
                    foreach (var itemV in listCompra)
                    {
                        if (itemV.ordercompra.Fecha.ToString("yy/MM/dd") == omagic.Fecha)
                        {
                            omagic.cantCompra += itemV.cantidadmat.cantidad_base;
                            //omagic.diferencia = omagic.cantCompra - omagic.cantVenta;
                        }
                        else
                        {
                            //omagic.cantCompra = 0;
                        }
                    }
                    listFinal.Add(omagic);
                }
            }//CREO QUE LO AGREGAMSO MUCHAS VECES.
            foreach (var item in listFinal)
            {
                int count = 0;
                if (listFinality.LongCount() < 1)
                {
                    listFinality.Add(item);
                }
                foreach (var item2 in listFinality)
                {
                    if (item.Fecha != item2.Fecha)
                    {
                        count++;
                    }
                }

                if (listFinality.LongCount() == count)
                {
                    listFinality.Add(item);
                }
                else
                {
                    //listFinality.Remove(item);
                    foreach (var item2 in listFinality)
                    {
                        if (item.Fecha == item2.Fecha)
                        {
                            item.cantVenta += item2.cantVenta;
                        }
                    }
                    listFinality.Add(item);
                }
            }

            foreach (var item in listFinality)
            {
                omagic = item;
                foreach (var item2 in listFinality)
                {
                    if (item.Fecha == item2.Fecha && item.cantVenta < item2.cantVenta)
                    {
                        omagic = item2;
                    }
                }
                listDefinitiva.Add(omagic);
            }
            foreach (var item in listDefinitiva)
            {
                omagic = item;
                foreach (var item2 in listDefinitiva)
                {
                    if (item.Fecha == item2.Fecha && item.cantCompra < item2.cantCompra)
                    {
                        omagic = item2;
                    }
                }
                listDefinitivaSuperSaiain2.Add(omagic);
            }

            foreach (var item in listDefinitivaSuperSaiain2)
            {
                if (!listDefinitivaSuperSaiain.Contains(item))
                {
                    listDefinitivaSuperSaiain.Add(item);
                }
            }

            dgvORDENESVENTA.DataSource = listDefinitivaSuperSaiain;

            for (int i = 0; i < dgvORDENESVENTA.Rows.Count; i++)
            {
                this.chart1.Series["Compras"].Points.AddXY(dgvORDENESVENTA.Rows[i].Cells[0].Value.ToString(), Convert.ToDecimal(dgvORDENESVENTA.Rows[i].Cells[1].Value.ToString()));
                this.chart1.Series["Ventas"].Points.AddXY(dgvORDENESVENTA.Rows[i].Cells[0].Value.ToString(), Convert.ToDecimal(dgvORDENESVENTA.Rows[i].Cells[2].Value.ToString()));
                //chart1.Update();
            }
        }