internal override string GenerarFiltrosColumnas() { var sb = new StringBuilder(); var flag = true; ValoresParametros.Clear(); Condiciones.Clear(); // Condición para coger el stockhistorico que no está en stockactual sb.AppendFormat("s.lote is NULL AND"); sb.AppendFormat(" h.empresa='{0}' ", Empresa); if (!string.IsNullOrEmpty(Fkalmacen)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkalmacen", Fkalmacen); sb.Append(" h.fkalmacenes = @fkalmacen "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.Fkalmacen, Fkalmacen)); flag = true; } if (!string.IsNullOrEmpty(Fkzonasalmacen)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkzonasalmacen", Fkzonasalmacen); sb.Append(" h.fkalmaceneszona = @fkzonasalmacen "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.Fkzonas, Fkzonasalmacen)); flag = true; } if (Tipodealmacenlote.HasValue) { int index = Array.IndexOf(Enum.GetValues(Tipodealmacenlote?.GetType()), Tipodealmacenlote); string Tipoalmacenlote = index.ToString(); if (flag) { sb.Append(" AND "); } ValoresParametros.Add("tipoalmacenlote", Tipoalmacenlote); sb.Append(" h.tipoalmacenlote = @tipoalmacenlote "); switch (Tipodealmacenlote) { case TipoAlmacenlote.Mercaderia: { Tipoalmacenlote = RAlbaranesCompras.TipoAlmacenLoteMercaderia; break; } case TipoAlmacenlote.Gestionado: { Tipoalmacenlote = RAlbaranesCompras.TipoAlmacenLoteGestionado; break; } case TipoAlmacenlote.Propio: { Tipoalmacenlote = RAlbaranesCompras.TipoAlmacenLotePropio; break; } } Condiciones.Add(string.Format("{0}: {1}", RAlbaranesCompras.TipoAlmacenLote, Tipoalmacenlote)); flag = true; } if (!string.IsNullOrEmpty(FkarticulosDesde)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkarticulosdesde", FkarticulosDesde); sb.Append(" h.fkarticulos >= @fkarticulosdesde "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.FkarticulosDesde, FkarticulosDesde)); flag = true; } if (!string.IsNullOrEmpty(FkarticulosHasta)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkarticuloshasta", FkarticulosHasta); sb.Append(" h.fkarticulos <= @fkarticuloshasta "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.FkarticulosHasta, FkarticulosHasta)); flag = true; } if (FechaDesde.HasValue) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fechadesde", FechaDesde.Value); sb.Append(" alb.fechadocumento>=@fechadesde "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.FechaDesde, FechaDesde)); flag = true; } if (FechaHasta.HasValue) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fechahasta", FechaHasta.Value); sb.Append(" alb.fechadocumento<=@fechahasta "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.FechaHasta, FechaHasta)); flag = true; } if (!string.IsNullOrEmpty(CuentaDesde)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("cuentadesde", CuentaDesde); sb.Append(" comp.fkproveedores>=@cuentadesde "); Condiciones.Add(string.Format("{0}: {1}", Rcuentas.CuentaDesde, CuentaDesde)); flag = true; } if (!string.IsNullOrEmpty(CuentaHasta)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("cuentahasta", CuentaHasta); sb.Append(" comp.fkproveedores<=@cuentahasta "); Condiciones.Add(string.Format("{0}: {1}", Rcuentas.CuentaHasta, CuentaHasta)); flag = true; } return(sb.ToString()); }
internal override string GenerarFiltrosColumnas() { var sb = new StringBuilder(); var flag = true; ValoresParametros.Clear(); Condiciones.Clear(); sb.AppendFormat(" s.empresa='{0}' ", Empresa); if (!string.IsNullOrEmpty(Fkalmacen)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkalmacen", Fkalmacen); sb.Append(" s.fkalmacenes = @fkalmacen "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.Fkalmacen, Fkalmacen)); flag = true; } if (!string.IsNullOrEmpty(Fkzonasalmacen)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkzonasalmacen", Fkzonasalmacen); sb.Append(" s.fkalmaceneszona = @fkzonasalmacen "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.Fkzonas, Fkzonasalmacen)); flag = true; } if (Tipodealmacenlote.HasValue) { int index = Array.IndexOf(Enum.GetValues(Tipodealmacenlote?.GetType()), Tipodealmacenlote); string Tipoalmacenlote = index.ToString(); if (flag) { sb.Append(" AND "); } ValoresParametros.Add("tipoalmacenlote", Tipoalmacenlote); sb.Append(" s.tipoalmacenlote = @tipoalmacenlote "); switch (Tipodealmacenlote) { case TipoAlmacenlote.Mercaderia: { Tipoalmacenlote = RAlbaranesCompras.TipoAlmacenLoteMercaderia; break; } case TipoAlmacenlote.Gestionado: { Tipoalmacenlote = RAlbaranesCompras.TipoAlmacenLoteGestionado; break; } case TipoAlmacenlote.Propio: { Tipoalmacenlote = RAlbaranesCompras.TipoAlmacenLotePropio; break; } } Condiciones.Add(string.Format("{0}: {1}", RAlbaranesCompras.TipoAlmacenLote, Tipoalmacenlote)); flag = true; } if (!string.IsNullOrEmpty(FkarticulosDesde)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkarticulosdesde", FkarticulosDesde); sb.Append(" s.fkarticulos >= @fkarticulosdesde "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.FkarticulosDesde, FkarticulosDesde)); flag = true; } if (!string.IsNullOrEmpty(FkarticulosHasta)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkarticuloshasta", FkarticulosHasta); sb.Append(" s.fkarticulos <= @fkarticuloshasta "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.FkarticulosHasta, FkarticulosHasta)); flag = true; } if (!string.IsNullOrEmpty(Fkfamiliasmateriales)) { if (flag) { sb.Append(" AND "); } AppService = new ApplicationHelper(Context); ValoresParametros.Add("fkfamiliasmateriales", Fkfamiliasmateriales); sb.Append(" exists(select mm.* from materiales as mm where mm.id=Substring(s.fkarticulos,3,3) and mm.fkfamiliamateriales=@fkfamiliasmateriales) "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.FamiliaMateriales, AppService.GetListFamiliaMateriales().SingleOrDefault(f => f.Valor == Fkfamiliasmateriales).Descripcion)); flag = true; } if (!string.IsNullOrEmpty(FkfamiliasDesde)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkfamiliasdesde", FkfamiliasDesde); sb.Append(" Substring(s.fkarticulos,0,3) >= @fkfamiliasdesde "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.FamiliaDesde, FkfamiliasDesde)); flag = true; } if (!string.IsNullOrEmpty(FkfamiliasHasta)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkfamiliashasta", FkfamiliasHasta); sb.Append(" Substring(s.fkarticulos,0,3) <= @fkfamiliashasta "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.FamiliaHasta, FkfamiliasHasta)); flag = true; } if (!string.IsNullOrEmpty(FkmaterialesDesde)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkmaterialesdesde", FkmaterialesDesde); sb.Append(" Substring(s.fkarticulos,3,3) >= @fkmaterialesdesde "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.MaterialesDesde, FkmaterialesDesde)); flag = true; } if (!string.IsNullOrEmpty(FkmaterialesHasta)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkmaterialeshasta", FkmaterialesHasta); sb.Append(" Substring(s.fkarticulos,3,3) <= @fkmaterialeshasta "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.MaterialesHasta, FkmaterialesHasta)); flag = true; } if (!string.IsNullOrEmpty(FkcaracteristicasDesde)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkcaracteristicasdesde", FkcaracteristicasDesde); sb.Append(" Substring(s.fkarticulos,6,2) >= @fkcaracteristicasdesde "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.CaracteristicasDesde, FkcaracteristicasDesde)); flag = true; } if (!string.IsNullOrEmpty(FkcaracteristicasHasta)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkcaracteristicashasta", FkcaracteristicasHasta); sb.Append(" Substring(s.fkarticulos,6,2) <= @fkcaracteristicashasta "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.CaracteristicasHasta, FkcaracteristicasHasta)); flag = true; } if (!string.IsNullOrEmpty(FkgrosoresDesde)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkgrosoresdesde", FkgrosoresDesde); sb.Append(" Substring(s.fkarticulos,8,2) >= @fkgrosoresdesde "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.GrosoresDesde, FkgrosoresDesde)); flag = true; } if (!string.IsNullOrEmpty(FkgrosoresHasta)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkgrosoreshasta", FkgrosoresHasta); sb.Append(" Substring(s.fkarticulos,8,2) <= @fkgrosoreshasta "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.GrosoresHasta, FkgrosoresHasta)); flag = true; } if (!string.IsNullOrEmpty(FkacabadosDesde)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkacabadosdesde", FkacabadosDesde); sb.Append(" Substring(s.fkarticulos,10,2) >= @fkacabadosdesde "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.AcabadosDesde, FkacabadosDesde)); flag = true; } if (!string.IsNullOrEmpty(FkacabadosHasta)) { if (flag) { sb.Append(" AND "); } ValoresParametros.Add("fkacabadoshasta", FkacabadosHasta); sb.Append(" Substring(s.fkarticulos,10,2) <= @fkacabadoshasta "); Condiciones.Add(string.Format("{0}: {1}", RAlbaranes.AcabadosHasta, FkacabadosHasta)); flag = true; } return(sb.ToString()); }