Free cookie consent management tool by TermsFeed Policy Generator

source: branches/1888_OaaS/HeuristicLab.Services.Optimization.Billing/Interfaces/IOptimizationBilling.cs @ 16796

Last change on this file since 16796 was 9645, checked in by spimming, 12 years ago

#1888:

  • Model classes implement new interface to track current state of entity
  • Mark EntityState property as 'not mapped'
  • Set hook to initialize entity as unchanged
  • Extension method for DbContext to apply changes only on modified entity
File size: 1.0 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Net.Security;
4using System.ServiceModel;
5using HeuristicLab.Services.Optimization.Billing.Model;
6
7namespace HeuristicLab.Services.Optimization.Billing.Interfaces {
8  [ServiceContract(ProtectionLevel = ProtectionLevel.EncryptAndSign)]
9  public interface IOptimizationBilling {
10    [OperationContract]
11    IList<Product> GetProducts();
12    IList<Product> GetProductByName(string productName);
13
14    // payment methods via enumeration
15
16    [OperationContract]
17    void SaveOrder(Order order);
18
19    [OperationContract]
20    IList<Order> GetOrdersByState(OrderState state);
21    IList<Order> GetOrders(string userName);
22    void UpdateOrder(Order order);
23
24    IList<Invoice> GetInvoices(string userName);
25    void SaveInvoice(Invoice invoice);
26
27    User GetUser(string userName);
28    void SaveUser(User user);
29
30    IList<UsageRecord> GetUsageRecords(string userName);
31    IList<UsageRecord> GetUsageRecords(string username, DateTime from, DateTime to);
32
33  }
34}
Note: See TracBrowser for help on using the repository browser.