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);
        }
Exemple #3
0
    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);
        }
Exemple #6
0
 private static string ToString(GetScheduleResponse p)
 {
     return($@"{p.Id} - ""{p.Name}"" ({p.Description}): {p.Timing.ToJson()}");
 }
Exemple #7
0
    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);
    }