public async Task CreateScheduleTest() { var commandState = HueRequestBuilder.Modify.Light(7).TurnOn().Build(); var newSchedule = new GetScheduleResponse { AutoDelete = true, Name = "new Timer", Description = "testing that scheduling", Timing = ScheduleTiming.CreateNew(ScheduleTimingTypes.Alarm), Command = new Command(commandState), Status = ScheduleStatus.Enabled }; newSchedule.Timing.BaseDate = DateTime.Now.AddDays(1); IHueRequest request = new CreateScheduleRequest { NewSchedule = newSchedule }; var response = await _client.GetResponseAsync(request); Assert.True(response is SuccessResponse); OnLog(response); Assert.True(newSchedule.Id > 0); await DeleteTemporarySchedule(newSchedule.Id); }
public override object ReadJson( JsonReader reader, Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) { JObject jObject = JObject.Load(reader); GetScheduleResponse response = new GetScheduleResponse(); foreach (var node in jObject) { if (node.Value != null && Enum.TryParse(node.Key, out Currency currency)) { CurrencySchedule currencySchedule = new CurrencySchedule(); serializer.Populate(node.Value.CreateReader(), currencySchedule); response.Currency = new Dictionary <Currency, CurrencySchedule> { { currency, currencySchedule } }; } if (node.Key.Equals("_links") && node.Value != null) { var resource = new Dictionary <string, Link>(); serializer.Populate(node.Value.CreateReader(), resource); response.Links = resource; } } return(response); }
void SendResultInfoAsJson(GetScheduleResponse res) { string strJson = JsonConvert.SerializeObject(res); Response.ContentType = "application/json; charset=utf-8"; Response.AppendHeader("Access-Control-Allow-Origin", "*"); Response.Write(strJson); Response.End(); }
private async Task ShouldRetrievePayoutSchedule() { var responseAsync = new GetScheduleResponse(); _apiClient .Setup(x => x.Get <GetScheduleResponse>( "accounts/entities/entity_id/payout-schedules", It.IsAny <SdkAuthorization>(), It.IsAny <CancellationToken>())) .ReturnsAsync(responseAsync); var response = await _accountsClient.RetrievePayoutSchedule( "entity_id"); response.ShouldNotBeNull(); }
private async Task <int> CreateTemporarySchedule() { var request = new CreateScheduleRequest(); var commandState = HueRequestBuilder.Modify.Light(7).TurnOn().Build(); var newSchedule = new GetScheduleResponse { AutoDelete = true, Name = "temporary schedule", Description = "temporary schedule description", Timing = ScheduleTiming.CreateNew(ScheduleTimingTypes.Alarm), Command = new Command(commandState), Status = ScheduleStatus.Enabled }; newSchedule.Timing.BaseDate = DateTime.Now.AddDays(1); request.NewSchedule = newSchedule; var response = await _client.GetResponseAsync(request); Assert.True(response is SuccessResponse, "response is SuccessResponse"); OnLog(response); Assert.True(newSchedule.Id > 0, "new ID set"); return(newSchedule.Id); }
private static string ToString(GetScheduleResponse p) { return($@"{p.Id} - ""{p.Name}"" ({p.Description}): {p.Timing.ToJson()}"); }
protected void Page_Load(object sender, EventArgs e) { GetScheduleRequest req; GetScheduleResponse res = new GetScheduleResponse(); res.error = String.Empty; // 1. Deserialize the incoming Json. try { req = GetRequestInfo(); } catch (Exception ex) { res.error = ex.Message.ToString(); // Return the results as Json. SendResultInfoAsJson(res); return; } SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); try { connection.Open(); string sql = "SELECT s.ScheduleID,s.StartOfShift,s.EndOfShift,s.EmployeeID,e.FirstName EmpFirstName,e.LastName EmpLastName,s.ShiftStatus FROM Schedule s LEFT JOIN Employee e ON s.EmployeeID = e.EmployeeID WHERE s.StoreID = @StoreID AND DATEPART(WEEK, s.StartOfShift) = DATEPART(WEEK, getdate()) AND DATEPART(YEAR, s.StartOfShift) = DATEPART(YEAR, getdate())"; SqlCommand command = new SqlCommand(sql, connection); command.Parameters.Add("@StoreID", SqlDbType.Int); command.Parameters["@StoreID"].Value = req.StoreID; res.schedules = new List <Schedule>(); SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { Schedule s = new Schedule(); s.ScheduleID = Convert.ToInt32(reader["ScheduleID"]); s.EmployeeID = Convert.ToInt32(reader["EmployeeID"]); s.ShiftStatus = Convert.ToInt32(reader["ShiftStatus"]); s.EmpFirstName = Convert.ToString(reader["EmpFirstName"]); s.EmpLastName = Convert.ToString(reader["EmpLastName"]); DateTime.TryParse(Convert.ToString(reader["StartOfShift"]), out s.StartOfShift); DateTime.TryParse(Convert.ToString(reader["EndOfShift"]), out s.EndOfShift); res.schedules.Add(s); } } else { res.error = "No records found"; } reader.Close(); } catch (Exception ex) { res.error = ex.Message.ToString(); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } } // Return the results as Json. SendResultInfoAsJson(res); }