Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="searchKey"></param>
        /// <param name="configId"></param>
        /// <param name="dataType"></param>
        /// <param name="start"></param>
        /// <param name="limit"></param>
        /// <returns></returns>
        public static PageResult <SalaryBoardConfigModel> GetListSalaryBoardConfig(string searchKey, int?configId, SalaryConfigDataType?dataType, int start, int limit)
        {
            var lstTimeModels = new List <SalaryBoardConfigModel>();

            var condition = Constant.ConditionDefault;

            if (configId != null)
            {
                condition += " AND [ConfigId] = {0} ".FormatWith(configId);
            }

            // add search key
            if (!string.IsNullOrEmpty(searchKey))
            {
                condition +=
                    @" AND ([Display] LIKE N'%{0}%' OR [ColumnCode] LIKE N'%{0}%' OR [ColumnExcel] LIKE N'%{0}%') "
                    .FormatWith(searchKey);
            }

            if (dataType != null)
            {
                condition += @" AND [DataType]={0}".FormatWith((int)dataType.Value);
            }
            var hrPageResult = hr_SalaryBoardConfigServices.GetPaging(condition, null, start, limit);

            if (hrPageResult.Data.Count <= 0)
            {
                return(new PageResult <SalaryBoardConfigModel>(hrPageResult.Total, lstTimeModels));
            }
            lstTimeModels.AddRange(hrPageResult.Data.Select(record => new SalaryBoardConfigModel(record)));
            //sort
            lstTimeModels.Sort((x, y) => CompareUtil.CompareStringByLength(x.ColumnExcel, y.ColumnExcel));

            return(new PageResult <SalaryBoardConfigModel>(hrPageResult.Total, lstTimeModels));
        }
Пример #2
0
        /// <summary>
        /// Sinh cột động
        /// </summary>
        public void InitDynamicColumn()
        {
            // get payroll
            var payroll = PayrollController.GetById(int.Parse(hdfPayrollId.Text));

            if (payroll == null)
            {
                return;
            }

            grpPayrollDetail.Title = payroll.Title;

            // get salary board config
            var salaryBoardConfigs = SalaryBoardConfigController.GetAll(payroll.ConfigId, true, null, null, null, null, null);


            //sort list by columnExcel
            salaryBoardConfigs.Sort((x, y) => CompareUtil.CompareStringByLength(x.ColumnExcel, y.ColumnExcel));


            foreach (var config in salaryBoardConfigs)
            {
                var recordField = new RecordField
                {
                    Name = config.ColumnCode
                };
                var column = new Column
                {
                    Header    = config.Display,
                    DataIndex = recordField.Name,
                    Width     = 120,
                    Align     = Alignment.Right,
                    Renderer  = { Fn = "RenderValue" },
                    Tooltip   = config.Display,
                };
                switch (config.DataType)
                {
                case SalaryConfigDataType.FieldFormula:
                case SalaryConfigDataType.Formula:
                    column.Css = "font-weight:bold;";
                    break;

                case SalaryConfigDataType.DynamicValue:
                    column.Css = "background:#e6eaf2;";
                    column.Editor.Add(new TextField());
                    break;
                }

                storePayrollDetail.AddField(recordField);
                grpPayrollDetail.ColumnModel.Columns.Add(column);
            }
        }