コード例 #1
0
        public virtual void AppParameterManagement(AppParameter appParameter, string requestStr)
        {
            if (appParameter == null)
            {
                throw new ArgumentNullException("appParameter", Resources.MsgInvalidAppParameter);
            }

            if (requestStr == null)
            {
                throw new ArgumentNullException("requestStr", Resources.MsgOperationRequestUnknown);
            }

            if (requestStr.Length == 0)
            {
                throw new ArgumentNullException("requestStr", Resources.MsgOperationRequestUnknown);
            }

            if (requestStr == Resources.OperationRequestInsert)
            {
                InsertAppParameter(appParameter);
            }
            else if (requestStr == Resources.OperationRequestUpdate)
            {
                UpdateAppParameter(appParameter);
            }
            else
            {
                DeleteAppParameter(appParameter);
            }
        }
コード例 #2
0
        public async Task <Unit> Handle(AppParameterUpdateCommand request, CancellationToken cancellationToken)
        {
            ThrowIfMessageNotValid(request);

            AppParameter existingAppParameter = await _appParameterRepository.GetAppParameterByNameAsync(request.Name);

            if (existingAppParameter != null && existingAppParameter.Id != request.Id)
            {
                if (request.Name == existingAppParameter.Name)
                {
                    ThrowValidationException(Lang.RECORD_EXISTS);
                }
            }

            AppParameter appParameter = await _appParameterRepository.GetByIdAsync(request.Id);

            appParameter.Update(request.Name, request.Value, request.Description, _user.Name);

            await _appParameterRepository.UpdateAsync(appParameter);

            await CommitAsync();

            await _bus.Publish(new AppParameterUpdatedEvent(appParameter, _user));

            return(Unit.Value);
        }
コード例 #3
0
        public async Task <Unit> Handle(AppParameterCreateBundleCommand request, CancellationToken cancellationToken)
        {
            //await SendEmailExample();

            ThrowIfMessageNotValid(request);

            try
            {
                AppParameter appParameter1 = new AppParameter("App Parameter 1", "1", "App Parameter Description 1", _user.Name);
                AppParameter appParameter2 = new AppParameter("App Parameter 2", "2", "App Parameter Description 2", _user.Name);
                AppParameter appParameter3 = new AppParameter("App Parameter 3", "3", "App Parameter Description 3", _user.Name);
                AppParameter appParameter4 = new AppParameter("App Parameter 4", "4", "App Parameter Description 4", _user.Name);
                AppParameter appParameter5 = new AppParameter("App Parameter 5", "5", "App Parameter Description 5", _user.Name);

                await StartTransactionAsync();

                await _appParameterRepository.AddAsync(appParameter1);
                await CommitAsync();

                await _appParameterRepository.AddAsync(appParameter2);
                await CommitAsync();

                await _appParameterRepository.AddAsync(appParameter3);
                await CommitAsync();

                await _appParameterRepository.AddAsync(appParameter4);
                await CommitAsync();

                await _appParameterRepository.AddAsync(appParameter5);
                await CommitAsync();

                if (request.ThrowException)
                {
                    throw new Exception("this exception is throw for demonstration");
                }

                await CommitTransactionAsync();

                await _bus.Publish(new AppParameterCreatedEvent(appParameter1, _user));

                await _bus.Publish(new AppParameterCreatedEvent(appParameter2, _user));

                await _bus.Publish(new AppParameterCreatedEvent(appParameter3, _user));

                await _bus.Publish(new AppParameterCreatedEvent(appParameter4, _user));

                await _bus.Publish(new AppParameterCreatedEvent(appParameter5, _user));

                return(Unit.Value);
            }
            catch (Exception)
            {
                await RollbackTransactionAsync();

                throw;
            }
        }
コード例 #4
0
        public ActionResult AddAppParam(AppParamViewModel appParamModel)
        {
            appParamModel.IsActive = true;
            AppParameter objAppParam = null;

            objAppParam = Mapper.Map <AppParamViewModel, AppParameter>(appParamModel);
            this.appParameterService.SaveAppParameters(objAppParam);
            unitOfWork.Commit();

            return(this.Content("Success"));
        }
コード例 #5
0
        public AppParameterCreatedEvent(AppParameter appParameter, IUser user)
            : base(user)
        {
            AggregateId = appParameter.Id;
            Id          = appParameter.Id;
            EventType   = "Create";

            Name        = appParameter.Name;
            Value       = appParameter.Value;
            Description = appParameter.Description;
        }
コード例 #6
0
ファイル: Seeding.cs プロジェクト: guillaumejay/MyMeetup
 public static void SeedData(MyMeetupContext context)
 {
     if (context.AppParameters.Any() == false)
     {
         AppParameter ap = new AppParameter {
             Title = "MyMeetup"
         };
         context.AppParameters.Add(ap);
         context.SaveChanges();
     }
     SeedMeetupData(context);
 }
コード例 #7
0
 private void AppParamManagement(AppParameter appParameter, string operationRequest)
 {
     try
     {
         _CommonService.AppParameterManagement(appParameter, operationRequest);
     }
     catch (Exception exception)
     {
         FrmExtendedMessageBox.UnknownErrorMessage(
             Resources.MsgCaptionUnknownError,
             exception.Message);
     }
 }
コード例 #8
0
        public async Task <Unit> Handle(AppParameterCreateCommand request, CancellationToken cancellationToken)
        {
            //if (!_user.IsAdmin())
            //    throw new ValidationException("You must be admin to execute this method");

            ThrowIfMessageNotValid(request);

            AppParameter appParameter = new AppParameter(request.Name, request.Value, request.Description, _user.Name);

            if (await _appParameterRepository.GetAppParameterByNameAsync(request.Name) != null)
            {
                ThrowValidationException(Lang.RECORD_EXISTS);
            }

            await _appParameterRepository.AddAsync(appParameter);

            await CommitAsync();

            await _bus.Publish(new AppParameterCreatedEvent(appParameter, _user));

            return(Unit.Value);
        }
コード例 #9
0
 public virtual void DeleteAppParameter(AppParameter appParameter)
 {
     DeleteObject(appParameter);
 }
コード例 #10
0
        public void Delete(BaseEntity entity)
        {
            AppParameter parameter = (AppParameter)entity;

            _repository.Delete(parameter);
        }
コード例 #11
0
        private void dgvAppParameter_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
        {
            if (!_IsModified)
            {
                return;
            }

            if (dgvAppParameter.Rows[e.RowIndex].Cells["ParameterLabel"].Value is DBNull)
            {
                e.Cancel = true;
            }

            if (e.Cancel)
            {
                return;
            }

            try
            {
                AppParameter appParameter;
                if (dgvAppParameter.Rows[e.RowIndex].Cells["ParameterId"].Value is DBNull)
                {
                    appParameter = new AppParameter();
                    _AppParamList.Add(appParameter);
                }
                else
                {
                    appParameter = _AppParamList[e.RowIndex] as AppParameter;
                }

                if (appParameter == null)
                {
                    e.Cancel = true;
                    return;
                }

                appParameter.ParameterLabel = dgvAppParameter.Rows[e.RowIndex].Cells["ParameterLabel"].Value.ToString();
                appParameter.ParameterValue = dgvAppParameter.Rows[e.RowIndex].Cells["ParameterValue"].Value.ToString();

                appParameter.ParameterCode   = dgvAppParameter.Rows[e.RowIndex].Cells["ParameterCode"].Value == null ? "" : dgvAppParameter.Rows[e.RowIndex].Cells["ParameterCode"].Value.ToString();
                appParameter.ParameterTypeId = Int32.Parse(LstProduct.SelectedValue.ToString(), AppContext.CultureInfo);

                SetModifyStatus(false);

                if (appParameter.ParameterId == 0)
                {
                    //appParameter.ParameterValue = _CommonService
                    //    .GenerateAppParamValue(cmbAppParamValue.Text);
                    //dgvAppParameter.Rows[e.RowIndex].Cells["ParameterValue"].Value = appParameter.ParameterValue;

                    AppParamManagement(appParameter,
                                       Resources.OperationRequestInsert);

                    _AppParamList = _CommonService
                                    .GetAppParametersByType(
                        Int32.Parse(lsbAppParam.SelectedValue.ToString(), AppContext.CultureInfo));
                    cmbAppParamValue.DataSource = _AppParamList;
                    if (StringHelper.Length(cmbAppParamValue.DisplayMember) == 0)
                    {
                        cmbAppParamValue.DisplayMember = AppParameter.ConstParameterValue;
                    }
                    if (StringHelper.Length(cmbAppParamValue.ValueMember) == 0)
                    {
                        cmbAppParamValue.ValueMember = AppParameter.ConstParameterId;
                    }
                    cmbAppParamValue.SelectedIndex = _AppParamList.Count - 1;
                }
                else
                {
                    AppParamManagement(appParameter,
                                       Resources.OperationRequestUpdate);
                }
            }
            catch (Exception exception)
            {
                FrmExtendedMessageBox.UnknownErrorMessage(
                    Resources.MsgCaptionUnknownError,
                    exception.Message);
            }
        }
コード例 #12
0
        public void Update(BaseEntity entity)
        {
            AppParameter parameter = (AppParameter)entity;

            _repository.Update <AppParameter>(parameter);
        }
コード例 #13
0
        /// <summary>
        /// 根据程序集反射出所有的需权限的控制器和功能
        /// </summary>
        /// <param name="rootTree">程序集根结点</param>
        /// <param name="assembly">程序集</param>
        void GetFunctions(JTree <AppFunction> rootTree, Assembly assembly)
        {
            var functionInfos =
                (from t in assembly.GetTypes()
                 where !t.IsAbstract && t.Name.EndsWith("Controller")
                 from m in t.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly)
                 where !m.IsSpecialName
                 select new MvcFuncInfo()
            {
                Controller = t,
                Action = m,
                ControllerName = t.Name.Substring(0, t.Name.Length - 10),
                ActionName = m.Name,
                Parameters = m.GetParameters()
            }).ToList();

            List <AppFunction> functionList = new List <AppFunction>();

            foreach (var groupInfo in functionInfos.GroupBy(f => f.Controller))
            {
                var menu = GetMenu(groupInfo.Key, rootTree.Node.AuthType, rootTree.Node.LogType);

                //生成Controller作为二级的功能项
                AppFunction parent = new AppFunction()
                {
                    Name           = menu.Name,
                    Location       = menu.AreaName + "/" + groupInfo.First().ControllerName,
                    ControllerName = groupInfo.Key.FullName,
                    Visible        = menu.Visible,
                    AuthType       = menu.AuthType,
                    LogType        = menu.LogType,
                    Ord            = menu.Ord,
                };

                if (parent.AuthType == JAuthType.Ignore)
                {
                    continue;
                }

                parent.LocationSamples = parent.Location;
                ReDefineId(menu, parent);
                var parentTree = rootTree.Add(parent);

                //生成Controller下面的Action作为三级的功能项
                foreach (var info in groupInfo)
                {
                    info.AuthType = parent.AuthType;
                    //提取Attributes
                    GetAttributes(info);

                    menu = GetMenu(info);
                    AppFunction child = new AppFunction()
                    {
                        Name     = menu.Name,
                        Location = menu.AreaName + info.ToString(),
                        ParentId = parent.Id,
                        Visible  = menu.Visible,

                        Parameters = info.Parameters.Select(p =>
                        {
                            var pa = new AppParameter
                            {
                                Name = p.Name,
                            };
                            if (p.ParameterType.Name.StartsWith("Int"))
                            {
                                pa.ValuePattern = @"\d+";
                            }
                            return(pa);
                        }).ToList(),
                        Method         = info.HasPost ? WebMethod.POST : WebMethod.GET,
                        Ord            = menu.Ord,
                        AuthType       = menu.AuthType,
                        LogType        = menu.LogType,
                        ControllerName = parent.ControllerName,
                        ActionName     = info.ActionName
                    };

                    if (child.AuthType == JAuthType.Ignore)
                    {
                        continue;
                    }

                    ReDefineId(menu, child);

                    if (child.Method == WebMethod.GET)
                    {
                        MakeRegTail(child, info);
                    }
                    else
                    {
                        MakePostRegTail(child, info);
                    }
                    parentTree.Add(child);
                }
            }
        }
コード例 #14
0
 private void DeleteAppParameter(AppParameter appParameter)
 {
     _commonDataAccess.DeleteAppParameter(appParameter);
 }
コード例 #15
0
 private void UpdateAppParameter(AppParameter appParameter)
 {
     _commonDataAccess.UpdateAppParameter(appParameter);
 }
コード例 #16
0
 bool IAppParameterService.UpdateAppParameters(AppParameter appParam)
 {
     return(appParameterRepository.UpdateAppParameters(appParam));
 }
コード例 #17
0
 public virtual void InsertAppParameter(AppParameter appParameter)
 {
     InsertObject(appParameter);
 }
コード例 #18
0
 public virtual void UpdateAppParameter(AppParameter appParameter)
 {
     UpdateObject(appParameter);
 }
コード例 #19
0
    protected override DbRowParameter GetParameter()
    {
        AppParameter p = new AppParameter();

        return p.Parameter; 
    }
コード例 #20
0
 private void InsertAppParameter(AppParameter appParameter)
 {
     _commonDataAccess.InsertAppParameter(appParameter);
 }