示例#1
0
        public async Task <IActionResult> Update(int id, [FromBody] SaveModuleRightsResource moduleResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var module = await moduleRepository.GetOne(id);

            if (module == null)
            {
                return(NotFound());
            }

            module = mapper.Map(moduleResource, module);

            if (await unitOfWork.CompleteAsync() == false)
            {
                throw new Exception(message: $"Updating moduleright with id: {id} failed on save");
            }

            module = await moduleRepository.GetOne(module.Id);

            var result = mapper.Map <ModuleRight, ViewModuleRightsResource>(module);

            return(Ok(result));
        }
示例#2
0
        public async Task <IActionResult> Create([FromBody] SaveModuleRightsResource moduleResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var module = mapper.Map <SaveModuleRightsResource, ModuleRight>(moduleResource);

            // Add module right
            moduleRepository.Add(module);

            // Add module right to user module right
            var users = await userRepository.GetAll();

            foreach (User list in users)
            {
                var userModuleRights = new UserModuleRight
                {
                    ModuleRightsId = module.Id,
                    UserId         = list.Id,
                    Read           = false,
                    Write          = false
                };

                var saveUserModule = mapper.Map <UserModuleRight>(userModuleRights);

                userModuleRightsRepository.Add(saveUserModule);
            }

            if (await unitOfWork.CompleteAsync() == false)
            {
                throw new Exception(message: "Create new Module failed on save");
            }

            module = await moduleRepository.GetOne(module.Id);

            var result = mapper.Map <ModuleRight, ViewModuleRightsResource>(module);

            return(Ok(result));
        }