コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        public static GetModulesResult ToDto(this GetModulesResponse resp)
        {
            if (resp == null)
            {
                throw new ArgumentNullException(nameof(resp));
            }

            return(new GetModulesResult
            {
                TemplateUnits = resp.ProjectTemplateUnits,
                Units = resp.ProjectUnits
            });
        }
コード例 #4
0
ファイル: RoleService.cs プロジェクト: rtbhosale/SmartTouch
        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);
        }
コード例 #5
0
        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("");
        }
コード例 #6
0
ファイル: GetModules.cs プロジェクト: KIT-ISAS/iviz
 /// <summary> Setter constructor. </summary>
 public GetModules(GetModulesRequest request)
 {
     Request  = request;
     Response = new GetModulesResponse();
 }
コード例 #7
0
ファイル: GetModules.cs プロジェクト: KIT-ISAS/iviz
 /// <summary> Empty constructor. </summary>
 public GetModules()
 {
     Request  = GetModulesRequest.Singleton;
     Response = new GetModulesResponse();
 }