isotonicq

Untitled

Jul 9th, 2020
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.25 KB | None | 0 0
  1.         private void General(Discount discount)
  2.         {
  3.             using (Session session = _login.CreateSession(false, false))
  4.             {
  5.                 TowaryModule tm = TowaryModule.GetInstance(session);
  6.  
  7.                 using (ITransaction transaction = session.Logout(true))
  8.                 {
  9.                     PrzecenaOkresowa enovaDiscount = new PrzecenaOkresowaCeny();
  10.                     tm.PrzecenyOkres.AddRow(enovaDiscount);
  11.  
  12.                     if (!string.IsNullOrEmpty(discount.Name)) enovaDiscount.Nazwa = discount.Name;
  13.                     enovaDiscount.Kierunek = KierunekCeny.Rozchod;
  14.                     enovaDiscount.Okres = discount.GetFromTo();
  15.                     enovaDiscount.Typ = TypPrzecenyOkresowej.OgΓ³lna;
  16.  
  17.                     foreach (int productId in discount.Details.Products)
  18.                     {
  19.                         PrzecenaOkresowaTowaru enovaProductDiscount = new PrzecenaOkresowaTowaru
  20.                         {
  21.                             PrzecenaOkresowa = enovaDiscount,
  22.                             Towar = tm.Towary[productId]
  23.                         };
  24.                        
  25.                         tm.PrzecenyOkresTwr.AddRow(enovaProductDiscount);
  26.                        
  27.                         if (discount.DiscountType == DiscountType.ByPercentage)
  28.                         {
  29.                             enovaProductDiscount.Rabat = discount.Details.DiscountPercent;
  30.                         }
  31.                         else if(discount.DiscountType == DiscountType.ByValue)
  32.                         {
  33.                             enovaProductDiscount.Netto = discount.Details.DiscountValue;
  34.                         }
  35.                     }
  36.                    
  37.                     enovaDiscount.Stan = StanPrzeceny.Zatwierdzona;
  38.  
  39.                     transaction.Commit();
  40.                 }
  41.  
  42.                 session.Save();
  43.             }
  44.         }
  45.  
  46.     public sealed class Discount
  47.     {
  48.         //Public - references
  49.         public DiscountDetails Details { get; set; }
  50.        
  51.         //Public - date
  52.         public Date CreateDate { get; set; }
  53.         public Date FromDate { get; set; }
  54.         public Date ToDate { get; set; }
  55.        
  56.         //Public - int
  57.         public int CampaignId { get; set; }
  58.        
  59.         //Public - bool
  60.         public bool AllClients { get; set; }
  61.  
  62.         //Public - string
  63.         public string Name { get; set; }
  64.         public string CreateInformation { get; set; }
  65.         public string AdditionalInformation { get; set; }
  66.        
  67.         //Public - enum
  68.         public DiscountRange DiscountRange { get; set; }
  69.         public DiscountType DiscountType { get; set; }
  70.        
  71.         //CTOR
  72.         public Discount()
  73.         {
  74.             Details = new DiscountDetails();
  75.         }
  76.        
  77.         //Public
  78.         public bool Ok()
  79.         {
  80.             return Details.Products.Any();
  81.         }
  82.        
  83.         public FromTo GetFromTo()
  84.         {
  85.             Date dateFrom = FromDate;
  86.             Date dateTo = ToDate;
  87.  
  88.             if (dateFrom == Date.Empty) dateFrom = Date.MinValid;
  89.             if (dateTo == Date.Empty) dateTo = Date.MaxValid;
  90.                
  91.             return new FromTo(dateFrom, dateTo);
  92.         }
  93.     }
Add Comment
Please, Sign In to add comment