private static SettingSectionV1 CreateSetting(string id, Dictionary <string, dynamic> p)
        {
            SettingSectionV1 setting = new SettingSectionV1();

            setting.Id         = id;
            setting.Parameters = p;
            return(setting);
        }
예제 #2
0
        public async Task <Dictionary <string, dynamic> > SetSectionAsync(string correlationId, string id, Dictionary <string, dynamic> parameters)
        {
            SettingSectionV1 item = new SettingSectionV1(id, parameters);

            SettingSectionV1 settings = await _persistence.SetAsync(correlationId, item);

            return(settings.Parameters);
        }
        public async Task TestCrudOperationsAsync()
        {
            // Create one setting
            Dictionary <string, dynamic> param = await Invoke <Dictionary <string, dynamic> >("/settings/set_section", new { id = SETTING1.Id, parameters = SETTING1.Parameters });

            Assert.NotNull(param);
            Assert.Equal(SETTING1.Parameters, param);

            // Create another setting
            param = await Invoke <Dictionary <string, dynamic> >("/settings/set_section", new { id = SETTING2.Id, parameters = SETTING2.Parameters });

            Assert.NotNull(param);
            Assert.Equal(SETTING2.Parameters["param"], param["param"]);

            // Get all settings
            DataPage <SettingSectionV1> page = await Invoke <DataPage <SettingSectionV1> >("/settings/get_sections", new { });

            Assert.NotNull(page);
            Assert.NotNull(page.Data);
            Assert.Equal(2, page.Data.Count);

            //Get all sections ids
            List <string> idsActual = new List <string>();

            idsActual.Add(SETTING1.Id);
            idsActual.Add(SETTING2.Id);

            DataPage <string> ids = await Invoke <DataPage <string> >("/settings/get_section_ids", new { });

            Assert.NotNull(ids);
            Assert.NotNull(ids.Data);
            Assert.Equal(2, page.Data.Count);
            Assert.Equal(idsActual, ids.Data);


            // Update the setting
            Dictionary <string, dynamic> updateParams = new Dictionary <string, dynamic>();

            updateParams["newKey"] = "text";
            param = await Invoke <Dictionary <string, dynamic> >("/settings/modify_section", new { id = SETTING1.Id, update_params = updateParams });

            Assert.NotNull(param);
            Assert.Equal(updateParams, param);

            updateParams          = new Dictionary <string, dynamic>();
            updateParams["param"] = 5;
            param = await Invoke <Dictionary <string, dynamic> >("/settings/modify_section", new { id = SETTING2.Id, increment_params = updateParams });

            Assert.NotNull(param);
            Assert.Equal(updateParams["param"], param["param"]);

            // Try to get deleted setting
            SettingSectionV1 setting = await Invoke <SettingSectionV1>("/settings/delete_setting_by_id", new { id = SETTING2.Id });

            Assert.Null(setting);
        }
예제 #4
0
        public async Task <Dictionary <string, dynamic> > GetSectionByIdAsync(string correlationId, string id)
        {
            SettingSectionV1 item = await _persistence.GetOneByIdAsync(correlationId, id);

            Dictionary <string, dynamic> parameters = item != null ? item.Parameters : null;

            parameters = parameters != null ? parameters : new Dictionary <string, dynamic>();

            return(parameters);
        }
        public async Task TestCrudOperationsAsync()
        {
            // Create one setting
            SettingSectionV1 setting1 = await _persistence.SetAsync(null, SETTING1);

            Assert.NotNull(setting1);
            Assert.Equal(SETTING1.Id, setting1.Id);

            // Create another setting
            SettingSectionV1 setting2 = await _persistence.SetAsync(null, SETTING2);

            Assert.NotNull(setting2);
            Assert.Equal(SETTING2.Id, setting2.Id);

            // Get all settings
            DataPage <SettingSectionV1> page = await _persistence.GetPageByFilterAsync(null, null, null);

            Assert.NotNull(page);
            Assert.NotNull(page.Data);
            Assert.Equal(2, page.Data.Count);

            //Get all sections ids
            List <string> idsActual = new List <string>();

            idsActual.Add(SETTING1.Id);
            idsActual.Add(SETTING2.Id);

            DataPage <string> ids = await _controller.GetSectionIdsAsync(null, null, null);

            Assert.NotNull(ids);
            Assert.NotNull(ids.Data);
            Assert.Equal(2, page.Data.Count);
            Assert.Equal(idsActual, ids.Data);

            // Update the setting
            Dictionary <string, dynamic> param = new Dictionary <string, dynamic>();

            param["newKey"] = "text";
            SettingSectionV1 setting = await _persistence.ModifyAsync(
                null,
                setting1.Id,
                param,
                null
                );

            Assert.NotNull(setting);
            Assert.Equal(setting1.Id, setting.Id);
            Assert.Equal(param, setting.Parameters);

            param          = new Dictionary <string, dynamic>();
            param["param"] = "5";
            setting        = await _persistence.ModifyAsync(
                null,
                setting2.Id,
                null,
                param
                );

            Assert.NotNull(setting);
            Assert.Equal(setting2.Id, setting.Id);
            Assert.Equal(5, setting2.Parameters["param"]);

            // Delete the setting
            await _persistence.DeleteByIdAsync(null, setting1.Id);

            // Try to get deleted setting
            setting = await _persistence.GetOneByIdAsync(null, setting1.Id);

            Assert.Null(setting);
        }
예제 #6
0
        public async Task <Dictionary <string, dynamic> > ModifySectionAsync(string correlationId, string id, Dictionary <string, dynamic> updateParams, Dictionary <string, dynamic> incrementParams)
        {
            SettingSectionV1 settings = await _persistence.ModifyAsync(correlationId, id, updateParams, incrementParams);

            return(settings.Parameters);
        }