示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnAccept_Click(object sender, DirectEventArgs e)
        {
            if (string.IsNullOrEmpty(hdfEditList.Text))
            {
                return;
            }
            // get column values
            var salaryBoardDynamicColumns = JSON.Deserialize <List <SalaryBoardDynamicColumnModel> >(hdfEditList.Text);

            // get insert list
            var updateList = salaryBoardDynamicColumns.Where(r => r.Id > 0).ToList();

            // get update list
            var insertList = salaryBoardDynamicColumns.Where(r => r.Id <= 0).ToList();

            // update value
            for (var i = 0; i < updateList.Count; i++)
            {
                SalaryBoardDynamicColumnController.Update(updateList[i]);
            }

            // insert value
            for (var i = insertList.Count - 1; i >= 0; i--)
            {
                SalaryBoardDynamicColumnController.Create(insertList[i]);
            }

            // reload
            hdfEditList.Reset();
            grpPayrollDetail.Store.Primary.CommitChanges();
            grpPayrollDetail.Reload();
            btnAcceptChange.Hidden = true;
            btnCancelChange.Hidden = true;
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void BtnUpdate_Click(object sender, DirectEventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(hdfId.Text))
                {
                    return;
                }
                var colDynamic = SalaryBoardDynamicColumnController.GetById(Convert.ToInt32(hdfId.Text));
                if (colDynamic != null)
                {
                    colDynamic.ColumnExcel = txtUpdateColumnExcel.Text;
                    colDynamic.Value       = txtUpdateValue.Text;
                    colDynamic.IsInUsed    = chk_IsInUsedUpdate.Checked;
                    colDynamic.Display     = txtUpdateDisplay.Text;
                    colDynamic.ColumnCode  = txtUpdateColumnCode.Text;
                }
                ;
                SalaryBoardDynamicColumnController.Update(colDynamic);

                wdUpdateColumnDynamic.Hide();
                gridColumnDynamic.Reload();
                ResetFormUpdate();
            }
            catch (Exception ex)
            {
                ExtNet.Msg.Alert("Thông báo từ hệ thống", "Có lỗi xảy ra: " + ex.Message).Show();
            }
        }
示例#3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void BtnEdit_Click(object sender, DirectEventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(hdfId.Text))
                {
                    return;
                }
                // get dynamic column
                var colDynamic = SalaryBoardDynamicColumnController.GetById(Convert.ToInt32(hdfId.Text));
                if (colDynamic != null)
                {
                    txtFullName.Text           = colDynamic.FullName;
                    txtEmployeeCode.Text       = colDynamic.EmployeeCode;
                    txtUpdateColumnCode.Text   = colDynamic.ColumnCode;
                    txtUpdateColumnExcel.Text  = colDynamic.ColumnExcel;
                    chk_IsInUsedUpdate.Checked = colDynamic.IsInUsed;
                    txtUpdateValue.Text        = colDynamic.Value;
                    txtUpdateDisplay.Text      = colDynamic.Display;
                }

                wdUpdateColumnDynamic.Show();
            }
            catch (Exception ex)
            {
                Dialog.ShowError(ex.Message);
            }
        }
示例#4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void BtnUpdateHL_Click(object sender, DirectEventArgs e)
        {
            try
            {
                foreach (var itemRow in chkEmployeeRowSelection.SelectedRows)
                {
                    var colDynamic = new SalaryBoardDynamicColumnModel
                    {
                        RecordId      = Convert.ToInt32(itemRow.RecordID),
                        ColumnCode    = cbxColumnCode.Text,
                        Display       = txtDisplay.Text,
                        ColumnExcel   = txtColumnExcel.Text,
                        Value         = txtValue.Text,
                        CreatedDate   = DateTime.Now,
                        SalaryBoardId = int.Parse(hdfSalaryBoardListID.Text)
                    };

                    //create
                    SalaryBoardDynamicColumnController.Create(colDynamic);
                }

                //reload
                wdColumnDynamic.Hide();
                gridColumnDynamic.Reload();
            }
            catch (Exception ex)
            {
                Dialog.Alert("Thông báo từ hệ thống", "Có lỗi xảy ra: " + ex.Message);
            }
        }
示例#5
0
        /// <summary>
        /// Delete catalog
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Delete(object sender, DirectEventArgs e)
        {
            try
            {
                var param = e.ExtraParams["Id"];
                // parse id
                if (!int.TryParse(param, out var id) || id <= 0)
                {
                    // parse error, show error
                    Dialog.ShowError("Có lỗi xảy ra trong quá trình xử lý");
                    return;
                }
                // delete
                //Xoa bang luong
                SalaryBoardInfoController.DeleteByBoardListId(id);

                //delete salary column dynamic
                SalaryBoardDynamicColumnController.DeleteByCondition(id);

                //Xoa trong danh sach bang luong
                PayrollController.Delete(id);

                // reload data
                grdSalaryBoardList.Reload();
            }
            catch (Exception ex)
            {
                Dialog.ShowError(ex.Message);
            }
        }
示例#6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void BtnDelete_Click(object sender, DirectEventArgs e)
 {
     foreach (var item in RowSelectionModel1.SelectedRows)
     {
         //delete
         SalaryBoardDynamicColumnController.Delete(int.Parse("0" + item.RecordID));
     }
     gridColumnDynamic.Reload();
 }
示例#7
0
        public void SetEditValues(string recordId, string columnCode, string value)
        {
            // show button
            btnAcceptChange.Hidden = false;
            btnCancelChange.Hidden = false;

            List <SalaryBoardDynamicColumnModel> list;

            SalaryBoardDynamicColumnModel salaryBoardDynamicColumn;

            // get edit column
            var salaryBoardDynamicColumns = SalaryBoardDynamicColumnController.GetAll(null, recordId, int.Parse(hdfSalaryBoardListID.Text), columnCode, true, null, 1);

            if (salaryBoardDynamicColumns == null || salaryBoardDynamicColumns.Count == 0)
            {
                // create new column value
                salaryBoardDynamicColumn = new SalaryBoardDynamicColumnModel
                {
                    RecordId      = int.Parse(recordId),
                    SalaryBoardId = int.Parse(hdfSalaryBoardListID.Text),
                    ColumnCode    = columnCode,
                    Value         = value,
                    IsInUsed      = true
                };
            }
            else
            {
                // update column value
                salaryBoardDynamicColumn       = salaryBoardDynamicColumns.First();
                salaryBoardDynamicColumn.Value = value;
            }

            // set text hidden field
            if (!string.IsNullOrEmpty(hdfEditList.Text))
            {
                list = JSON.Deserialize <List <SalaryBoardDynamicColumnModel> >(hdfEditList.Text);
                list.Add(salaryBoardDynamicColumn);
            }
            else
            {
                list = new List <SalaryBoardDynamicColumnModel> {
                    salaryBoardDynamicColumn
                };
            }

            hdfEditList.Text = JSON.Serialize(list);
        }
示例#8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnUpdateImportExcel_Click(object sender, DirectEventArgs e)
        {
            var workbook = new WorkBook();

            // upload file

            if (fileExcel.HasFile)
            {
                var path = UploadFile(fileExcel, Constant.PathTemplate);
                if (path != null)
                {
                    // Read data from excel
                    workbook.readXLSX(Path.Combine(Server.MapPath("~/"), Constant.PathTemplate, path));

                    // Export to datatable
                    var dataTable = workbook.ExportDataTable(0,                    //first row
                                                             0,                    //first col
                                                             workbook.LastRow + 1, //last row
                                                             workbook.LastCol + 1, //last col
                                                             true,                 //first row as header
                                                             false                 //convert to DateTime object if it match date pattern
                                                             );

                    // get config by ID
                    var salaryBoardConfig = SalaryBoardConfigController.GetAll(int.Parse(hdfConfigId.Text), null, null, null,
                                                                               SalaryConfigDataType.DynamicValue, null, null);

                    foreach (DataRow row in dataTable.Rows)
                    {
                        // get employee code
                        var employeeCode = row[EmployeeCode].ToString();
                        if (string.IsNullOrEmpty(employeeCode))
                        {
                            continue;
                        }

                        // get record by employee code
                        var record = RecordController.GetByEmployeeCode(employeeCode);

                        foreach (DataColumn col in dataTable.Columns)
                        {
                            foreach (var item in salaryBoardConfig)
                            {
                                // check column name exists
                                if (item.Display != col.ColumnName)
                                {
                                    continue;
                                }

                                // check empty string
                                var value = Convert.ToString(row[col], CultureInfo.InvariantCulture);
                                if (string.IsNullOrEmpty(value))
                                {
                                    continue;
                                }

                                // check if dynamic column value exists
                                var salaryBoardDynamicColumn = SalaryBoardDynamicColumnController.GetAll(null, record.Id.ToString(), int.Parse(hdfPayrollId.Text), item.ColumnCode, true, null, null);

                                if (salaryBoardDynamicColumn.Count > 0)
                                {
                                    // update dynamic column value
                                    salaryBoardDynamicColumn.First().Value = value;
                                    SalaryBoardDynamicColumnController.Update(salaryBoardDynamicColumn.First());
                                }
                                else
                                {
                                    // create dynamic column value
                                    var salaryBoardConfigColumn = new SalaryBoardDynamicColumnModel()
                                    {
                                        RecordId      = record.Id,
                                        SalaryBoardId = int.Parse(hdfPayrollId.Text),
                                        ColumnCode    = item.ColumnCode,
                                        Value         = value,
                                        Display       = item.Display
                                    };
                                    SalaryBoardDynamicColumnController.Create(salaryBoardConfigColumn);
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                Dialog.Alert("Bạn chưa chọn tệp tin đính kèm. Vui lòng chọn.");
                return;
            }
            Dialog.Alert("Cập nhật thành công");
            grpPayrollDetail.Reload();
        }