Skip to content

Commit 6affff7

Browse files
committed
Add item start/end time support
1 parent 9f77538 commit 6affff7

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

Sensible.PredictionIO.NET/AddItemRequestBuilder.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,14 @@ public RestClient Build()
3333
RestRequest.AddParameter("pio_inactive", _item.Inactive.ToString().ToLower());
3434
RestRequest.AddParameter("pio_price", _item.Price.ToString(CultureInfo.InvariantCulture));
3535
RestRequest.AddParameter("pio_profit", _item.Profit.ToString(CultureInfo.InvariantCulture));
36+
if (_item.StartTime > DateTime.MinValue)
37+
{
38+
RestRequest.AddParameter("pio_startT", _item.StartTimeSeconds);
39+
}
40+
if (_item.EndTime > DateTime.MinValue)
41+
{
42+
RestRequest.AddParameter("pio_endT", _item.EndTimeSeconds);
43+
}
3644
return client;
3745
}
3846
}

Sensible.PredictionIO.NET/Item.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ namespace Sensible.PredictionIO.NET
99
{
1010
public class Item
1111
{
12+
private static DateTime _epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
13+
1214
[DeserializeAs(Name = "pio_iid")]
1315
public string ItemId { get; set; }
1416

@@ -27,5 +29,29 @@ public class Item
2729
[DeserializeAs(Name = "pio_profit")]
2830
public double Profit { get; set; }
2931

32+
[DeserializeAs(Name = "pio_startT")]
33+
public long StartTimeSeconds { get; set; }
34+
35+
[DeserializeAs(Name = "pio_endT")]
36+
public long EndTimeSeconds { get; set; }
37+
38+
public DateTime StartTime
39+
{
40+
get
41+
{
42+
return StartTimeSeconds == 0 ? DateTime.MinValue : _epoch.AddSeconds(StartTimeSeconds);
43+
}
44+
set { StartTimeSeconds = (long)(value - _epoch).TotalSeconds; }
45+
}
46+
47+
public DateTime EndTime
48+
{
49+
get
50+
{
51+
return EndTimeSeconds == 0 ? DateTime.MinValue : _epoch.AddSeconds(EndTimeSeconds);
52+
}
53+
set { EndTimeSeconds = (long)(value - _epoch).TotalSeconds; }
54+
}
55+
3056
}
3157
}

0 commit comments

Comments
 (0)