private string CheckExist(SetEcusConnectionModel model)
        {
            string message = string.Empty;
            var    existed = ecusConnectionService.Any(x => x.Id != model.Id && x.UserId == model.UserId && x.ServerName == model.ServerName && x.Dbname == model.Dbname);

            message = existed ? "This connection of " + model.Username + " has already existed, Please check again!" : null;
            return(message);
        }
        public IActionResult Update(SetEcusConnectionModel model)
        {
            PermissionRange permissionRange;
            ICurrentUser    _user = PermissionExtention.GetUserMenuPermission(currentUser, Menu.settingEcusConnection);

            permissionRange = PermissionExtention.GetPermissionRange(_user.UserMenuPermission.Write);

            if (permissionRange == PermissionRange.None)
            {
                return(BadRequest(new ResultHandle {
                    Status = false, Message = stringLocalizer[LanguageSub.DO_NOT_HAVE_PERMISSION].Value
                }));
            }

            bool code = ecusConnectionService.CheckAllowPermissionAction(model.Id, permissionRange);

            if (code == false)
            {
                return(BadRequest(new ResultHandle {
                    Status = false, Message = stringLocalizer[LanguageSub.DO_NOT_HAVE_PERMISSION].Value
                }));
            }

            var existedMessage = CheckExist(model);

            if (existedMessage != null)
            {
                return(BadRequest(new ResultHandle {
                    Status = false, Message = existedMessage
                }));
            }

            model.DatetimeModified = DateTime.Now;
            model.UserModified     = currentUser.UserID;
            model.GroupId          = currentUser.GroupId;
            model.DepartmentId     = currentUser.DepartmentId;
            model.OfficeId         = currentUser.OfficeID;
            model.CompanyId        = currentUser.CompanyID;
            var          hs      = ecusConnectionService.Update(model, x => x.Id == model.Id);
            var          message = HandleError.GetMessage(hs, Crud.Update);
            ResultHandle result  = new ResultHandle {
                Status = hs.Success, Message = stringLocalizer[message].Value
            };

            if (!hs.Success)
            {
                return(BadRequest(result));
            }
            return(Ok(result));
        }
        public IActionResult CheckAllowDetail(int id)
        {
            PermissionRange permissionRange;
            ICurrentUser    _user = null;

            SetEcusConnectionModel ecus = ecusConnectionService.Get(x => x.Id == id).FirstOrDefault();

            if (ecus == null)
            {
                return(Ok(false));
            }
            _user = PermissionExtention.GetUserMenuPermission(currentUser, Menu.settingEcusConnection);

            permissionRange = PermissionExtention.GetPermissionRange(_user.UserMenuPermission.Detail);
            return(Ok(ecusConnectionService.CheckAllowPermissionAction(id, permissionRange)));
        }