//adatok módosítása private void BTN_Save_Click(object sender, RoutedEventArgs e) { Regex regexnum = new Regex(@"[^0-9]"); Regex regexchar = new Regex(@"[^a-zA-Zá-űÁ-ŰŐ\s*]"); //Ha minden mező üres akkor törölje a személyt if (TB_EmployeeName.Text == "" && TB_EmployeeNumber.Text == "" && (int?)CB_TeamSelect.SelectedValue == null) { LockerModel.ClearFields(int.Parse(LB_LockerNumber.Content.ToString()), (int)CB_StateSelect.SelectedValue); Refresh(); return; } //Új személy felvételénél minden adat szükséges else if (TB_EmployeeName.Text == "" || TB_EmployeeNumber.Text == "" || (int?)CB_TeamSelect.SelectedValue == null) { MessageBox.Show("Új személy felvételéhez minden adatot meg kell adnia!", "Hiba!", MessageBoxButton.OK, MessageBoxImage.Error); return; } //Névben nincsenek számok else if (regexchar.IsMatch(TB_EmployeeName.Text)) { MessageBox.Show("A dolgozó neve nem tartalmazhat számokat vagy különleges karaktert!", "Hiba!", MessageBoxButton.OK, MessageBoxImage.Error); return; } //Törzsszámban nincsenek betűk else if (regexnum.IsMatch(TB_EmployeeNumber.Text)) { MessageBox.Show("A törzsszám nem tartalmazhat betűket vagy különleges karaktert!", "Hiba!", MessageBoxButton.OK, MessageBoxImage.Error); return; } //Törzsszám min 5 számjegy else if (TB_EmployeeNumber.Text.Count() != 5) { MessageBox.Show("A dolgozó törzsszámának 5 számjegyből kell állnia!", "Hiba!", MessageBoxButton.OK, MessageBoxImage.Error); return; } else { this.Updatelocker = new LockerModel() { Id = int.Parse(LB_LockerNumber.Content.ToString()), EmpName = TB_EmployeeName.Text, Number = TB_EmployeeNumber.Text, TeamID = (int?)CB_TeamSelect.SelectedValue, StateId = (int)CB_StateSelect.SelectedValue }; LockerModel.Update(this.Updatelocker); Refresh(); } }
private void Refresh() { locker = LockerModel.Select(searcsNumber, searcsEmpname, searcsTeamname, "", searcsState); DG_LockerList.ItemsSource = locker; lockerA = LockerModel.Select(searcsNumber, searcsEmpname, searcsTeamname, "A", searcsState); DG_LockerListA.ItemsSource = lockerA; lockerB = LockerModel.Select(searcsNumber, searcsEmpname, searcsTeamname, "B", searcsState); DG_LockerListB.ItemsSource = lockerB; lockerC = LockerModel.Select(searcsNumber, searcsEmpname, searcsTeamname, "C", searcsState); DG_LockerListC.ItemsSource = lockerC; }
//Adatok törlése private void BTN_Delete_Click(object sender, RoutedEventArgs e) { var resoult = MessageBox.Show("Biztos törölni kívánja ezt a személyt?", "Törlés", MessageBoxButton.YesNo, MessageBoxImage.Question); if (resoult == MessageBoxResult.Yes) { LockerModel.Remove(int.Parse(LB_LockerNumber.Content.ToString())); Refresh(); } else { return; } }
private static void RefreshLocker(LockerModel model, MySqlConnection con, string sql4, int employeeId) { using (var cmd = new MySqlCommand(sql4, con)) { cmd.Parameters.AddWithValue("@locker_id", model.Id); if (employeeId != 0) { cmd.Parameters.AddWithValue("@employee_id", employeeId); } else { cmd.Parameters.AddWithValue("@employee_id", null); } cmd.Parameters.AddWithValue("@state_id", model.StateId); cmd.ExecuteNonQuery(); } }
public MainWindow() { InitializeComponent(); //minden szekrény listázása locker = LockerModel.Select(null, "", null, "", ""); lockerA = LockerModel.Select(null, "", null, "A", ""); lockerB = LockerModel.Select(null, "", null, "B", ""); lockerC = LockerModel.Select(null, "", null, "C", ""); DG_LockerList.ItemsSource = locker; DG_LockerListA.ItemsSource = lockerA; DG_LockerListB.ItemsSource = lockerB; DG_LockerListC.ItemsSource = lockerC; teams = TeamModel.Select(); teams.Insert(0, new TeamModel(null, ""));//legördülő listában első opció üres CB_TeamSearch.ItemsSource = teams; CB_TeamSelect.ItemsSource = teams; states = StateModel.Select(); CB_StateSelect.ItemsSource = states; }
public static void Update(LockerModel model) { using (var con = new MySqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString)) { con.Open(); //megszámolja hogy hány olyan személy van akinek a neve és a száma megegyezik a beírtakkal var sameNumberAndEmpname = "SELECT id FROM employees WHERE number=@number AND empname=@empname"; //beszúrja az adatokat az alkalmazottak táblába var insertNewEmployee = "INSERT INTO employees (number, empname, team_id)" + " VALUES(@number, @empname, @team_id)"; //megkeresi azon dolgozók azonosítóját akik már rendelkeznek ezzel a törzsszámmal var numberAlreadyExist = " SELECT id FROM employees WHERE number = @number"; //frissíti az öltőszekrények táblában a dolgozók azonosítóját var updateLockers = " UPDATE lockers " + " SET employee_id = @employee_id," + " state_id = @state_id" + " WHERE id = @locker_id;"; //frissíti az dolgozók táblában a csapatok azonosítóját var updateTeams = "UPDATE employees SET team_id = @team_id WHERE id = @employee_id"; //megkeresi azon szekrények azonosítóját amihez tartozik olyan dolgozó akik már rendelkeznek ezzel a törzsszámmal és névveel var lockersWithsameNumberAndEmpname = " SELECT lockers.id FROM lockers " + " INNER JOIN employees " + " ON lockers.employee_id = employees.id " + " WHERE number=@number AND empname=@empname"; //var sql7 = "UPDATE lockers SET state_id = 3 WHERE id = @locker_id "; var setStateToWaiting = "UPDATE lockers SET state_id = 3 WHERE employee_id = @employee_id "; int duplicateId; using (var cmd = new MySqlCommand(lockersWithsameNumberAndEmpname, con)) { cmd.Parameters.AddWithValue("@number", model.Number); cmd.Parameters.AddWithValue("@empname", model.EmpName); duplicateId = Convert.ToInt32(cmd.ExecuteScalar()); } int duplicateNumber; using (var cmd = new MySqlCommand(numberAlreadyExist, con)) { cmd.Parameters.AddWithValue("@number", model.Number); duplicateNumber = Convert.ToInt32(cmd.ExecuteScalar()); } bool employeeExists = false; int empId = 0; using (var cmd = new MySqlCommand(sameNumberAndEmpname, con)) { cmd.Parameters.AddWithValue("@number", model.Number); cmd.Parameters.AddWithValue("@empname", model.EmpName); object sqlresult = cmd.ExecuteScalar(); if (sqlresult != null) { empId = int.Parse(cmd.ExecuteScalar().ToString()); employeeExists = empId != 0 ? true : false; } } if (!employeeExists && duplicateNumber == 0) { if (!string.IsNullOrWhiteSpace(model.EmpName) && !string.IsNullOrWhiteSpace(model.Number)) { using (var cmd = new MySqlCommand(insertNewEmployee, con)) { cmd.Parameters.AddWithValue("@team_id", model.TeamID); cmd.Parameters.AddWithValue("@number", model.Number); cmd.Parameters.AddWithValue("@empname", model.EmpName); cmd.ExecuteNonQuery(); } int employeeId; using (var cmd = new MySqlCommand(numberAlreadyExist, con)) { cmd.Parameters.AddWithValue("@number", model.Number); employeeId = Convert.ToInt32(cmd.ExecuteScalar()); } RefreshLocker(model, con, updateLockers, employeeId); } } else if (!employeeExists && duplicateNumber != 0) { MessageBox.Show("A törzsszám egy másik személyhez tartozik!", "Hiba!", MessageBoxButton.OK, MessageBoxImage.Error); return; } else { var result = MessageBox.Show("A megadott személy már rendelkezik szekrénnyel! Költöztetni akar?", "Költöztetés", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { int employeeId; using (var cmd = new MySqlCommand(numberAlreadyExist, con)) { cmd.Parameters.AddWithValue("@number", model.Number); employeeId = Convert.ToInt32(cmd.ExecuteScalar()); } using (var cmd = new MySqlCommand(setStateToWaiting, con)) { cmd.Parameters.AddWithValue("@employee_id", empId); cmd.ExecuteNonQuery(); } if (employeeExists) { using (var cmd = new MySqlCommand(updateTeams, con)) { cmd.Parameters.AddWithValue("@team_id", model.TeamID); cmd.Parameters.AddWithValue("@employee_id", employeeId); cmd.ExecuteNonQuery(); } } RefreshLocker(model, con, updateLockers, employeeId); } else { int employeeId; using (var cmd = new MySqlCommand(numberAlreadyExist, con)) { cmd.Parameters.AddWithValue("@number", model.Number); employeeId = Convert.ToInt32(cmd.ExecuteScalar()); } RefreshLocker(model, con, updateLockers, employeeId); using (var cmd = new MySqlCommand(updateTeams, con)) { cmd.Parameters.AddWithValue("@team_id", model.TeamID); cmd.Parameters.AddWithValue("@employee_id", employeeId); cmd.ExecuteNonQuery(); } return; } } } }