LogikalDiscount.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. using System.Collections.Generic;
  2. using InABox.Integration.Logikal;
  3. namespace PRSDesktop.Integrations.Logikal;
  4. public class LogikalDiscount : LogikalItem, ILogikalDiscount
  5. {
  6. public string Code { get; set; }
  7. public string Description { get; set; }
  8. public string SupplierCode { get; set; }
  9. public double Discount { get; set; }
  10. public override void ValidateQuery(string sql, List<string> errors)
  11. {
  12. ValidateField(sql, nameof(Code), errors);
  13. ValidateField(sql, nameof(Description), errors);
  14. ValidateField(sql, nameof(SupplierCode), errors);
  15. ValidateField(sql, nameof(Discount), errors);
  16. }
  17. public static string SQL =
  18. $@"select distinct
  19. upper(ed.name) as [{nameof(Code)}],
  20. ed.name as [{nameof(Description)}],
  21. upper(coalesce(s.[CustomerNo],s.[ActiveTitle])) as [{nameof(SupplierCode)}],
  22. ed.Discount as [{nameof(Discount)}]
  23. from
  24. estimationdiscounts ed
  25. join
  26. (select distinct supplierid,lk_discountid from allprofiles union select distinct supplierid,lk_discountid from allarticles) a on a.lk_discountid = ed.estimationdiscountid
  27. join
  28. suppliers s on a.supplierid = S.supplierid";
  29. }