Esempio n. 1
0
 public HoldOnView Query(Guid publisher) {
     var platformItems = new List<HoldOnItem>();
     var publisherItems = new List<HoldOnItem>();
     string sql = "SELECT [Airline],[TicketType],[Role] FROM [dbo].[T_HoldOnPolicy] WHERE [Company]=@COMPANY";
     using(var dbOperator = new DbOperator(Provider, ConnectionString)) {
         dbOperator.AddParameter("COMPANY", publisher);
         using(var reader = dbOperator.ExecuteReader(sql)) {
             while(reader.Read()) {
                 HoldOnItem item = new HoldOnItem() {
                     Airline = reader.GetString(0)
                 };
                 if(!reader.IsDBNull(1)) {
                     item.TicketType = (TicketType)reader.GetInt32(1);
                 }
                 PolicyOperatorRole role = (PolicyOperatorRole)reader.GetInt32(2);
                 switch(role) {
                     case PolicyOperatorRole.Provider:
                         publisherItems.Add(item);
                         break;
                     case PolicyOperatorRole.Resourcer:
                         publisherItems.Add(item);
                         break;
                     case PolicyOperatorRole.Platform:
                         platformItems.Add(item);
                         break;
                 }
             }
         }
     }
     return new HoldOnView() {
         Platform = platformItems,
         Publisher = publisherItems
     };
 }
Esempio n. 2
0
 public IEnumerable<HoldOnListView> QueryList(Guid? publisher) {
     var result = new List<HoldOnListView>();
     string sql = "SELECT tHoldOn.[Company],tCompany.[Type],tCompany.[AbbreviateName],tHoldOn.[Airline],tHoldOn.[TicketType],tHoldOn.[Role]" +
                  "FROM [dbo].[T_HoldOnPolicy] tHoldOn INNER JOIN [dbo].[T_Company] tCompany ON tHoldOn.[Company]=tCompany.[Id]";
     using(var dbOperator = new DbOperator(Provider, ConnectionString)) {
         if(publisher.HasValue) {
             sql += " WHERE tHoldOn.[Company]=@COMPANY";
             dbOperator.AddParameter("COMPANY", publisher.Value);
         }
         sql += " ORDER BY tHoldOn.[Company]";
         using(var reader = dbOperator.ExecuteReader(sql)) {
             HoldOnListView holdOnView = null;
             var platformItems = new List<HoldOnItem>();
             var publisherItems = new List<HoldOnItem>();
             while(reader.Read()) {
                 Guid currentCompany = reader.GetGuid(0);
                 if(holdOnView == null || holdOnView.Company != currentCompany) {
                     holdOnView = new HoldOnListView() {
                         Company = currentCompany,
                         CompanyType = (CompanyType)reader.GetInt32(1),
                         AbbreviateName = reader.GetString(2),
                         Platform = platformItems = new List<HoldOnItem>(),
                         Publisher = publisherItems = new List<HoldOnItem>()
                     };
                     result.Add(holdOnView);
                 }
                 HoldOnItem holdOnItem = new HoldOnItem() {
                     Airline = reader.GetString(3)
                 };
                 if(!reader.IsDBNull(4)) {
                     holdOnItem.TicketType = (TicketType)reader.GetInt32(4);
                 }
                 PolicyOperatorRole role = (PolicyOperatorRole)reader.GetInt32(5);
                 switch(role) {
                     case PolicyOperatorRole.Provider:
                         publisherItems.Add(holdOnItem);
                         break;
                     case PolicyOperatorRole.Resourcer:
                         publisherItems.Add(holdOnItem);
                         break;
                     case PolicyOperatorRole.Platform:
                         platformItems.Add(holdOnItem);
                         break;
                 }
             }
         }
     }
     return result;
 }