Example #1
0
        public List <DTO_Department> GetChildByParentId(string parentId)
        {
            DataTable             dt          = dal.GetChildByParentId(parentId);
            List <DTO_Department> departments = new List <DTO_Department>();

            if (dt.Rows.Count < 0)
            {
                return(null);
            }

            try
            {
                foreach (DataRow row in dt.Rows)
                {
                    string         id         = row["Id"] == DBNull.Value ? null : row["Id"].ToString();
                    DTO_Department department = GetDepartmentById(id);
                    departments.Add(department);
                }

                return(departments);
            }
            catch
            {
                return(null);
            }
        }
Example #2
0
        private void MyDeptWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            btSave.IsEnabled = true;

            if (result.Result)
            {
                if (this.mode == EType.WindowMode.ADD_MODE)
                {
                    if (getDeptWorker.IsBusy)
                    {
                        getDeptWorker.CancelAsync();
                    }
                    else
                    {
                        getDeptWorker.RunWorkerAsync();
                    }
                }
                else
                {
                    DTO_Department oldDept = Repository.lstAllDepartment.FirstOrDefault(c => c.Id == department.Id);
                    if (oldDept != null)
                    {
                        oldDept.Manager     = department.Manager;
                        oldDept.Description = department.Description;
                        oldDept.Name        = department.Name;
                    }
                    this.DialogResult = true;
                    this.Hide();
                }
            }
            else
            {
                MessageBox.Show(result.Detail, "", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Example #3
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            InitData();

            switch (mode)
            {
            case EType.WindowMode.ADD_MODE:
                ResetControl();
                cbManager.SelectedIndex = 0;
                cbManager.IsEnabled     = false;
                department = new DTO_Department();


                break;

            default:
                //Get all employees in department
                List <DTO_CardHolder> lstEmpsInDept = Repository.lstAllCardHolders.Where(c => c.Department != null && c.Department.RootDeptId == department.Id).ToList();
                cbManager.ItemsSource       = lstEmpsInDept;
                cbManager.DisplayMemberPath = "Name";
                cbManager.SelectedValuePath = "Id";
                BindData();
                break;
            }
        }
Example #4
0
        public SQLResult AddNewDepartment(DTO_Department department)
        {
            DataTable dt     = new DataTable();
            SQLResult result = new SQLResult(false, "");

            try
            {
                _conn.Open();

                SqlCommand command = new SqlCommand();
                command.Connection  = _conn;
                command.CommandType = CommandType.StoredProcedure;
                command.CommandText = "spLDepartmentSave";
                command.Parameters.AddWithValue("WorkType", "A");
                command.Parameters.AddWithValue("Id", "");
                command.Parameters.AddWithValue("Name", department.Name);
                command.Parameters.AddWithValue("Parent", department.ParentId);
                if (department.Manager == null)
                {
                    command.Parameters.AddWithValue("Manager", DBNull.Value);
                }
                else
                {
                    command.Parameters.AddWithValue("Manager", department.Manager);
                }

                if (department.Description == null)
                {
                    command.Parameters.AddWithValue("Description", DBNull.Value);
                }
                else
                {
                    command.Parameters.AddWithValue("Description", department.Description);
                }


                SqlDataAdapter adapter = new SqlDataAdapter();
                adapter.SelectCommand = command;
                adapter.Fill(dt);

                if (dt.Rows[0]["Result"].ToString() == "OK")
                {
                    result.Result = true;
                }

                result.Detail    = dt.Rows[0]["Detail"].ToString();
                result.ExtraData = dt.Rows[0]["ExtraData"].ToString();
            }
            catch (Exception ex)
            {
                result.Detail = ex.Message;
            }
            finally
            {
                _conn.Close();
            }

            return(result);
        }
Example #5
0
        public SQLResult AddNewGroup(DTO_Department group)
        {
            if (group == null)
            {
                return(new SQLResult(false, "Nhóm không có thông tin."));
            }

            return(dal.AddNewDepartment(group));
        }
Example #6
0
        public SQLResult UpdateDepartment(DTO_Department department)
        {
            if (department == null)
            {
                return(new SQLResult(false, "Phòng ban/bộ phận rỗng."));
            }

            return(dal.UpdateDepartment(department));
        }
Example #7
0
        private void btExportTimesheets_Click(object sender, RoutedEventArgs e)
        {
            DTO_Department dept = (DTO_Department)cbDepartment.SelectedItem;

            if (dept != null)
            {
                ExportFileAttendance view = new ExportFileAttendance(int.Parse(dept.Id));
                view.ShowDialog();
            }
        }
Example #8
0
        private void Page1_Loaded(object sender, RoutedEventArgs e)
        {
            bUS_General = new BUS_General();

            worker = new BackgroundWorker();
            worker.WorkerSupportsCancellation = true;
            worker.DoWork             += Worker_DoWork;
            worker.RunWorkerCompleted += Worker_RunWorkerCompleted;

            selectedDepartment = Repository.lstAllDepartment.FirstOrDefault(d => d.Id == deptId.ToString());
        }
Example #9
0
 private void MyWorker_DoWork(object sender, DoWorkEventArgs e)
 {
     this.Dispatcher.Invoke(() =>
     {
         if (cbDepartment.SelectedItem != null)
         {
             DTO_Department dept = (DTO_Department)cbDepartment.SelectedItem;
             lstEvent            = bUS_Event.GetEvent(cardNumber, holderName, doorName, -1, int.Parse(dept.Id), startTime, endTime);
         }
     });
 }
Example #10
0
        private void MyDoorWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            parent.Groups.Add(newGroup);

            DTO_Department oldDepartment = Repository.lstAllDepartment.FirstOrDefault(dept => dept.Id == parent.Id);

            if (oldDepartment != null)
            {
                oldDepartment = parent;
            }

            this.DialogResult = true;
            this.Hide();
        }
Example #11
0
        private void btSave_Click(object sender, RoutedEventArgs e)
        {
            newGroup          = new DTO_Department();
            newGroup.Name     = tbGroupName.Text;
            newGroup.ParentId = parent.Id;

            if (myDeptWorker.IsBusy)
            {
                myDeptWorker.CancelAsync();
            }
            else
            {
                myDeptWorker.RunWorkerAsync();
            }
        }
Example #12
0
        private void WorkerDelEmp_DoWork(object sender, DoWorkEventArgs e)
        {
            //Remove employee from department
            selectedDept = Repository.lstAllDepartment.FirstOrDefault(d => d.Id == selectedEmp.DepartmentId);
            if (selectedDept != null)
            {
                selectedDept.Employees.Remove(selectedEmp);
            }

            //Reset department of card holder
            selectedEmp = Repository.lstAllCardHolders.FirstOrDefault(d => d.Id == selectedEmp.Id);
            if (selectedEmp != null)
            {
                selectedEmp.Department.Id = null;
            }

            result = bUS_CardHolder.UpdateCardHolder(selectedEmp);
        }
Example #13
0
        public DTO_Department GetDepartmentById(string id)
        {
            DataTable dt = dal.GetDepartmentById(id);

            if (dt.Rows.Count < 0)
            {
                return(null);
            }

            try
            {
                DataRow row = dt.Rows[0];

                DTO_Department department = new DTO_Department();
                department.Id          = row["Id"] == DBNull.Value ? null : row["Id"].ToString();
                department.Name        = row["Name"] == DBNull.Value ? null : row["Name"].ToString();
                department.ParentId    = row["Parent"] == DBNull.Value ? null : row["Parent"].ToString();
                department.RootDeptId  = row["RootParent"] == DBNull.Value ? department.Id : row["RootParent"].ToString();
                department.Description = row["Description"] == DBNull.Value ? null : row["Description"].ToString();

                string mamagerId = row["Manager"] == DBNull.Value ? null : row["Manager"].ToString();
                if (mamagerId == null)
                {
                    mamagerId = "-1";
                }
                department.Manager = bus_holder.GetCardHolderByKey(mamagerId);

                department.Employees = bus_holder.GetCardHolderByDept(department.Id);

                department.Groups = GetChildByParentId(department.Id);

                return(department);
            }
            catch
            {
                return(null);
            }
        }
Example #14
0
 public wdGroupDetail(DTO_Department parent)
 {
     InitializeComponent();
     this.parent = parent;
 }
Example #15
0
 public wdEmployeeDetail(DTO_Department parent)
 {
     InitializeComponent();
     this.parent = parent;
 }
Example #16
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            LoginUserName = LoginUser.Name;
            BindingExpression binding = tbLoginUserName.GetBindingExpression(TextBlock.TextProperty);

            binding.UpdateTarget();

            if (LoginUser.Id == "0")
            {
                isAdmin = true;
            }


            string[] arrLoginUserName = LoginUser.Name.Split(' ');
            if (arrLoginUserName != null && arrLoginUserName.Length > 0)
            {
                LoginUserLetter = arrLoginUserName[arrLoginUserName.Length - 1].Substring(0, 1).ToUpper();
            }
            else
            {
                LoginUserLetter = LoginUser.Name.Substring(0, 1).ToUpper();
            }

            BindingExpression binding1 = tbLoginUserLetter.GetBindingExpression(TextBlock.TextProperty);

            binding1.UpdateTarget();

            DTO_Department dept = Repository.lstAllDepartment.FirstOrDefault(d => d.Id == LoginUser.DepartmentId);

            if (dept != null)
            {
                if (dept.Manager == null)
                {
                    LoginUserDetail = string.Format("P. {0} - {1}", dept.Name, "Nhân Viên");
                    BindingExpression binding2 = tbLoginUserDetail.GetBindingExpression(TextBlock.TextProperty);
                    binding2.UpdateTarget();
                }
                else
                {
                    LoginUserDetail = string.Format("P. {0} - {1}", dept.Name, dept.Manager.Id == LoginUser.Id ? "Trưởng phòng" : "Nhân Viên");
                    BindingExpression binding3 = tbLoginUserDetail.GetBindingExpression(TextBlock.TextProperty);
                    binding3.UpdateTarget();
                }
            }

            if (isAdmin)
            {
                SetAdminMode();
            }
            else
            {
                SetManagerMode();
            }



            lbFunctions.ItemsSource = listViewItems;

            //Make Card screen is default
            lbFunctions.SelectedIndex = 0;
        }
Example #17
0
 public wdDepartmentDetail(EType.WindowMode mode, DTO_Department dept)
 {
     InitializeComponent();
     this.mode       = mode;
     this.department = dept;
 }
Example #18
0
        private void itemDelete_Click(object sender, RoutedEventArgs e)
        {
            //Part 1: Delete department group
            try
            {
                selectedDept = (DTO_Department)tvDepartment.SelectedItem;

                //User not yet select group
                if (selectedDept == null)
                {
                    MessageBox.Show("Hãy lựa chọn đối tượng cần xóa.", "", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }
                else
                {
                    //Department still have some employee
                    if (selectedDept.Employees != null && selectedDept.Employees.Count > 0)
                    {
                        MessageBox.Show("Cần xóa nhân viên bên trong phòng ban/bộ phận trước.", "", MessageBoxButton.OK, MessageBoxImage.Warning);
                        return;
                    }

                    //Department still have some group
                    if (selectedDept.Groups != null && selectedDept.Groups.Count > 0)
                    {
                        MessageBox.Show("Cần xóa nhóm bên trong phòng ban/bộ phận trước.", "", MessageBoxButton.OK, MessageBoxImage.Warning);
                        return;
                    }

                    //Delete group
                    MessageBoxResult result = MessageBox.Show("Bạn có chắc chắn muốn xóa phòng ban/bộ phận không?", "", MessageBoxButton.YesNo, MessageBoxImage.Question);
                    if (result == MessageBoxResult.Yes)
                    {
                        if (workerDelDept.IsBusy)
                        {
                            workerDelDept.CancelAsync();
                        }
                        else
                        {
                            workerDelDept.RunWorkerAsync();
                        }
                    }
                    return;
                }
            }
            catch
            {
            }


            //PART 2: Delete employee in department
            selectedEmp = (DTO_CardHolder)tvDepartment.SelectedItem;

            MessageBoxResult result1 = MessageBox.Show("Bạn có chắc chắn muốn xóa nhân viên " + selectedEmp.Name + " không?", "", MessageBoxButton.YesNo, MessageBoxImage.Question);

            if (result1 == MessageBoxResult.Yes)
            {
                if (workerDelEmp.IsBusy)
                {
                    workerDelEmp.CancelAsync();
                }
                else
                {
                    workerDelEmp.RunWorkerAsync();
                }
            }
        }