Skip to content

Commit fa158c5

Browse files
taeyzzzThanetpon Kultontikorn
andauthored
handle header params (#13)
* add bapi query * update script generate * refactor folder --------- Co-authored-by: Thanetpon Kultontikorn <[email protected]>
1 parent 3725dc6 commit fa158c5

20 files changed

+2398
-105
lines changed
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using Newtonsoft.Json;
4+
using Newtonsoft.Json.Converters;
5+
using Agoda.Graphql;
6+
7+
8+
9+
10+
#region BookingDisountsByBookingIds
11+
12+
namespace Agoda.Graphql.BookingQueries.DiscountBreakdown.BookingDiscountsByBookingIds
13+
{
14+
15+
/// <summary>Operation Type</summary>
16+
public partial class Query : QueryBase<Data>
17+
{
18+
private const string _query = @"query BookingDisountsByBookingIds($bookingIds: [Int!]!) {
19+
result: BookingDetailsByBookingIds(bookingIds: $bookingIds) {
20+
bookingId
21+
propertyBooking {
22+
bookingDiscounts {
23+
bookingId
24+
discountType
25+
discountId
26+
discountRateType
27+
discountRate
28+
discountName
29+
appliedDate
30+
}
31+
}
32+
}
33+
}";
34+
35+
public Query(List<int> bookingIds, IResultProcessor<Data> resultProcessor = null) : base(resultProcessor)
36+
{
37+
BookingIds = bookingIds;
38+
}
39+
40+
public List<int> BookingIds { get; }
41+
protected override string QueryText => _query;
42+
43+
protected override Dictionary<string, object> Variables => new Dictionary<string, object>
44+
{
45+
{ "bookingIds", BookingIds },
46+
};
47+
}
48+
49+
public sealed class Data
50+
{
51+
52+
53+
[JsonProperty("result")]
54+
public List<Result> Result { get; set; }
55+
}
56+
57+
58+
/// <summary>Inner Model</summary>
59+
public sealed class Result
60+
{
61+
62+
63+
[JsonProperty("bookingId")]
64+
public int BookingId { get; set; }
65+
66+
67+
[JsonProperty("propertyBooking")]
68+
public PropertyBooking PropertyBooking { get; set; }
69+
}
70+
71+
/// <summary>Inner Model</summary>
72+
public sealed class PropertyBooking
73+
{
74+
75+
76+
[JsonProperty("bookingDiscounts")]
77+
public List<BookingDiscounts> BookingDiscounts { get; set; }
78+
}
79+
80+
/// <summary>Inner Model</summary>
81+
public sealed class BookingDiscounts
82+
{
83+
84+
85+
[JsonProperty("bookingId")]
86+
public long BookingId { get; set; }
87+
88+
89+
[JsonProperty("discountType")]
90+
public int DiscountType { get; set; }
91+
92+
93+
[JsonProperty("discountId")]
94+
public int DiscountId { get; set; }
95+
96+
97+
[JsonProperty("discountRateType")]
98+
public int DiscountRateType { get; set; }
99+
100+
101+
[JsonProperty("discountRate")]
102+
public decimal DiscountRate { get; set; }
103+
104+
105+
[JsonProperty("discountName")]
106+
public string DiscountName { get; set; }
107+
108+
109+
[JsonProperty("appliedDate")]
110+
public string AppliedDate { get; set; }
111+
}
112+
}
113+
114+
#endregion
115+
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
query BookingDisountsByBookingIds($bookingIds: [Int!]!) {
2+
result: BookingDetailsByBookingIds(bookingIds: $bookingIds) {
3+
bookingId
4+
propertyBooking {
5+
bookingDiscounts {
6+
bookingId
7+
discountType
8+
discountId
9+
discountRateType
10+
discountRate
11+
discountName
12+
appliedDate
13+
}
14+
}
15+
}
16+
}
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using Newtonsoft.Json;
4+
using Newtonsoft.Json.Converters;
5+
using Agoda.Graphql;
6+
7+
8+
9+
10+
#region GetDiscountBreakdownByBookingId
11+
12+
namespace Agoda.Graphql.BookingQueries.DiscountBreakdown.DiscountBreakdownByBookingId
13+
{
14+
15+
/// <summary>Operation Type</summary>
16+
public partial class Query : QueryBase<Data>
17+
{
18+
private const string _query = @"query GetDiscountBreakdownByBookingId($bookingId: Long!) {
19+
DiscountBreakdownByBookingIds(bookingIds: [$bookingId]) {
20+
bookingId
21+
discountId
22+
discountType
23+
discountName
24+
discountRateType
25+
discountRate
26+
appliedDate
27+
}
28+
}";
29+
30+
public Query(long bookingId, IResultProcessor<Data> resultProcessor = null) : base(resultProcessor)
31+
{
32+
BookingId = bookingId;
33+
}
34+
35+
public long BookingId { get; }
36+
protected override string QueryText => _query;
37+
38+
protected override Dictionary<string, object> Variables => new Dictionary<string, object>
39+
{
40+
{ "bookingId", BookingId },
41+
};
42+
}
43+
44+
public sealed class Data
45+
{
46+
47+
48+
[JsonProperty("DiscountBreakdownByBookingIds")]
49+
public List<DiscountBreakdownByBookingIds> DiscountBreakdownByBookingIds { get; set; }
50+
}
51+
52+
53+
/// <summary>Inner Model</summary>
54+
public sealed class DiscountBreakdownByBookingIds
55+
{
56+
57+
58+
[JsonProperty("bookingId")]
59+
public long BookingId { get; set; }
60+
61+
62+
[JsonProperty("discountId")]
63+
public int DiscountId { get; set; }
64+
65+
66+
[JsonProperty("discountType")]
67+
public int DiscountType { get; set; }
68+
69+
70+
[JsonProperty("discountName")]
71+
public string DiscountName { get; set; }
72+
73+
74+
[JsonProperty("discountRateType")]
75+
public int DiscountRateType { get; set; }
76+
77+
78+
[JsonProperty("discountRate")]
79+
public decimal DiscountRate { get; set; }
80+
81+
82+
[JsonProperty("appliedDate")]
83+
public List<string> AppliedDate { get; set; }
84+
}
85+
}
86+
87+
#endregion
88+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
query GetDiscountBreakdownByBookingId($bookingId: Long!) {
2+
DiscountBreakdownByBookingIds(bookingIds: [$bookingId]) {
3+
bookingId
4+
discountId
5+
discountType
6+
discountName
7+
discountRateType
8+
discountRate
9+
appliedDate
10+
}
11+
}

0 commit comments

Comments
 (0)