Esempio n. 1
0
        private void MyCardHolderWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            btSave.IsEnabled = true;

            if (result.Result)
            {
                if (this.mode == EType.WindowMode.ADD_MODE)
                {
                    if (getCardHolderWorker.IsBusy)
                    {
                        getCardHolderWorker.CancelAsync();
                    }
                    else
                    {
                        getCardHolderWorker.RunWorkerAsync();
                    }
                }
                else
                {
                    DTO_CardHolder oldHolder = Repository.lstAllCardHolders.FirstOrDefault(c => c.Id == holder.Id);
                    if (oldHolder != null)
                    {
                        oldHolder = holder;
                    }
                    if (workerReloadDept.IsBusy)
                    {
                        workerReloadDept.CancelAsync();
                    }
                    else
                    {
                        workerReloadDept.RunWorkerAsync();
                    }
                }
            }
            else
            {
                MessageBox.Show(result.Detail, "", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Esempio n. 2
0
        public DTO_CardHolder GetCardHolderByAccount(string account, string password)
        {
            DataTable dt = dal.GetCardHolderByAccount(account, password);

            if (dt == null)
            {
                return(null);
            }

            if (dt.Rows.Count <= 0)
            {
                return(new DTO_CardHolder());
            }

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

                DTO_CardHolder holder = new DTO_CardHolder();
                holder.Id           = row["Id"].ToString();
                holder.Name         = row["Name"].ToString();
                holder.Gender       = (Gender)Convert.ToInt16(row["Gender"].ToString());
                holder.DOB          = Convert.ToDateTime(row["DOB"].ToString());
                holder.Address      = row["Address"].ToString();
                holder.PhoneNumber  = row["PhoneNumber"].ToString();
                holder.Email        = row["Email"].ToString();
                holder.Description  = row["Description"].ToString();
                holder.Account      = row["UserName"].ToString();
                holder.Password     = row["Password"].ToString();
                holder.DepartmentId = row["Department"].ToString();
                holder.Department   = null;

                return(holder);
            }
            catch
            {
                return(new DTO_CardHolder());
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Get all card holder
        /// </summary>
        /// <returns>Return list card holder or null if error</returns>
        public List <DTO_CardHolder> GetAllCardHolder()
        {
            List <DTO_CardHolder> lstCardHolders = new List <DTO_CardHolder>();
            DataTable             dt             = dal.GetAllCardHolder();

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

            try
            {
                foreach (DataRow row in dt.Rows)
                {
                    DTO_CardHolder holder = new DTO_CardHolder();
                    holder.Id           = row["Id"].ToString();
                    holder.Name         = row["Name"].ToString();
                    holder.Gender       = (Gender)Convert.ToInt16(row["Gender"].ToString());
                    holder.DOB          = Convert.ToDateTime(row["DOB"].ToString());
                    holder.Address      = row["Address"].ToString();
                    holder.PhoneNumber  = row["PhoneNumber"].ToString();
                    holder.Email        = row["Email"].ToString();
                    holder.Description  = row["Description"].ToString();
                    holder.Account      = row["UserName"].ToString();
                    holder.Password     = row["Password"].ToString();
                    holder.DepartmentId = row["Department"].ToString();
                    holder.Department   = null;

                    lstCardHolders.Add(holder);
                }

                return(lstCardHolders);
            }
            catch
            {
                return(null);
            }
        }
Esempio n. 4
0
        private void DelCardHolderWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (result.Result)
            {
                DTO_CardHolder oldCardHolder = Repository.lstAllCardHolders.FirstOrDefault(c => c.Id == holder.Id);
                if (oldCardHolder != null)
                {
                    Repository.lstAllCardHolders.Remove(oldCardHolder);
                }

                if (workerReloadDept.IsBusy)
                {
                    workerReloadDept.CancelAsync();
                }
                else
                {
                    workerReloadDept.RunWorkerAsync();
                }
            }
            else
            {
                MessageBox.Show(result.Detail, "", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Esempio n. 5
0
 public wdCardHolderDetail(EType.WindowMode mode, DTO_CardHolder holder)
 {
     InitializeComponent();
     this.mode   = mode;
     this.holder = holder;
 }
Esempio n. 6
0
        /// <summary>
        /// Update card holder information in database
        /// </summary>
        /// <param name="cardHolder"></param>
        /// <returns></returns>
        public SQLResult UpdateCardHolder(DTO_CardHolder cardHolder)
        {
            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 = "spLCardHolderSave";
                command.Parameters.AddWithValue("WorkType", "U");
                command.Parameters.AddWithValue("Id", cardHolder.Id);
                command.Parameters.AddWithValue("Name", cardHolder.Name);
                command.Parameters.AddWithValue("Gender", (int)cardHolder.Gender);
                command.Parameters.AddWithValue("DOB", cardHolder.DOB);
                if (string.IsNullOrEmpty(cardHolder.Address))
                {
                    command.Parameters.AddWithValue("Address", DBNull.Value);
                }
                else
                {
                    command.Parameters.AddWithValue("Address", cardHolder.Address);
                }

                if (string.IsNullOrEmpty(cardHolder.PhoneNumber))
                {
                    command.Parameters.AddWithValue("PhoneNumber", DBNull.Value);
                }
                else
                {
                    command.Parameters.AddWithValue("PhoneNumber", cardHolder.PhoneNumber);
                }

                if (string.IsNullOrEmpty(cardHolder.PhoneNumber))
                {
                    command.Parameters.AddWithValue("Email", DBNull.Value);
                }
                else
                {
                    command.Parameters.AddWithValue("Email", cardHolder.Email);
                }

                if (string.IsNullOrEmpty(cardHolder.PhoneNumber))
                {
                    command.Parameters.AddWithValue("Description", DBNull.Value);
                }
                else
                {
                    command.Parameters.AddWithValue("Description", cardHolder.Description);
                }

                if (string.IsNullOrEmpty(cardHolder.Account))
                {
                    command.Parameters.AddWithValue("UserName", DBNull.Value);
                }
                else
                {
                    command.Parameters.AddWithValue("UserName", cardHolder.Account);
                }

                if (string.IsNullOrEmpty(cardHolder.Password))
                {
                    command.Parameters.AddWithValue("Password", DBNull.Value);
                }
                else
                {
                    command.Parameters.AddWithValue("Password", cardHolder.Password);
                }

                if (string.IsNullOrEmpty(cardHolder.Department.Id))
                {
                    command.Parameters.AddWithValue("Department", DBNull.Value);
                }
                else
                {
                    command.Parameters.AddWithValue("Department", cardHolder.Department.Id);
                }

                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();
            }
            catch (Exception ex)
            {
                result.Detail = ex.Message;
            }
            finally
            {
                _conn.Close();
            }

            return(result);
        }
Esempio n. 7
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            bUS_Right        = new BUS_Right();
            listRightDetails = new List <ListDetailItem>();

            listRightDetails.Clear();
            if (mode == DOOR_MODE)
            {
                foreach (DTO_Door door in Repository.lstAllDoor)
                {
                    ListDetailItem item = new ListDetailItem();
                    item.TextBinding = door.Name;
                    item.Key         = door.Id;

                    DTO_Door d = right.Doors.FirstOrDefault(o => o.Id == door.Id);
                    if (d == null)
                    {
                        item.IsChecked = false;
                    }
                    else
                    {
                        item.IsChecked = true;
                    }

                    listRightDetails.Add(item);
                }

                lbRightDetail.ItemsSource = listRightDetails;

                return;
            }

            if (mode == SCHEDULE_MODE)
            {
                foreach (DTO_Schedule schedule in Repository.lstAllSchedules)
                {
                    ListDetailItem item = new ListDetailItem();
                    item.TextBinding = schedule.Name;
                    item.Key         = schedule.Id;

                    DTO_Schedule d = right.Schedules.FirstOrDefault(o => o.Id == schedule.Id);
                    if (d == null)
                    {
                        item.IsChecked = false;
                    }
                    else
                    {
                        item.IsChecked = true;
                    }
                    listRightDetails.Add(item);
                }

                lbRightDetail.ItemsSource = listRightDetails;

                return;
            }

            if (mode == PERSON_MODE)
            {
                foreach (DTO_CardHolder hodler in Repository.lstAllCardHolders)
                {
                    ListDetailItem item = new ListDetailItem();
                    item.TextBinding = hodler.Name;
                    item.Key         = hodler.Id;

                    DTO_CardHolder d = right.CardHolders.FirstOrDefault(o => o.Id == hodler.Id);
                    if (d == null)
                    {
                        item.IsChecked = false;
                    }
                    else
                    {
                        item.IsChecked = true;
                    }
                    listRightDetails.Add(item);
                }

                lbRightDetail.ItemsSource = listRightDetails;

                return;
            }
        }
Esempio n. 8
0
        private void btSave_Click(object sender, RoutedEventArgs e)
        {
            if (mode == DOOR_MODE)
            {
                List <DTO_Door> oldDoors = right.Doors;
                foreach (DTO_Door door in oldDoors)
                {
                    bUS_Right.DeleteDoorInRight(rightId, door.Id);
                }
                right.Doors.Clear();
                List <DTO_Door> newDoors = new List <DTO_Door>();

                foreach (ListDetailItem item in listRightDetails)
                {
                    if (item.IsChecked)
                    {
                        DTO_Door door = Repository.lstAllDoor.FirstOrDefault(d => d.Id == item.Key);
                        newDoors.Add(door);
                        right.Doors.Add(door);
                    }
                }

                foreach (DTO_Door door in newDoors)
                {
                    bUS_Right.AddDoorToRight(rightId, door.Id);
                }

                Repository.lstAllRIght.FirstOrDefault(r => r.Id == rightId).Doors = right.Doors;
                this.DialogResult = true;
                this.Hide();
                return;
            }

            if (mode == SCHEDULE_MODE)
            {
                List <DTO_Schedule> oldSchedules = right.Schedules;
                foreach (DTO_Schedule schedule in oldSchedules)
                {
                    bUS_Right.DeleteScheduleInRight(rightId, schedule.Id);
                }
                right.Schedules.Clear();

                List <DTO_Schedule> newSchedules = new List <DTO_Schedule>();

                foreach (ListDetailItem item in listRightDetails)
                {
                    if (item.IsChecked)
                    {
                        DTO_Schedule schedule = Repository.lstAllSchedules.FirstOrDefault(d => d.Id == item.Key);
                        newSchedules.Add(schedule);
                    }
                }

                right.Schedules = newSchedules;

                foreach (DTO_Schedule schedule in newSchedules)
                {
                    bUS_Right.AddScheduleToRight(rightId, schedule.Id);
                }
                Repository.lstAllRIght.FirstOrDefault(r => r.Id == rightId).Schedules = right.Schedules;
                this.DialogResult = true;
                this.Hide();
                return;
            }

            if (mode == PERSON_MODE)
            {
                List <DTO_CardHolder> oldPersons = right.CardHolders;
                foreach (DTO_CardHolder person in oldPersons)
                {
                    bUS_Right.DeletePersonInRight(rightId, person.Id);
                }
                right.CardHolders.Clear();
                List <DTO_CardHolder> newPersons = new List <DTO_CardHolder>();

                foreach (ListDetailItem item in listRightDetails)
                {
                    if (item.IsChecked)
                    {
                        DTO_CardHolder person = Repository.lstAllCardHolders.FirstOrDefault(d => d.Id == item.Key);
                        newPersons.Add(person);
                        right.CardHolders.Add(person);
                    }
                }

                foreach (DTO_CardHolder person in newPersons)
                {
                    bUS_Right.AddPersonToRight(rightId, person.Id);
                }
                Repository.lstAllRIght.FirstOrDefault(r => r.Id == rightId).CardHolders = right.CardHolders;
                this.DialogResult = true;
                this.Hide();

                return;
            }
        }
Esempio n. 9
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();
                }
            }
        }