예제 #1
0
        public Function MappingFunction(FunctionViewModelinFunctionService function)
        {
            Function newfunction = new Function();

            newfunction.Id       = function.Id;
            newfunction.IconCss  = function.IconCss;
            newfunction.Name     = function.Name;
            newfunction.ParentId = function.ParentId;
            newfunction.Status   = function.Status;
            newfunction.URL      = function.URL;
            return(newfunction);
        }
        private void GetByParentId(List <FunctionViewModelinFunctionService> allFunctions,
                                   FunctionViewModelinFunctionService parent, IList <FunctionViewModelinFunctionService> items)
        {
            //var functionsEntities = allFunctions as FunctionViewModelinFunctionService[] ?? allFunctions.ToArray();
            var subFunctions = allFunctions.Where(c => c.ParentId == parent.Id);

            foreach (var cat in subFunctions)
            {
                //add this category
                items.Add(cat);
                //recursive call in case your have a hierarchy more than 1 level deep
                GetByParentId(allFunctions, cat, items);
            }
        }
        public async Task <IActionResult> updateEntity([FromBody] FunctionViewModelinFunctionService functionVm)
        {
            if (!ModelState.IsValid)
            {
                IEnumerable <ModelError> allErrors = ModelState.Values.SelectMany(v => v.Errors);
                return(new BadRequestObjectResult(allErrors));
            }
            else
            {
                var execute = await _updateFunctionService.ExecuteAsync(functionVm);

                return(new OkObjectResult(execute));
            }
        }
예제 #4
0
        public async Task <FunctionViewModelinFunctionService> ExecuteAsync(string id)
        {
            var function = await _functionRepository.FindSingleAsync(x => x.Id == id);

            FunctionViewModelinFunctionService functionViewModel = new FunctionViewModelinFunctionService
            {
                IconCss  = function.IconCss,
                Id       = function.Id,
                Name     = function.Name,
                ParentId = function.ParentId,
                Status   = function.Status,
                URL      = function.URL
            };

            return(functionViewModel);
        }
        public async Task <CommandResult <FunctionViewModelinFunctionService> > ExecuteAsync(FunctionViewModelinFunctionService function)
        {
            var userId   = _httpContextAccessor.HttpContext.User.Identity.Name;
            var userName = await _userManager.FindByIdAsync(userId);

            try
            {
                //Check user has permission first
                if (await _checkUserIsAdminQuery.ExecuteAsync(userId) || await _getPermissionActionQuery.ExecuteAsync(userId, ConstantFunctions.FUNCTION, ActionSetting.CanUpdate))
                {
                    var functionDb = await _functionRepository.FindByIdAsync(function.Id);

                    if (functionDb != null)
                    {
                        functionDb.IconCss  = function.IconCss;
                        functionDb.Id       = function.Id;
                        functionDb.Name     = function.Name;
                        functionDb.ParentId = function.ParentId;
                        functionDb.Status   = function.Status;
                        functionDb.URL      = function.URL;
                        _functionRepository.Update(functionDb);
                        await _functionRepository.SaveAsync();

                        await Logging <UpdateFunctionServiceCommand> .
                        InformationAsync(ActionCommand.COMMAND_UPDATE, userName.UserName, JsonConvert.SerializeObject(functionDb));

                        return(new CommandResult <FunctionViewModelinFunctionService>
                        {
                            isValid = true,
                            myModel = function,
                        });
                    }
                    await Logging <UpdateFunctionServiceCommand>
                    .WarningAsync(ActionCommand.COMMAND_UPDATE, userName.UserName, ErrorMessageConstant.ERROR_CANNOT_FIND_ID);

                    return(new CommandResult <FunctionViewModelinFunctionService>
                    {
                        isValid = false,
                        errorMessage = ErrorMessageConstant.ERROR_CANNOT_FIND_ID
                    });
                }
                else
                {
                    await Logging <UpdateFunctionServiceCommand>
                    .WarningAsync(ActionCommand.COMMAND_UPDATE, userName.UserName, ErrorMessageConstant.ERROR_UPDATE_PERMISSION);

                    return(new CommandResult <FunctionViewModelinFunctionService>
                    {
                        isValid = false,
                        errorMessage = ErrorMessageConstant.ERROR_UPDATE_PERMISSION
                    });
                }
            }
            catch (System.Exception ex)
            {
                await Logging <UpdateFunctionServiceCommand> .ErrorAsync(ex, ActionCommand.COMMAND_UPDATE, userName.UserName, ErrorMessageConstant.ERROR_UPDATE_PERMISSION);

                return(new CommandResult <FunctionViewModelinFunctionService>
                {
                    isValid = false,
                    errorMessage = ex.InnerException.ToString()
                });
            }
        }
예제 #6
0
        public async Task <CommandResult <FunctionViewModelinFunctionService> > ExecuteAsync(FunctionViewModelinFunctionService function)
        {
            var userId   = _httpContextAccessor.HttpContext.User.Identity.Name;
            var userName = await _userManager.FindByIdAsync(userId);

            try
            {
                //Check user has permission first
                if (await _checkUserIsAdminQuery.ExecuteAsync(userId) || await _getPermissionActionQuery.ExecuteAsync(userId, ConstantFunctions.FUNCTION, ActionSetting.CanCreate))
                {
                    var mappingFunction = MappingFunction(function);
                    await _functionRepository.Add(mappingFunction);

                    await _functionRepository.SaveAsync();

                    await Logging <AddFunctionServiceCommand> .InformationAsync(ActionCommand.COMMAND_ADD, userName.UserName, JsonConvert.SerializeObject(mappingFunction));

                    return(new CommandResult <FunctionViewModelinFunctionService>
                    {
                        isValid = true,
                        myModel = new FunctionViewModelinFunctionService
                        {
                            IconCss = mappingFunction.IconCss,
                            Id = mappingFunction.Id,
                            Name = mappingFunction.Name,
                            ParentId = mappingFunction.ParentId,
                            Status = mappingFunction.Status,
                            URL = mappingFunction.URL
                        }
                    });
                }
                else
                {
                    await Logging <AddFunctionServiceCommand>
                    .WarningAsync(ActionCommand.COMMAND_ADD, userName.UserName, ErrorMessageConstant.ERROR_ADD_PERMISSION);

                    return(new CommandResult <FunctionViewModelinFunctionService>
                    {
                        isValid = false,
                        errorMessage = ErrorMessageConstant.ERROR_ADD_PERMISSION
                    });
                }
            }
            catch (System.Exception ex)
            {
                await Logging <AddFunctionServiceCommand> .ErrorAsync(ex, ActionCommand.COMMAND_ADD, userName.UserName, "Has error");

                return(new CommandResult <FunctionViewModelinFunctionService>
                {
                    isValid = false,
                    errorMessage = ex.InnerException.ToString()
                });
            }
        }