public void GetModulesResponseTest() { try { // arrange List <string> kpiList = new List <string> { "cheese-taste-kpi", "cheese-price-kpi" }; GetModulesResponse mResponse = new GetModulesResponse(name: "Cheese Module", moduleId: "foo-bar_cheese-Module-v1-0", description: "A Module to assess cheese quality.", kpiList: kpiList); var message = File.ReadAllText(@"../../TestData/Json/ModuleResponse/GetModulesResponse.txt"); object obj = JsonConvert.DeserializeObject(message); string expected = JsonConvert.SerializeObject(obj); // act string actual = Serialize.ToJsonString(mResponse); // assert Assert.AreEqual(expected, actual, false, "\nNot Json-seralized correctly:\n\n" + expected + "\n\n" + actual); //TODO is unordered => makes comparisson hard. } catch (Exception ex) { Assert.Fail(ex.Message); } }
public ActionResult AddRolePermissions(short roleId) { RolePermissionsViewModel viewModel = new RolePermissionsViewModel(); GetRolesResponse rolesResponse = roleService.GetRoles(new GetRolesRequest() { AccountId = this.Identity.ToAccountID() }); if (rolesResponse != null && !rolesResponse.RoleViewModel.Any(r => r.RoleId == roleId)) return RedirectToAction("NotFound", "Error"); GetModulesResponse modulesResponse = roleService.GetModules(new GetModulesRequest() { AccountID = this.Identity.ToAccountID() }); if (!this.Identity.IsSTAdmin()) { if(rolesResponse.SubscriptionId == 2) rolesResponse.RoleViewModel = rolesResponse.RoleViewModel.Where(s => s.RoleName != "Account Administrator"); else rolesResponse.RoleViewModel = rolesResponse.RoleViewModel.Where(s => s.RoleName != "Account Administrator" && s.RoleName != "Marketing Administrator" && s.RoleName != "Sales Administrator" && s.RoleName != "Marketing"); modulesResponse.ModuleViewModel = modulesResponse.ModuleViewModel.Where(s => s.ModuleId != (byte)AppModules.AccountSettings); } viewModel.Modules = modulesResponse.ModuleViewModel; viewModel.Roles = rolesResponse.RoleViewModel; GetModulesForRoleResponse response = roleService.GetModulesForRole(new GetModulesForRoleRequest() { roleId = roleId }); foreach (var item in response.moduleIds) { foreach (var module in viewModel.Modules) { if (module.ModuleId == item) { module.IsSelected = true; } if (module.SubModules != null) { foreach (var submodule in module.SubModules) { if (submodule.ModuleId == item) { submodule.IsSelected = true; } } } } } viewModel.SelectedRole = roleId; return View("RolePermissions", viewModel); }
public static GetModulesResult ToDto(this GetModulesResponse resp) { if (resp == null) { throw new ArgumentNullException(nameof(resp)); } return(new GetModulesResult { TemplateUnits = resp.ProjectTemplateUnits, Units = resp.ProjectUnits }); }
public GetModulesResponse GetModules(GetModulesRequest request) { Logger.Current.Verbose("Request to fetch Modules of an Account"); GetModulesResponse response = new GetModulesResponse(); IList <ModuleViewModel> moduleViewModels; IEnumerable <Module> modules; if (request.AccountID != null) { Logger.Current.Informational("Requested Modules for AccountId : " + request.AccountId); modules = roleRepository.GetModules(request.AccountID); } else { modules = roleRepository.GetModules(null); } if (modules != null) { moduleViewModels = Mapper.Map <IEnumerable <Module>, IEnumerable <ModuleViewModel> >(modules).ToList(); if (moduleViewModels != null) { foreach (var viewModel in moduleViewModels) { var submodule = moduleViewModels.Where(t => t.ParentId == viewModel.ModuleId).ToList(); if (submodule != null) { viewModel.SubModules = submodule; } } } List <ModuleViewModel> newViewModel = moduleViewModels.Where(l => l.ParentId <= 0).ToList(); response.ModuleViewModel = newViewModel; } else { response.ModuleViewModel = null; } return(response); }
static void GetModulesResponseExemple() { //List of kpis this module can calculate. List <string> kpiList = new List <string> { "cheese-taste-kpi", "cheese-price-kpi" }; //Create the IMessage response. GetModulesResponse mResponse = new GetModulesResponse( name: "Cheese Module", moduleId: "foo-bar_cheese-Module-v1-0", description: "A Module to assess cheese quality.", kpiList: kpiList); //json-string that can be interpeted by the dashboard //In this case indented in order to be easier to read (won't efect the dashboard). string message = Serialize.ToJsonString(mResponse, true); //Write the message to the console Console.WriteLine(message); //Output: //{ // "name": "Cheese Module", // "description": "A Module to assess cheese quality.", // "kpiList": [ // "cheese-taste-kpi", // "cheese-price-kpi" // ], // "moduleId": "foo-bar_cheese-Module-v1-0", // "method": "getModules", // "type": "response" //} Console.WriteLine(""); }
/// <summary> Setter constructor. </summary> public GetModules(GetModulesRequest request) { Request = request; Response = new GetModulesResponse(); }
/// <summary> Empty constructor. </summary> public GetModules() { Request = GetModulesRequest.Singleton; Response = new GetModulesResponse(); }