Bonjour,
J'ai une grosse requête sql de la mort à transformer et j'obtiens ça :jusque là pas de problème !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var productProductLines = db.Products .Where(p => p.IsActiv == true && p.Product_ProductLines.Any(pl => pl.ProductLine.CustomerStock.Customer.Employee.SiteId == (int)siteId)) .SelectMany(p => p.Product_ProductLines).Distinct(); productProductLines = productProductLines.Where(p => p.ProductLine.CustomerStock.Customer.Employee.SiteId == (int)siteId);
mais je n'arrive pas à transformer un filtre optionnel codé comme ça :sachant que fic_id_origine pointe vers la PK de la table Product.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (!string.IsNullOrWhiteSpace(rbPhoto)) if (rbPhoto.Equals("Oui")) query.Append(" And Case when exists (select * from fichiers with(nolock) where fic_nom_origine = 'ART_ID' and fic_id_origine = art_id) then 0 else art_prise_photo end = 1 "); else if (rbPhoto.Equals("Non")) query.Append(" And Case when exists (select * from fichiers with(nolock) where fic_nom_origine = 'ART_ID' and fic_id_origine = art_id) then 0 else art_prise_photo end = 0 ");
Comme vous pouvez le comprendre, je n'arrive pas à coder les clauses correspondantes au retour de mes radiobutton.
merci pour votre aide.
Je tiens à préciser qu'il s'agit bien d'un problème algorithmique... J'ai déjà tatonné comme ci dessus :mais le résultat obtenu n'est pas celui attendu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 if (!string.IsNullOrWhiteSpace(rbtPhoto)) { //if (rbtPhoto.Equals("Oui")) // productProductLines = productProductLines.Where(p => !(p.Product.Files.Where(f => f.ItemOrigin == "ART_ID").Count() > 0) || p.Product.TakePhoto); //else if (rbtPhoto.Equals("Non")) // productProductLines = productProductLines.Where(p => !(!(p.Product.Files.Where(f => f.ItemOrigin == "ART_ID").Count() > 0) || p.Product.TakePhoto)); ViewBag.RbtPhoto = rbtPhoto; }
Partager