private void ImprimeSalidaPartida()
        {
            var salidaDetalles = SalidaService.SalidaDetalleDao.RptSalidaPartida
                    (dtFechaIni.Value, dtFechaFin.Value, FrmAlmacen.AlmacenActual);

            if (salidaDetalles.Count != 0)
            {
                var lstSalidaPartida = new List<rptDataEntradaPartida>();
                foreach (var salidaDetalle in salidaDetalles)
                {
                    var entradaVale = new rptDataEntradaPartida()
                    {
                        Es = "SALIDAS",
                        FechaIni = dtFechaIni.Value,
                        FechaFin = dtFechaFin.Value,
                        CvePartida = salidaDetalle[0].ToString(),
                        DesPartida = salidaDetalle[1].ToString(),
                        Presupuesto = Convert.ToDouble(salidaDetalle[2]),
                        TipoPresupuesto = salidaDetalle[3].ToString()
                    };
                    lstSalidaPartida.Add(entradaVale);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstSalidaPartida,
                    StrRptName = "rptSalidaPartida",
                    StrTitle = "ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"No Existen Salidas, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void ImprimeEntradaFolio()
        {
            var entradas = EntradaService.EntradaDao.RptEntradaFolio
                    (dtFechaIni.Value, dtFechaFin.Value, FrmAlmacen.AlmacenActual);

            if (entradas.Count != 0)
            {
                var lstEntrada = new List<rptDataEntradaFolio>();
                foreach (var entra in entradas)
                {
                    var entrada = new rptDataEntradaFolio()
                    {
                        ES = "ENTRADAS",
                        FechaIni = dtFechaIni.Value,
                        FechaFin = dtFechaFin.Value,
                        FolioEntrada = (int)entra[0],
                        Fecha = DateTime.Parse(entra[1].ToString()),
                        Proveedor = entra[2].ToString(),
                        Factura = entra[3].ToString(),
                        FolioPedido = (int)entra[4],
                        TipoPedido = entra[5].ToString(),
                        Total = Convert.ToDouble(entra[6]),
                    };
                    lstEntrada.Add(entrada);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstEntrada,
                    StrRptName = "rptEntradaFolio",
                    StrTitle = "ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"No Existen Entradas, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Beispiel #3
0
        private void ImprimeEntradaDetallado(string strEntradaFecha, string strEntradaFolio, string strSituacion,
                        string strTipoPedido, CatTipopedido objCatTipopedido, string strPedidoFecha, string strPedidoFolio)
        {
            var entradaDetalles = EntradaService.EntradaDetalleDao.RptEntradaDetallado
                    (FrmAlmacen.AlmacenActual, strEntradaFecha, strEntradaFolio, strSituacion, strTipoPedido, objCatTipopedido,
                    strPedidoFecha, strPedidoFolio);

            if (entradaDetalles.Count != 0)
            {
                var lstEntrada = new List<rptDataEntradaDetallado>();
                foreach (var entradaDetalle in entradaDetalles)
                {
                    var entrada = new rptDataEntradaDetallado()
                    {
                        Es = "ENTRADAS",
                        Fecha = DateTime.Parse(entradaDetalle[0].ToString()),
                        Folio = (int)entradaDetalle[1],
                        Factura = entradaDetalle[2].ToString(),
                        TipoPedido = entradaDetalle[3].ToString(),
                        FechaPedido = DateTime.Parse(entradaDetalle[4].ToString()),
                        NumPedido = (int)entradaDetalle[5],
                        CveArt = (int)entradaDetalle[6],
                        DesArticulo = entradaDetalle[7].ToString(),
                        Cantidad = (decimal)entradaDetalle[8],
                        Marca = entradaDetalle[9]==null?"":entradaDetalle[9].ToString(),
                        Precio = (decimal)entradaDetalle[10],
                        Caducidad = DateTime.Parse(entradaDetalle[11].ToString()),
                        Lote = entradaDetalle[12].ToString(),
                        Descuento = (decimal)entradaDetalle[13],
                        Iva = Convert.ToInt16(entradaDetalle[14]),
                        Status = entradaDetalle[15] == null ? "A" : entradaDetalle[15].ToString()
                    };
                    lstEntrada.Add(entrada);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstEntrada,
                    StrRptName = "rptEntradaDetallado",
                    StrTitle = "ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"No Existen Entradas, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Beispiel #4
0
        private void ImprimeSalidaDetallado(string strEntradaFecha, string strEntradaFolio, string strSituacion,
                        string strCatArea, CatArea objCatArea)
        {
            var salidaDetalles = SalidaService.SalidaDetalleDao.RptSalidaDetallado
                    (FrmAlmacen.AlmacenActual, strEntradaFecha, strEntradaFolio, strSituacion, strCatArea, objCatArea);

            if (salidaDetalles.Count != 0)
            {
                var lstSalida = new List<rptDataEntradaDetallado>();
                foreach (var salidaDetalle in salidaDetalles)
                {
                    var entrada = new rptDataEntradaDetallado()
                    {
                        Es = "SALIDAS",
                        Fecha = DateTime.Parse(salidaDetalle[0].ToString()),
                        Folio = (int)salidaDetalle[1],
                        Factura = salidaDetalle[2].ToString(),

                        CveArt = (int)salidaDetalle[3],
                        DesArticulo = salidaDetalle[4].ToString(),

                        Cantidad = (decimal)salidaDetalle[5],
                        Precio = (decimal)salidaDetalle[6],

                        Caducidad = DateTime.Parse(salidaDetalle[7].ToString()),
                        Lote = salidaDetalle[8] + "-" + salidaDetalle[9],

                        Status = salidaDetalle[10] == null ? "A" : salidaDetalle[10].ToString()
                    };
                    lstSalida.Add(entrada);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstSalida,
                    StrRptName = "rptSalidaDetallado",
                    StrTitle = "ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"No Existen Salidas, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void ImprimeEntradaPedido()
        {
            var entradaDetalles = EntradaService.EntradaDetalleDao.RptEntradaPedido
                    (FrmAlmacen.AlmacenActual, int.Parse(txtFolio.Text), (int)cmbAnioEntrada.Value,
                    cmbTipoPedido.SelectedValue as CatTipopedido);

            if (entradaDetalles.Count != 0)
            {
                var lstEntradas = new List<rptDataEntradaPedido>();
                foreach (var entradadetalle in entradaDetalles)
                {
                    var objArticuloId = new ArticuloId((int) entradadetalle[10], FrmAlmacen.AlmacenActual);
                    var objArticulo = EntradaService.ArticuloDao.Get(objArticuloId);

                    var entrada = new rptDataEntradaPedido()
                    {
                        InfoPedido = entradadetalle[0] + " " + entradadetalle[1] + " " +
                                    Convert.ToDateTime(entradadetalle[2]).ToShortDateString(),
                        Proveedor = entradadetalle[3].ToString(),
                        CveArt = objArticulo.Id.CveArt,
                        DesArticulo = objArticulo.DesArticulo,
                        Unidad = objArticulo.CatUnidad,
                        FechaEntrada = Convert.ToDateTime(entradadetalle[4].ToString()),
                        FolioEntrada = (int)entradadetalle[5],
                        Factura = entradadetalle[6].ToString(),
                        CantidadPedida = Convert.ToDouble(entradadetalle[7]),
                        CantidadRecibida = Convert.ToDouble(entradadetalle[8]),
                        CostoUnitario = Convert.ToDouble(entradadetalle[9]),
                        CantidadxRecibir = Convert.ToDouble(entradadetalle[11])
                    };
                    lstEntradas.Add(entrada);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstEntradas,
                    StrRptName = "rptEntradaPedido",
                    StrTitle = "ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"No Existen Entradas, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void ImprimeEntradaProveedor()
        {
            var entradaDetalles = EntradaService.EntradaDetalleDao.RptEntradaProveedor
                    (dtFechaIni.Value, dtFechaFin.Value, FrmAlmacen.AlmacenActual, ProveedorActual);

            if (entradaDetalles.Count != 0)
            {
                var lstEntradaProveedor = new List<rptDataEntradaProveedor>();
                foreach (var entradaDetalle in entradaDetalles)
                {
                    var entradaVale = new rptDataEntradaProveedor()
                    {
                        ES = "ENTRADAS",
                        FechaIni = dtFechaIni.Value,
                        FechaFin = dtFechaFin.Value,
                        intFolioPedido = (int)entradaDetalle[0],
                        strTipoPedido = entradaDetalle[1].ToString(),
                        intFolioEntrada = (int)entradaDetalle[2],
                        FechaEntrada = DateTime.Parse(entradaDetalle[3].ToString()),
                        CveArt = (int)entradaDetalle[4],
                        DesArticulo = entradaDetalle[5].ToString(),
                        Unidad = entradaDetalle[6].ToString(),
                        Cantidad = Convert.ToDouble(entradaDetalle[7]),
                        CostoUnit = Convert.ToDouble(entradaDetalle[8]),
                        Proveedor = ProveedorActual.CveProveedor + "  " +  ProveedorActual.NombreFiscal
                    };
                    lstEntradaProveedor.Add(entradaVale);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstEntradaProveedor,
                    StrRptName = "rptEntradaProveedor",
                    StrTitle = "ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"No Existen Entradas, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void ImprimeSalidaVale()
        {
            var salidaDetalles = SalidaService.SalidaDetalleDao.RptSalidaVale
                    (int.Parse(txtFolio.Text), (int)cmbAnioEntrada.Value, FrmAlmacen.AlmacenActual.IdAlmacen);

            if (salidaDetalles.Count != 0)
            {
                var lstSalidaVale = new List<rptDataSalidaVale>();
                foreach (var salidaDetalle in salidaDetalles)
                {
                    var salidaVale = new rptDataSalidaVale()
                    {
                        Area = FrmAlmacen.AlmacenActual.DesAlmacen,
                        Fecha = DateTime.Parse(salidaDetalle[0].ToString()),
                        Folio = (int)salidaDetalle[1],
                        CveArt = (int)salidaDetalle[2],
                        DesArticulo = salidaDetalle[3].ToString(),
                        Unidad = salidaDetalle[4].ToString(),
                        Cantidad = Convert.ToDouble(salidaDetalle[5]),
                        Costo = Convert.ToDouble(salidaDetalle[6]),
                        Caducidad = DateTime.Parse(salidaDetalle[7].ToString()),
                        Capturo = salidaDetalle[8].ToString(),
                        NumEntrada = (int)salidaDetalle[9]
                    };
                    lstSalidaVale.Add(salidaVale);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstSalidaVale,
                    StrRptName = "rptSalidaVale",
                    StrTitle = "SALIDA DE ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"La Salida no Existe, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void ImprimeEntradaVale()
        {
            var entrada = EntradaService.EntradaDao.CargaSoloEntrada(
                (int) cmbAnioEntrada.Value, FrmAlmacen.AlmacenActual.IdAlmacen, int.Parse(txtFolio.Text));

            if(entrada!=null)
            {
                if(entrada.Pedido!=null)
                {
                    var entregaDetalles = EntradaService.EntradaDetalleDao.RptEntradaVale
                    (int.Parse(txtFolio.Text), (int)cmbAnioEntrada.Value, FrmAlmacen.AlmacenActual.IdAlmacen);

                    if (entregaDetalles.Count !=0)
                    {
                        var lstEntradaVale = new List<rptDataEntradaVale>();
                        foreach (var entregaDetalle in entregaDetalles)
                        {
                            var entradaVale = new rptDataEntradaVale()
                                {
                                    Folio = (int) entregaDetalle[0],
                                    Fecha = DateTime.Parse(entregaDetalle[1].ToString()),
                                    Factura = entregaDetalle[2].ToString(),
                                    CveArt = (int)entregaDetalle[3],
                                    DesArt = entregaDetalle[4].ToString(),
                                    Unidad = entregaDetalle[5].ToString(),
                                    Recibida = Convert.ToDouble(entregaDetalle[6]),
                                    Lote = entregaDetalle[7]!=null?entregaDetalle[7].ToString():"",
                                    Caducidad = DateTime.Parse(entregaDetalle[8].ToString()),
                                    Proveedor = entregaDetalle[9].ToString(),
                                    Pedido = (int)entregaDetalle[10],
                                    TipoPedido = (int)entregaDetalle[11],
                                    Pedida = Convert.ToDouble(entregaDetalle[12]),
                                    PrecioUnitario =Convert.ToDouble(entregaDetalle[13]),
                                    Marca = entregaDetalle[14]!=null?entregaDetalle[14].ToString():"",
                                    Recibio = entregaDetalle[15].ToString(),
                                    Superviso = entregaDetalle[16].ToString(),
                                    Capturo = entregaDetalle[17].ToString(),
                                    Descuento = Convert.ToDouble(entregaDetalle[18]),
                                    Iva = int.Parse(entregaDetalle[19].ToString())
                                };
                            lstEntradaVale.Add(entradaVale);
                        }
                        var formaVisor = new FrmCrVisor
                            {
                                ObjList = lstEntradaVale,
                                StrRptName = "rptEntradaVale",
                                StrTitle = "ENTRADA AL ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                            };
                        formaVisor.ShowDialog();
                    }
                }
                else
                {
                    var entregaDetalles = EntradaService.EntradaDetalleDao.RptEntradaValeSinPedido
                    (int.Parse(txtFolio.Text), (int)cmbAnioEntrada.Value, FrmAlmacen.AlmacenActual.IdAlmacen);

                    if (entregaDetalles.Count != 0)
                    {
                        var lstEntradaVale = new List<rptDataEntradaVale>();
                        foreach (var entregaDetalle in entregaDetalles)
                        {
                            var entradaVale = new rptDataEntradaVale()
                            {
                                Folio = (int)entregaDetalle[0],
                                Fecha = DateTime.Parse(entregaDetalle[1].ToString()),
                                Factura = entregaDetalle[2].ToString(),
                                CveArt = (int)entregaDetalle[3],
                                DesArt = entregaDetalle[4].ToString(),
                                Unidad = entregaDetalle[5].ToString(),
                                Recibida = Convert.ToDouble(entregaDetalle[6]),
                                Lote = entregaDetalle[7] != null ? entregaDetalle[7].ToString() : "",
                                Caducidad = DateTime.Parse(entregaDetalle[8].ToString()),
                                //Proveedor = entregaDetalle[9].ToString(),
                                //Pedido = (int)entregaDetalle[10],
                                //TipoPedido = (int)entregaDetalle[11],
                                //Pedida = Convert.ToDouble(entregaDetalle[12]),
                                //PrecioUnitario = Convert.ToDouble(entregaDetalle[13]),
                                //Marca = entregaDetalle[14] != null ? entregaDetalle[14].ToString() : "",
                                Recibio = entregaDetalle[9].ToString(),
                                Superviso = entregaDetalle[10].ToString(),
                                Capturo = entregaDetalle[11].ToString(),
                                //Descuento = Convert.ToDouble(entregaDetalle[18]),
                                //Iva = int.Parse(entregaDetalle[19].ToString())
                                PrecioUnitario = Convert.ToDouble(entregaDetalle[12])
                            };
                            lstEntradaVale.Add(entradaVale);
                }
                        var formaVisor = new FrmCrVisor
                        {
                            ObjList = lstEntradaVale,
                            StrRptName = "rptEntradaVale",
                            StrTitle = "ENTRADA AL ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                        };
                        formaVisor.ShowDialog();
                    }
                }
            }
            else
            {
                MessageBox.Show(@"La Entrada no Existe, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void ImprimeRequisicionVale()
        {
            var requisicionDetalles = RequisicionService.RequisicionDetallDao.RptRequisicionVale
                    (int.Parse(txtFolio.Text), (int)cmbAnioEntrada.Value, FrmAlmacen.AlmacenActual);

            if (requisicionDetalles.Count != 0)
            {
                var lstRequisicionVale = new List<rptDataRequisicionVale>();
                foreach (var requisicionDetalle in requisicionDetalles)
                {
                    var requisicionVale = new rptDataRequisicionVale()
                    {
                        Fecha = DateTime.Parse(requisicionDetalle[1].ToString()),
                        CveArt = (int)requisicionDetalle[2],
                        DesArticulo = requisicionDetalle[3].ToString(),
                        Unidad = requisicionDetalle[4].ToString(),
                        Cantidad = Convert.ToDouble(requisicionDetalle[5]),
                        Costo = Convert.ToDouble(requisicionDetalle[6]),
                        Licitacion = requisicionDetalle[7].ToString()
                    };
                    switch (requisicionDetalle[0].ToString().Length)
                    {
                        case 1 :
                            requisicionVale.NumeroRequisicion =
                                int.Parse(DateTime.Parse(requisicionDetalle[1].ToString()).Year + "00" +
                                        requisicionDetalle[0]);
                            break;
                        case 2: requisicionVale.NumeroRequisicion =
                                int.Parse(DateTime.Parse(requisicionDetalle[1].ToString()).Year + "0" +
                                        requisicionDetalle[0]);
                            break;
                        default: requisicionVale.NumeroRequisicion =
                                 int.Parse(DateTime.Parse(requisicionDetalle[1].ToString()).Year +
                                         requisicionDetalle[0].ToString());
                            break;

                    }
                    lstRequisicionVale.Add(requisicionVale);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstRequisicionVale,
                    StrRptName = "rptRequisicionVale",
                    StrTitle = "REQUISICION DE ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"La Requisicion no Existe, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void ImprimePedidosGenerados()
        {
            var pedidoDetalles = RequisicionService.PedidoDetalleDao.RptPedidosGenerados
                    (int.Parse(txtFolio.Text), (int)cmbAnioEntrada.Value, FrmAlmacen.AlmacenActual);

            if (pedidoDetalles.Count != 0)
            {
                var lstPedidosGenerados = new List<rptDataPedidosGenerados>();
                foreach (var pedidoDetalle in pedidoDetalles)
                {
                    var pedidoGenerado = new rptDataPedidosGenerados()
                    {
                        NumRequisicion = int.Parse(txtFolio.Text),
                        FechaRequisicion = DateTime.Parse(pedidoDetalle[0].ToString()),
                        NumPedido = (int)pedidoDetalle[1],
                        FechaPedido = DateTime.Parse(pedidoDetalle[2].ToString()),
                        Partida = pedidoDetalle[3].ToString(),
                        DesPartida = pedidoDetalle[4].ToString()
                    };
                    lstPedidosGenerados.Add(pedidoGenerado);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstPedidosGenerados,
                    StrRptName = "rptPedidosGenerados",
                    StrTitle = "REPORTE DE PEDIDOS GENERADOS ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"La Requisicion no Existe, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void ImprimeCierre()
        {
            var cierres = CatPartidaActual == null?
                CierreService.CierreDao.RptCierre((int)cmbMes.SelectedValue,(int)cmbAnio.Value,
                FrmAlmacen.AlmacenActual.IdAlmacen,rbtnCExistencia.Checked):
                CierreService.CierreDao.RptCierreXPartida((int)cmbMes.SelectedValue, (int)cmbAnio.Value,
                FrmAlmacen.AlmacenActual.IdAlmacen, CatPartidaActual.Partida, rbtnCExistencia.Checked);

            if (cierres.Count != 0)
            {
                var lstCierre = new List<rptDataCierre>();
                foreach (var cierre in cierres)
                {
                    var newCierre = new rptDataCierre()
                    {
                        FechaCierre = DateTime.Parse(cierre[5].ToString()),
                        CveArt = (int)cierre[0],
                        DesArticulo = cierre[1].ToString(),
                        Medida = cierre[2].ToString(),
                        Existencia = Convert.ToDouble(cierre[3]),
                        Costo = Convert.ToDouble(cierre[4]),
                        CvePartida = cierre[6].ToString(),
                        DesPartida = cierre[7].ToString()

                    };
                    lstCierre.Add(newCierre);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstCierre,
                    StrRptName = "rptCierre",
                    StrTitle = "ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"No Existe Cierre, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
        }
Beispiel #12
0
        private void ImprimeKardex(IList<object []> kardexDetalles)
        {
            if (kardexDetalles.Count != 0)
            {
                var lstKardex = new List<rptDataKardex>();
                var intTmp = 0;
                var intCveArt = 0;
                var douExistencia = 0.0;
                var douSaldo = 0.0;
                foreach (var kardexDetalle in kardexDetalles)
                {
                    intTmp++;
                    var idArticulo = new ArticuloId()
                    {
                        Almacen = FrmAlmacen.AlmacenActual,
                        CveArt = (int)kardexDetalle[3]
                    };
                    var desArticulo = EntradaService.ArticuloDao.Get(idArticulo).DesArticulo;
                    //Inserta Cierre

                    var objCierre = new Cierre();
                    if (intTmp == 1 || (intCveArt != (int)kardexDetalle[3]))
                    {
                        //Consulta Cierre
                        var cierreId = new CierreId()
                        {
                            FechaCierre = dtFechaIni.AddDays(-1),
                            Articulo = EntradaService.ArticuloDao.Get(idArticulo)
                        };
                        objCierre = EntradaService.CierreDao.Get(cierreId);

                        var Cierre = new rptDataKardex()
                        {
                            FechaIni = dtFechaIni,
                            FechaFin = dtFechaFin.Value,
                            DesArticulo = desArticulo,
                            CvePartida = kardexDetalle[1].ToString(),
                            DesPartida = kardexDetalle[2].ToString(),
                            CveArt = (int)kardexDetalle[3],
                            Unidad = kardexDetalle[4].ToString(),
                            Presentacion = kardexDetalle[5] == null ? "" : kardexDetalle[5].ToString(),
                            PresentacionCant = kardexDetalle[6] == null ? "" : kardexDetalle[6].ToString(),
                            PresentacionUnid = kardexDetalle[7] == null ? "" : kardexDetalle[7].ToString(),
                            Fecha = dtFechaIni.AddDays(-1),
                            Folio = -1,
                            //CantEntrada = objCierre == null ? 0 : Convert.ToDouble(objCierre.Existencia),
                            CantSalida = -1,
                            //Existencia = objCierre == null ? 0 : Convert.ToDouble(objCierre.Existencia),
                            //PrecioEntrada = objCierre == null ? 0 : Convert.ToDouble(objCierre.Importe),
                            PrecioSalida = -1,
                            //Debe = objCierre == null ? 0 : Convert.ToDouble(objCierre.Existencia * objCierre.Importe),
                            //Saldo = objCierre == null ? 0 : Convert.ToDouble(objCierre.Existencia * objCierre.Importe),
                            Haber = -1,
                            Area = @"EXISTENCIA AL " + dtFechaIni.AddDays(-1).ToShortDateString()
                        };
                        if(objCierre==null)
                        {
                            Cierre.CantEntrada = 0;
                            Cierre.Existencia = 0;
                            Cierre.PrecioEntrada = 0;
                            Cierre.Debe = 0;
                            Cierre.Saldo = 0;
                        }
                        else
                        {
                            Cierre.CantEntrada = Convert.ToDouble(objCierre.Existencia);
                            Cierre.Existencia = Convert.ToDouble(objCierre.Existencia);
                            Cierre.PrecioEntrada = Convert.ToDouble(objCierre.Importe);
                            Cierre.Debe = Convert.ToDouble(objCierre.Existencia * objCierre.Importe);
                            Cierre.Saldo = Convert.ToDouble(objCierre.Existencia * objCierre.Importe);
                        }
                        lstKardex.Add(Cierre);
                    }

                    var kardex = new rptDataKardex()
                    {
                        FechaIni = dtFechaIni,
                        FechaFin = dtFechaFin.Value,
                        DesArticulo = desArticulo,
                        CvePartida = kardexDetalle[1].ToString(),
                        DesPartida = kardexDetalle[2].ToString(),
                        CveArt = (int)kardexDetalle[3],
                        Unidad = kardexDetalle[4].ToString(),
                        Presentacion = kardexDetalle[5] == null ? "" : kardexDetalle[5].ToString(),
                        PresentacionCant = kardexDetalle[6] == null ? "" : kardexDetalle[6].ToString(),
                        PresentacionUnid = kardexDetalle[7] == null ? "" : kardexDetalle[7].ToString(),
                        Fecha = DateTime.Parse(kardexDetalle[8].ToString()),
                        Pedido = kardexDetalle[9] == null ? 0 : (int)kardexDetalle[9],
                        Folio = (int)kardexDetalle[10],
                        CantEntrada = Convert.ToDouble(kardexDetalle[11]),
                        CantSalida = Convert.ToDouble(kardexDetalle[12]),
                        PrecioEntrada = Convert.ToDouble(kardexDetalle[13]),
                        PrecioSalida = Convert.ToDouble(kardexDetalle[14]),
                        Debe = Convert.ToDouble(kardexDetalle[15]),
                        Haber = Convert.ToDouble(kardexDetalle[16]),
                        Area = kardexDetalle[17].ToString(),
                        TipoPedido = kardexDetalle[18] == null ? -1 : (int)kardexDetalle[18]
                    };
                    if (intTmp == 1 || intCveArt != (int)kardexDetalle[3])
                    {
                        intCveArt = (int)kardexDetalle[3];
                        if(objCierre==null)
                        {
                            douExistencia = 0;
                            douSaldo = 0;
                        }
                        else
                        {
                            douExistencia = Convert.ToDouble(objCierre.Existencia);
                            douSaldo = Convert.ToDouble(objCierre.Existencia * objCierre.Importe);
                        }
                        //douExistencia = objCierre == null ? 0 : Convert.ToDouble(objCierre.Existencia);
                        //douSaldo = objCierre == null ? 0 : Convert.ToDouble(objCierre.Existencia * objCierre.Importe);

                        //douExistencia = kardexDetalle[0].ToString() == "E" ?
                        //            douExistencia + Convert.ToDouble(kardexDetalle[11]) :
                        //            douExistencia - Convert.ToDouble(kardexDetalle[12]);

                    }
                    //else
                    //{
                    //    if(intCveArt!=(int) kardexDetalle[3])
                    //    {
                    //        intCveArt = (int)kardexDetalle[3];
                    //        douExistencia = 0.0;
                    //        douSaldo = 0.0;
                    //douExistencia = kardexDetalle[0].ToString() == "E" ?
                    //       douExistencia + Convert.ToDouble(kardexDetalle[11]) :
                    //       douExistencia - Convert.ToDouble(kardexDetalle[12]);
                    //}
                    //else
                    //{
                    //    intCveArt = (int)kardexDetalle[3];
                    //    douExistencia = 0.0;
                    //    //douExistencia = kardexDetalle[0].ToString() == "E" ?
                    //    //            douExistencia + Convert.ToDouble(kardexDetalle[11]) :
                    //    //            douExistencia - Convert.ToDouble(kardexDetalle[12]);
                    //}
                    //}

                    douExistencia = kardexDetalle[0].ToString() == "E" ?
                                douExistencia + Convert.ToDouble(kardexDetalle[11]) :
                                douExistencia - Convert.ToDouble(kardexDetalle[12]);

                    douSaldo = kardexDetalle[0].ToString() == "E" ?
                                douSaldo + Convert.ToDouble(kardexDetalle[15]) :
                                douSaldo - Convert.ToDouble(kardexDetalle[16]);

                    kardex.Existencia = douExistencia;
                    kardex.Saldo = douSaldo;
                    lstKardex.Add(kardex);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstKardex,
                    StrRptName = "rptKardex",
                    StrTitle = "ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"No Existen Entradas/Salidas, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void ImprimeEntradaProveedor(string strArea)
        {
            var salidaDetalles = SalidaService.SalidaDetalleDao.RptSalidaArea
                    (FrmAlmacen.AlmacenActual, dtFechaIni.Value, dtFechaFin.Value, strArea, CatAreaActual,
                        CatPartidaActual);

            if (salidaDetalles.Count != 0)
            {
                var lstSalidas = new List<rptDataSalidaArea>();
                foreach (var salidaDetalle in salidaDetalles)
                {
                    var objArticuloId = new ArticuloId((int) salidaDetalle[0], FrmAlmacen.AlmacenActual);
                    var objArticulo = SalidaService.ArticuloDao.Get(objArticuloId);

                    var salida = new rptDataSalidaArea()
                    {
                        DesArea = CatAreaActual==null?"TODAS":CatAreaActual.DesArea,
                        FechaIni = dtFechaIni.Value,
                        FechaFin = dtFechaFin.Value,
                        Partida = salidaDetalle[1].ToString(),
                        DesPartida = salidaDetalle[2].ToString(),
                        CveArt = objArticulo.Id.CveArt,
                        DesArticulo = objArticulo.DesArticulo,
                        Medida = objArticulo.CatUnidad,
                        Enero = salidaDetalle[3] == null ? 0 : Convert.ToDouble(salidaDetalle[3]),
                        Febrero = salidaDetalle[4] == null ? 0 : Convert.ToDouble(salidaDetalle[4]),
                        Marzo = salidaDetalle[5] == null ? 0 : Convert.ToDouble(salidaDetalle[5]),
                        Abril = salidaDetalle[6] == null ? 0 : Convert.ToDouble(salidaDetalle[6]),
                        Mayo = salidaDetalle[7] == null ? 0 : Convert.ToDouble(salidaDetalle[7]),
                        Junio = salidaDetalle[8] == null ? 0 : Convert.ToDouble(salidaDetalle[8]),
                        Julio = salidaDetalle[9] == null ? 0 : Convert.ToDouble(salidaDetalle[9]),
                        Agosto = salidaDetalle[10] == null ? 0 : Convert.ToDouble(salidaDetalle[10]),
                        Septiembre = salidaDetalle[11] == null ? 0 : Convert.ToDouble(salidaDetalle[11]),
                        Octubre = salidaDetalle[12] == null ? 0 : Convert.ToDouble(salidaDetalle[12]),
                        Noviembre = salidaDetalle[13] == null ? 0 : Convert.ToDouble(salidaDetalle[13]),
                        Diciembre = salidaDetalle[14] == null ? 0 : Convert.ToDouble(salidaDetalle[14])
                    };
                    lstSalidas.Add(salida);
                }
                var formaVisor = new FrmCrVisor
                {
                    ObjList = lstSalidas,
                    StrRptName = "rptSalidaArea",
                    StrTitle = "ALMACEN DE " + FrmAlmacen.AlmacenActual.DesAlmacen
                };
                formaVisor.ShowDialog();
            }
            else
            {
                MessageBox.Show(@"No Existen Salidas, Verifique . .",
                                @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }