Witam.
Zastanawiam się jak poprawić projekt. Obecnie przekazuje 2 argumenty z linii komend. Gdyby zaszła potrzeba przekazania 10 można rozszerzyć where o kolejne argumenty w kodzie programu. Jest to mało profesjonalne. W związku z tym moje pytanie, czy jestem w stanie w klauzuli WHERE przekazać warunki w sposób dynamiczny?
z góry bardzo dziękuję.
public void PrintPDF(Dictionary<List<string>, string> lista, params string[] argumenty)
{
dcDataContext dc = new dcDataContext();
var platnosci = from p in dc.PAYMENTSs
//where p.POTERM >= pdniMin
//where p.POTERM <= pDniMax
where p.POTERM == (int.Parse(argumenty[0])) || (p.POTERM == int.Parse(argumenty[1]))
select p;
W klasie głównej:
static void Main(string[] args)
{
// lista emaili wraz z załącznikami
Dictionary<List<string>, string> listaEmail = new Dictionary<List<string>, string>();
gPdf.PrintPDF(listaEmail, args);
sendEmail se = new sendEmail();
foreach (KeyValuePair<List<string>, string> pair in listaEmail)
{
se.sendEmailEWS(pair.Key, pair.Value);
}
// Console.ReadKey();
}