internal void getByIdEntrada(bool withDetail = true)
        {
            try
            {
                this.comm = GenericDataAccess.CreateCommandSP("sp_Entrada_inventario");
                addParameters(withDetail ? 5 : 6);
                this.dt   = GenericDataAccess.ExecuteSelectCommand(comm);
                this._lst = new List <Entrada_inventario>();
                foreach (DataRow dr in dt.Rows)
                {
                    Entrada_inventario o = new Entrada_inventario();

                    if (withDetail)
                    {
                        BindByDataRow(dr, o);
                        //o.Ubicacion = dr["ubicacion"].ToString();
                        if (dr["consec"] != DBNull.Value)
                        {
                            int.TryParse(dr["consec"].ToString(), out entero);
                            o.Consec = entero;
                            entero   = 0;
                        }
                        //o.Comprador = dr["comprador"].ToString();
                        o.Proveedor = dr["proveedor"].ToString();
                        o.Nom       = dr["nom"].ToString();
                    }
                    else
                    {
                        int.TryParse(dr["id"].ToString(), out entero);
                        o.Id   = entero;
                        entero = 0;
                        if (dr["id_entrada"] != DBNull.Value)
                        {
                            int.TryParse(dr["id_entrada"].ToString(), out entero);
                            o.Id_entrada = entero;
                            entero       = 0;
                        }
                        o.Orden_compra = dr["orden_compra"].ToString();
                        o.Codigo       = dr["codigo"].ToString();

                        o.Mercancia  = dr["mercancia"].ToString();
                        o.Mercancia += Entrada_inventario_loteMng.getLotesByIdEntradaInventario(o.Id);
                    }
                    this._lst.Add(o);
                }
            }
            catch
            {
                throw;
            }
        }
        internal void selByIdInventario()
        {
            try
            {
                this.comm = GenericDataAccess.CreateCommandSP("sp_Salida_remision");
                addParameters(6);
                this.dt   = GenericDataAccess.ExecuteSelectCommand(comm);
                this._lst = new List <Salida_remision>();
                foreach (DataRow dr in dt.Rows)
                {
                    Salida_remision o = new Salida_remision();
                    BindByDataRow(dr, o);

                    o.Mercancia  = dr["mercancia"].ToString();
                    o.Mercancia += Entrada_inventario_loteMng.getLotesByIdEntradaInventario(Convert.ToInt32(o.Id_entrada_inventario));

                    o.PTrafico = new Salida_trafico();
                    entero     = 0;
                    if (dr["id_entrada"] != DBNull.Value)
                    {
                        int.TryParse(dr["id_entrada"].ToString(), out entero);
                        o.PTrafico.Id = entero;
                        entero        = 0;
                    }

                    entero = 0;
                    if (dr["tieneOrdenCarga"] != DBNull.Value)
                    {
                        int.TryParse(dr["tieneOrdenCarga"].ToString(), out entero);
                        o.TieneOrdenCarga = entero > 0;
                        entero            = 0;
                    }

                    o.PTrafico.Folio_cita = dr["folio_cita"].ToString();

                    this._lst.Add(o);
                }
            }
            catch
            {
                throw;
            }
        }
        public static List <Entrada_inventario_lote> getLotesDistinct(int id_entrada_inventario)
        {
            List <Entrada_inventario_lote> lstEIL = new List <Entrada_inventario_lote>();

            try
            {
                Entrada_inventario_loteMng oEILMng = new Entrada_inventario_loteMng()
                {
                    O_Entrada_inventario_lote = new Entrada_inventario_lote()
                    {
                        Id_entrada_inventario = id_entrada_inventario
                    }
                };
                oEILMng.selDistinctLote();
                lstEIL = oEILMng.Lst;
            }
            catch
            {
                throw;
            }
            return(lstEIL);
        }
        public override void selById()
        {
            try
            {
                this.comm = GenericDataAccess.CreateCommandSP("sp_Entrada_fondeo");
                addParameters(1);
                DataSet ds = GenericDataAccess.ExecuteMultSelectCommand(comm);
                dt = ds.Tables[0];
                if (dt.Rows.Count == 1)
                {
                    DataRow dr = dt.Rows[0];
                    BindByDataRow(dr, this._oEntrada_fondeo);

                    DataTable dtVendor = ds.Tables[1];
                    this._oEntrada_fondeo.LstClienteVendor = new List <Cliente_vendor>();
                    foreach (DataRow drVendor in dtVendor.Rows)
                    {
                        Cliente_vendor oCV = new Cliente_vendor();
                        int.TryParse(drVendor["id"].ToString(), out entero);
                        oCV.Id     = entero;
                        entero     = 0;
                        oCV.Codigo = drVendor["codigo"].ToString();
                        oCV.Nombre = drVendor["nombre"].ToString();
                        this._oEntrada_fondeo.LstClienteVendor.Add(oCV);
                    }

                    DataTable dtMercancia = ds.Tables[2];
                    this._oEntrada_fondeo.LstClienteMercancia = new List <Cliente_mercancia>();
                    foreach (DataRow drMercancia in dtMercancia.Rows)
                    {
                        Cliente_mercancia oCM = new Cliente_mercancia();
                        int.TryParse(drMercancia["id"].ToString(), out entero);
                        oCM.Id     = entero;
                        entero     = 0;
                        oCM.Codigo = drMercancia["codigo"].ToString();
                        oCM.Nombre = drMercancia["nombre"].ToString();
                        this._oEntrada_fondeo.LstClienteMercancia.Add(oCM);
                    }

                    DataTable             dtInventario = ds.Tables[3];
                    Entrada_inventarioMng oEIMng       = new Entrada_inventarioMng();
                    Entrada_inventario    oEI          = new Entrada_inventario();
                    if (dtInventario.Rows.Count == 1)
                    {
                        DataRow drEI = dtInventario.Rows[0];
                        oEIMng.BindByDataRow(drEI, oEI);
                        DataTable dtInvDet = ds.Tables[4];
                        Entrada_inventario_detailMng     oEIDMng = new Entrada_inventario_detailMng();
                        List <Entrada_inventario_detail> lstEID  = new List <Entrada_inventario_detail>();
                        foreach (DataRow drEID in dtInvDet.Rows)
                        {
                            Entrada_inventario_detail oEID = new Entrada_inventario_detail();
                            oEIDMng.BindByDataRow(drEID, oEID);
                            lstEID.Add(oEID);
                        }
                        oEI.LstEntInvDet = lstEID;

                        DataTable dtInvLote = ds.Tables[5];
                        Entrada_inventario_loteMng     oEILMng = new Entrada_inventario_loteMng();
                        List <Entrada_inventario_lote> lstEIL  = new List <Entrada_inventario_lote>();
                        foreach (DataRow drEIL in dtInvLote.Rows)
                        {
                            Entrada_inventario_lote oEIL = new Entrada_inventario_lote();
                            oEILMng.BindByDataRow(drEIL, oEIL);
                            lstEIL.Add(oEIL);
                        }
                        oEI.LstEntInvLote = lstEIL;
                    }



                    this._oEntrada_fondeo.PEntInv = oEI;
                }
                else if (dt.Rows.Count > 1)
                {
                    throw new Exception("Error de integridad");
                }
                else
                {
                    throw new Exception("No existe información para el registro solicitado");
                }
            }
            catch
            {
                throw;
            }
        }