示例#1
0
        /// <summary>
        /// Delete
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Delete(object sender, DirectEventArgs e)
        {
            try
            {
                if (!string.IsNullOrEmpty(hdfId.Text))
                {
                    //delete criterionGroup
                    CriterionGroupController.DeleteByCondition(Convert.ToInt32(hdfId.Text), null);
                    //delete group
                    GroupKpiController.Delete(Convert.ToInt32(hdfId.Text));
                }

                // reload data
                gpGroupKpi.Reload();
            }
            catch (Exception exception)
            {
                Dialog.ShowError(exception);
            }
        }
示例#2
0
        /// <summary>
        /// insert or update
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void InsertOrUpdate(object sender, DirectEventArgs e)
        {
            try
            {
                // init entity
                var model = new GroupKpiModel();

                // check id
                if (!string.IsNullOrEmpty(hdfId.Text) && Convert.ToInt32(hdfId.Text) > 0)
                {
                    var result = GroupKpiController.GetById(Convert.ToInt32(hdfId.Text));;
                    if (result != null)
                    {
                        model = result;
                    }
                }

                // set new props for entity
                model.Name        = txtName.Text;
                model.Description = txtDescription.Text;
                if (chkIsActive.Checked)
                {
                    model.Status = KpiStatus.Active;
                }
                else
                {
                    model.Status = KpiStatus.Locked;
                }

                // check entity id
                if (model.Id > 0)
                {
                    model.EditedDate = DateTime.Now;
                    model.EditedBy   = CurrentUser.User.UserName;
                    // update
                    GroupKpiController.Update(model);
                }
                else
                {
                    model.CreatedBy   = CurrentUser.User.UserName;
                    model.CreatedDate = DateTime.Now;
                    model.EditedDate  = DateTime.Now;
                    model.EditedBy    = "";
                    // insert
                    var resultModel = GroupKpiController.Create(model);
                    if (resultModel != null)
                    {
                        //create criterionGroup
                        foreach (var itemRow in chkCriterionRowSelection.SelectedRows)
                        {
                            // init entity
                            var criterionGroupModel = new CriterionGroupModel()
                            {
                                CriterionId = Convert.ToInt32(itemRow.RecordID),
                                GroupId     = resultModel.Id
                            };

                            // insert
                            CriterionGroupController.Create(criterionGroupModel);
                        }
                    }
                }

                // hide window
                wdSetting.Hide();

                //reset form
                ResetForm();
                // reload data
                gpGroupKpi.Reload();
            }
            catch (Exception exception)
            {
                Dialog.ShowError(exception);
            }
        }
示例#3
0
        private void AddColumn()
        {
            // remove fields
            storeEvaluation.RemoveFields();

            // column index
            var colIndex = new RowNumbererColumn
            {
                ColumnID = "colIndex",
                Header   = "STT",
                Align    = Alignment.Center,
                Width    = 40
            };

            gpEvaluation.AddColumn(colIndex);

            // column employee code
            var colEmployeeCode = new Column
            {
                ColumnID  = "colEmployeeCode",
                Header    = "Mã nhân viên",
                DataIndex = "EmployeeCode",
                Align     = Alignment.Left,
                Width     = 100
            };
            var recordFieldEmployeeCode = new RecordField()
            {
                Name    = "EmployeeCode",
                Mapping = "EmployeeCode"
            };

            storeEvaluation.AddField(recordFieldEmployeeCode);
            gpEvaluation.AddColumn(colEmployeeCode);

            // init column employee name
            var colFullName = new Column
            {
                ColumnID  = "colFullName",
                Header    = "Họ và tên",
                DataIndex = "FullName",
                Align     = Alignment.Left,
                Width     = 150
            };
            var recordFieldFullName = new RecordField()
            {
                Name    = "FullName",
                Mapping = "FullName"
            };

            storeEvaluation.AddField(recordFieldFullName);
            gpEvaluation.AddColumn(colFullName);

            //init column departmentName
            var colDepartmentName = new Column
            {
                ColumnID  = "colDepartmentName",
                Header    = "Đơn vị",
                DataIndex = "DepartmentName",
                Align     = Alignment.Left,
                Width     = 150
            };
            var recordFieldDepartmentName = new RecordField()
            {
                Name    = "DepartmentName",
                Mapping = "DepartmentName"
            };

            storeEvaluation.AddField(recordFieldDepartmentName);
            gpEvaluation.AddColumn(colDepartmentName);

            // get criterion in group
            var criterionGroups = CriterionGroupController.GetAll(null, null, Convert.ToInt32(hdfGroupFilter.Text), null, null);

            // init count
            var count = 0;

            // add kpi criterion column
            foreach (var item in criterionGroups)
            {
                // init field
                var recordField = new RecordField()
                {
                    Name    = item.CriterionCode,
                    Mapping = "CriterionDetailModels[{0}].Display".FormatWith(count++)
                };

                // init column
                var col = new Column
                {
                    ColumnID  = recordField.Name,
                    Header    = item.CriterionName,
                    DataIndex = recordField.Name,
                    Align     = Alignment.Center,
                    Width     = 150,
                    Renderer  = { Fn = "RenderCriterion" }
                };

                // add field
                storeEvaluation.AddField(recordField);

                // add column
                gpEvaluation.AddColumn(col);
            }
        }