private void TrackOverallTrainingProgress_Load(object sender, EventArgs e) { using (var db = new Session4Entities()) { var q = db.Skills.ToList(); foreach (var item in q) { if (item.skillId == 5) { continue; } else { skill.Items.Add(item.skillName); } } } dataGridView2.DataSource = dt1(-1); dataGridView1.DataSource = dt2(); dataGridView3.DataSource = dt3(); chart1.Series.Clear(); chart1.Series.Add(new Series("Completed")); chart1.Series.Add(new Series("In Progress")); chart1.Series.Add(new Series("Not Started")); chart1.Legends[0].Docking = Docking.Bottom; }
/// <summary> /// Everytime value of progress is changed, runs the VadCheck in this method /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { using (var context = new Session4Entities()) { var ID = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[5].Value); var getPreviousValue = (from x in context.Assign_Training where x.trainingId == ID select x.progress).FirstOrDefault(); try { var valueChange = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value); //Checks if value is valid or value is more than currrent progress. Else, error out and set value back to current progress if (valueChange < getPreviousValue || valueChange > 100) { MessageBox.Show("Please enter a valid integer between 0-100 inclusive! Progress cannot be lower than previous value!", "Invalid input detected", MessageBoxButtons.OK, MessageBoxIcon.Error); dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = getPreviousValue; } } catch (Exception) { MessageBox.Show("Please enter a valid positive integer!", "Invalid input detected", MessageBoxButtons.OK, MessageBoxIcon.Error); dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = getPreviousValue; } } }
/// <summary> /// This method loads data in from DB into DGV if there is a record of Assigned Training that exist /// </summary> private void GridRefresh() { dataGridView1.ColumnCount = 5; dataGridView1.Columns[0].Name = "Skill"; dataGridView1.Columns[1].Name = "Training Category"; dataGridView1.Columns[2].Name = "Training Module"; dataGridView1.Columns[3].Name = "Module ID"; dataGridView1.Columns[4].Name = "Date"; dataGridView1.Columns[3].Visible = false; dataGridView1.Columns[4].Visible = false; using (var context = new Session4Entities()) { var getTraining = (from x in context.Assign_Training select x); foreach (var item in getTraining.Select(x => x.moduleIdFK).Distinct()) { var getDetails = (from x in context.Assign_Training where x.moduleIdFK == item select x).FirstOrDefault(); List <string> rows = new List <string>() { getDetails.Training_Module.Skill.skillName, getDetails.Training_Module.User_Type.userTypeName, getDetails.Training_Module.moduleName, item.ToString() }; dataGridView1.Rows.Add(rows.ToArray()); } } }
/// <summary> /// When clicking on Expert Name Combo box, load all expert based on selected skill /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void expertNameBox_Click(object sender, EventArgs e) { expertNameBox.Items.Clear(); //If skill is not selected, prompts user to select a skill first if (skillBox.SelectedItem == null) { MessageBox.Show("Please select a Skill!", "No skill detected!", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { using (var context = new Session4Entities()) { var getCompetitor = (from x in context.Users where x.Skill.skillName == skillBox.SelectedItem.ToString() && x.User_Type.userTypeName == "Expert" select x.name); List <string> names = new List <string>(); foreach (var item in getCompetitor) { names.Add(item); } expertNameBox.Items.AddRange(names.ToArray()); } } }
/// <summary> /// When typing into the textbox for Module Name filtering, constantly query DB /// and populate the DGV with data of modules that contain what is typed in the textbox /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void moduleNameBox_TextChanged(object sender, EventArgs e) { dataGridView1.Rows.Clear(); using (var context = new Session4Entities()) { var getUserID = (from x in context.Users where x.name.Equals(competitorBox.SelectedItem.ToString()) select x.userId).First(); if (nameBtn.Checked) { var getModulesUnderName = (from x in context.Assign_Training where x.userIdFK == getUserID && x.Training_Module.moduleName.Contains(moduleNameBox.Text) orderby x.Training_Module.moduleName select x); foreach (var item in getModulesUnderName) { var list = new List <string>() { item.Training_Module.moduleName, item.Training_Module.durationDays.ToString(), item.startDate.ToString("dd/MM/yyyy"), item.startDate.AddDays(item.Training_Module.durationDays).ToString("dd/MM/yyyy"), item.progress.ToString(), item.trainingId.ToString() }; dataGridView1.Rows.Add(list.ToArray()); } } else if (endDateBtn.Checked) { var getModulesUnderName = (from x in context.Assign_Training where x.userIdFK == getUserID && x.Training_Module.moduleName.Contains(moduleNameBox.Text) select x).ToList(); foreach (var item in getModulesUnderName.OrderByDescending(x => x.startDate.AddDays(x.Training_Module.durationDays))) { var list = new List <string>() { item.Training_Module.moduleName, item.Training_Module.durationDays.ToString(), item.startDate.ToString("dd/MM/yyyy"), item.startDate.AddDays(item.Training_Module.durationDays).ToString("dd/MM/yyyy"), item.progress.ToString(), item.trainingId.ToString() }; dataGridView1.Rows.Add(list.ToArray()); } } else { var getModulesUnderName = (from x in context.Assign_Training where x.userIdFK == getUserID && x.Training_Module.moduleName.Contains(moduleNameBox.Text) orderby x.Training_Module.moduleName descending select x); foreach (var item in getModulesUnderName) { var list = new List <string>() { item.Training_Module.moduleName, item.Training_Module.durationDays.ToString(), item.startDate.ToString("dd/MM/yyyy"), item.startDate.AddDays(item.Training_Module.durationDays).ToString("dd/MM/yyyy"), item.progress.ToString(), item.trainingId.ToString() }; dataGridView1.Rows.Add(list.ToArray()); } } } }
void chart() { using (var db = new Session4Entities()) { var idx = skill.SelectedIndex + 1; //foreach(DataGridViewRow dr in dataGridView3.Rows) //{ // chart1.Series.Add(new Series(dr.Cells[0].Value.ToString())); //} chart1.Series.Clear(); chart1.Series.Add(new Series("Completed")); chart1.Series.Add(new Series("In Progress")); chart1.Series.Add(new Series("Not Started")); var q = db.Assign_Training.Where(x => x.User.skillIdFK == idx && x.User.userTypeIdFK == 3).GroupBy(x => x.Training_Module.moduleName).ToList(); foreach (var item in q) { var q2 = item.Where(x => x.progress == 100).ToList(); chart1.Series["Completed"].Points.AddXY(item.Key, q2.Count()); var q3 = item.Where(x => x.progress < 100 && x.progress > 1).ToList(); chart1.Series["In Progress"].Points.AddXY(item.Key, q3.Count()); var q4 = item.Where(x => x.progress == 0).ToList(); chart1.Series["Not Started"].Points.AddXY(item.Key, q4.Count()); } chart1.Legends[0].Docking = Docking.Bottom; } }
/// <summary> /// Triggered when Login button is clicked /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void loginBtn_Click(object sender, EventArgs e) { using (var context = new Session4Entities()) { //Checks if User ID or Password field is empty if (userIDBox.Text.Trim() == "" || passwordBox.Text.Trim() == "") { MessageBox.Show("Please check your login details!", "Empty Field(s)", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { var getUser = (from x in context.Users where x.userId == userIDBox.Text select x).FirstOrDefault(); //Check if User exist in DB if (getUser == null) { MessageBox.Show("User does not exist!", "Invalid Login credentials", MessageBoxButtons.OK, MessageBoxIcon.Error); } //Check if password keyed in matches DB's password else if (getUser.passwd != passwordBox.Text) { MessageBox.Show("Password is wrong!", "Invalid Login credentials", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show($"Welcome {getUser.name}!", "Successful Login", MessageBoxButtons.OK, MessageBoxIcon.Information); //If user is Admin, direct to Admin Main Menu page - 4.2 if (getUser.User_Type.userTypeName == "Admin") { this.Hide(); (new AdminMain(getUser.userId)).ShowDialog(); this.Close(); } //If user is Expert, direct to Expert Main Menu page - 4.3 else if (getUser.User_Type.userTypeName == "Expert") { this.Hide(); (new ExpertMain(getUser.userId)).ShowDialog(); this.Close(); } //If user is Competitor, direct to Update Competitor's Record page - 4.6 else { this.Hide(); (new UpdateCompetitors()).ShowDialog(); this.Close(); } } } } }
private void button1_Click(object sender, EventArgs e) { using (var db = new Session4Entities()) { var ID = UID.Text; var pass = Pass.Text; var q = db.Users.Where(x => x.userId.Trim() == ID && x.passwd == pass).FirstOrDefault(); if (q != null) { if (q.userTypeIdFK == 1) { this.Hide(); AdminMainMenu adminMainMenu = new AdminMainMenu(q); adminMainMenu.Show(); } else if (q.userTypeIdFK == 2) { this.Hide(); ExpertMainMenu expertMainMenu = new ExpertMainMenu(q); expertMainMenu.Show(); } else { this.Hide(); UpdateCompetitorTrainingRecords updateCompetitorTrainingRecords = new UpdateCompetitorTrainingRecords(q); updateCompetitorTrainingRecords.Show(); } } else { MessageBox.Show("Invalid User!"); } } }
/// <summary> /// Triggered when Remove button is clicked /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void removeBtn_Click(object sender, EventArgs e) { //Check if there is even any rows selected if (dataGridView1.CurrentRow == null) { MessageBox.Show("Please select a record to delete!"); } else { ///Removes training from DB, then adds the mopdule back to Combo box using (var context = new Session4Entities()) { var moduleID = Convert.ToInt32(dataGridView1.CurrentRow.Cells[3].Value); var getTrainingsCheck = (from x in context.Assign_Training where x.moduleIdFK == moduleID select x).FirstOrDefault(); if (getTrainingsCheck != null) { var getTrainings = (from x in context.Assign_Training where x.moduleIdFK == moduleID select x).ToList(); foreach (var item in getTrainings) { context.Assign_Training.Remove(item); context.SaveChanges(); } } moduleBox.Items.Add(dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[2].Value); dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index); } } }
/// <summary> /// Reads the CSV from filepath from the textbox, then check if account exist. If it doesnm't, /// add to DB /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void uploadBtn_Click(object sender, EventArgs e) { string[] lines = File.ReadAllLines(textBox3.Text); for (int i = 1; i < lines.Count(); i++) { using (var context = new Session4Entities()) { var values = lines[i].Split(','); var id = values[0].Trim(); var checkIfExist = (from x in context.Users where x.userId == id select x).FirstOrDefault(); if (checkIfExist == null) { context.Users.Add(new User() { userId = values[0].Trim(), skillIdFK = Int32.Parse(values[1]), passwd = values[2].Trim(), name = values[3].Trim(), userTypeIdFK = Int32.Parse(values[4]) }); context.SaveChanges(); } } } MessageBox.Show("Users added!", "Successful account creation(s)", MessageBoxButtons.OK, MessageBoxIcon.Information); }
private void AssignTraining_Load(object sender, EventArgs e) { using (var db = new Session4Entities()) { var q = db.Skills.ToList(); foreach (var item in q) { if (item.skillId == 5) { continue; } else { skill.Items.Add(item.skillName); } } var q2 = db.User_Type.ToList(); foreach (var item in q2) { if (item.userTypeId == 1) { continue; } else { cat.Items.Add(item.userTypeName); } } } dateTimePicker1.Value = DateTime.Now; }
/// <summary> /// Triggered when Add button is clicked /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void addBtn_Click(object sender, EventArgs e) { using (var context = new Session4Entities()) { var checkDuration = (from x in context.Training_Module where x.moduleName == moduleBox.SelectedItem.ToString() select x.durationDays).First(); ///Check if duration from start date, whether it is after Competiton or will it overrun to or over Competiton date if (dateTimePicker1.Value > DateTime.Parse("26/7/2020") || dateTimePicker1.Value.AddDays(checkDuration) >= DateTime.Parse("26/7/2020")) { MessageBox.Show("Cannot add if start date is after competition or duration will run into competition date!", "Invalid start date", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { var getID = (from x in context.Training_Module where x.moduleName == moduleBox.SelectedItem.ToString() select x.moduleId).FirstOrDefault(); List <string> newRow = new List <string>() { skillBox.SelectedItem.ToString(), categoryBox.SelectedItem.ToString(), moduleBox.SelectedItem.ToString(), getID.ToString(), dateTimePicker1.Value.ToString() }; dataGridView1.Rows.Add(newRow.ToArray()); moduleBox.Items.Remove(moduleBox.SelectedItem); } } }
DataTable cdt() { DataTable dt = new DataTable(); dt.Columns.Add("Name of Competitor"); using (var db = new Session4Entities()) { var q = db.Training_Module.Where(x => x.skillIdFK == users.skillIdFK && x.userTypeIdFK == 3).ToList(); //Go through each training module and add the mod name foreach (var item in q) { var q4 = db.Assign_Training.Where(x => x.moduleIdFK == item.moduleId).FirstOrDefault(); if (q4 != null) { dt.Columns.Add(item.moduleName); } } var q2 = db.Users.Where(x => x.userTypeIdFK == 3 && x.skillIdFK == users.skillIdFK).ToList(); foreach (var item in q2) { DataRow dr = dt.NewRow(); dr["Name of Competitor"] = item.name; var q3 = db.Assign_Training.Where(x => x.userIdFK == item.userId).ToList(); foreach (var items in q3) { dr[items.Training_Module.moduleName] = items.progress; } dt.Rows.Add(dr); } } return(dt); }
private async void trainee_combo_SelectedIndexChanged(object sender, EventArgs e) { using (var db = new Session4Entities()) { training_box.DataSource = null; training_box.DataSource = await GetModule((from a in db.Skills where a.skillId == skill_combo.SelectedIndex + 1 select a.skillId).First(), trainee_combo.SelectedIndex + 2); } }
public async Task <List <string> > GetSkills() { using (var db = new Session4Entities()) { return((from s in db.Skills orderby s.skillId select s.skillName).ToList()); } }
private void InventoryReport_Load(object sender, EventArgs e) { using (var db = new Session4Entities()) { var _warehouseL = (from x in db.Warehouses select x.Name).ToList(); cbWarehouse.DataSource = _warehouseL; } }
/// <summary> /// When the Combo Box for Module is clicked, this code runs /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void moduleBox_Click(object sender, EventArgs e) { moduleBox.Items.Clear(); using (var context = new Session4Entities()) { //Checks if Skill and Category is selected if (skillBox.SelectedItem != null && categoryBox.SelectedItem != null) { var getTypeID = (from x in context.User_Type where x.userTypeName == categoryBox.SelectedItem.ToString() select x.userTypeId).First(); var getSkillID = (from x in context.Skills where x.skillName == skillBox.SelectedItem.ToString() select x.skillId).First(); HashSet <string> module = new HashSet <string>(); var getModule = (from x in context.Training_Module where x.skillIdFK == getSkillID && x.userTypeIdFK == getTypeID select x); ///Checks if DB have the modules assigned. If not, add to the Module Combo box foreach (var item in getModule) { var checkTraining = (from x in context.Assign_Training where x.moduleIdFK == item.moduleId select x).FirstOrDefault(); if (checkTraining == null) { module.Add(item.moduleName); } else { continue; } } moduleBox.Items.AddRange(module.ToArray()); ///Check if DGV contains the module that has assigned then deleting the relevant module from the relevant skill and category foreach (DataGridViewRow item in dataGridView1.Rows) { var moduleID = Convert.ToInt32(item.Cells[3].Value); var checkModules = (from x in context.Training_Module where x.moduleId == moduleID select x.moduleName).FirstOrDefault(); moduleBox.Items.Remove(checkModules); } } else { MessageBox.Show("Please select a skill and Trainee Catergory!"); } } }
public async Task <List <string> > GetCompetitors() { using (var db = new Session4Entities()) { var skillid = (from a in db.Skills where a.skillName == skill_combo.SelectedItem.ToString() select a.skillId).First(); return((from c in db.Users where c.skillIdFK == skillid where c.userTypeIdFK == 2 select c.name).ToList()); } }
private void compsname_SelectedIndexChanged(object sender, EventArgs e) { using (var db = new Session4Entities()) { var val = compsname.Text; var q = db.Assign_Training.Where(x => x.User.name.Trim() == val).ToList(); dataGridView1.DataSource = cdt(q); dataGridView1.Columns["ID"].Visible = false; dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; } }
private void button3_Click(object sender, EventArgs e) { using (var db = new Session4Entities()) { //First it goes through each item in the list foreach (var item in strings) { //Gets the skill name and user type var skill = item[0]; var userType = item[1]; //Goes through each user and finds the users with the skill and user type var user = db.Users.Where(x => x.Skill.skillName == skill && x.User_Type.userTypeName == userType).ToList(); //Goes through each user foreach (var items in user) { //Creates a new DBO Assign_Training assign_Training = new Assign_Training(); //Gets the Module Name var modName = item[2]; //Goes to the traning module table and finds the module with the right module name, skill and user type var trainingMod = db.Training_Module.Where(x => x.moduleName == modName && x.Skill.skillName == skill && x.User_Type.userTypeName == userType).FirstOrDefault(); //Checks if it exists if (trainingMod != null) { assign_Training.moduleIdFK = trainingMod.moduleId; assign_Training.userIdFK = items.userId; assign_Training.startDate = dateTimePicker1.Value; assign_Training.progress = 0; db.Assign_Training.Add(assign_Training); } } } try { db.SaveChanges(); MessageBox.Show("Success!"); this.Hide(); AdminMainMenu adminMainMenu = new AdminMainMenu(users); adminMainMenu.Show(); } catch (Exception es) { MessageBox.Show(es.ToString()); } } }
private void skill_SelectedIndexChanged(object sender, EventArgs e) { using (var db = new Session4Entities()) { var index = skill.SelectedIndex + 1; var q2 = db.Users.Where(x => x.skillIdFK == index && x.userTypeIdFK == 2).ToList(); compsname.Items.Clear(); foreach (var item in q2) { compsname.Items.Add(item.name.Trim()); } } }
//For the Compatitors Columns DataTable dt3() { DataTable dt = new DataTable(); dt.Columns.Add("Status (Competitor)"); using (var db = new Session4Entities()) { var selected = skill.SelectedIndex + 1; var q = db.Training_Module.Where(x => x.skillIdFK == selected && x.userTypeIdFK == 3).ToList(); //Go through each training module and add the mod name foreach (var item in q) { var q1 = db.Assign_Training.Where(x => x.moduleIdFK == item.moduleId).FirstOrDefault(); if (q1 != null) { dt.Columns.Add(item.moduleName); } } //Completed var q2 = db.Assign_Training.Where(x => x.progress == 100 && x.User.skillIdFK == selected && x.User.userTypeIdFK == 3).GroupBy(x => x.Training_Module.moduleName).ToList(); DataRow dr = dt.NewRow(); dr["Status (Competitor)"] = "Completed"; foreach (var item in q2) { dr[item.Key] = item.Count(); } dt.Rows.Add(dr); //Progress var q3 = db.Assign_Training.Where(x => x.progress < 100 && x.progress > 1 && x.User.skillIdFK == selected && x.User.userTypeIdFK == 3).GroupBy(x => x.Training_Module.moduleName).ToList(); DataRow dr2 = dt.NewRow(); dr2["Status (Competitor)"] = "In Progress"; foreach (var item in q3) { dr2[item.Key] = item.Count(); } dt.Rows.Add(dr2); var q4 = db.Assign_Training.Where(x => x.progress == 0 && x.User.skillIdFK == selected && x.User.userTypeIdFK == 3).GroupBy(x => x.Training_Module.moduleName).ToList(); DataRow dr3 = dt.NewRow(); dr3["Status (Competitor)"] = "Not Started"; foreach (var item in q4) { dr3[item.Key] = item.Count(); } dt.Rows.Add(dr3); } return(dt); }
private void update_button_Click(object sender, EventArgs e) { using (var db = new Session4Entities()) { foreach (var item in dgvlist) { var assign = (from a in db.Assign_Training where a.trainingId == item.ID select a).First(); assign.progress = item.Progress; } db.SaveChanges(); } }
private void assign_button_Click(object sender, EventArgs e) { using (var db = new Session4Entities()) { for (int i = 0; i < dgvlist.Count; i++) { var currentmodule = dgvlist[i].TrainingModule; var id = (from a in db.Training_Module where a.moduleName == currentmodule select a.moduleId).First(); var skill = dgvlist[i].Skill; var persontype = dgvlist[i].TraineeCategory; var currentskill = (from a in db.Skills where a.skillName == skill select a.skillId).First(); var usertype = (from u in db.User_Type where u.userTypeName == persontype select u.userTypeId).First(); var people = (from b in db.Users where b.skillIdFK == currentskill where b.userTypeIdFK == usertype select b.userId).ToList(); foreach (var item in people) { try { var ast = new Assign_Training() { moduleIdFK = id, progress = 0, startDate = DateTime.Now, trainingId = (from a in db.Assign_Training orderby a.trainingId descending select a.trainingId).First() + 1, userIdFK = item }; db.Assign_Training.Add(ast); db.SaveChanges(); } catch { var ast = new Assign_Training() { moduleIdFK = id, progress = 0, startDate = DateTime.Now, trainingId = 1, userIdFK = item }; db.Assign_Training.Add(ast); db.SaveChanges(); } } } } }
/// <summary> /// Onload, load Skill Combo box and the Progress Combo box /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UpdateCompetitors_Load(object sender, EventArgs e) { using (var context = new Session4Entities()) { var getSkill = (from x in context.Skills select x.skillName); HashSet <string> skill = new HashSet <string>(); foreach (var item in getSkill) { skill.Add(item); } skillBox.Items.AddRange(skill.ToArray()); } LoadProgress(); }
private void cbPartName_SelectedValueChanged(object sender, EventArgs e) { var _selectedPart = cbPartName.SelectedItem.ToString(); using (var db = new Session4Entities()) { var BNRequired = (from x in db.Parts where x.Name == _selectedPart select x.BatchNumberHasRequired).FirstOrDefault(); if (BNRequired == true) { tbBatchNumber.Enabled = true; } } }
private void CompetitorTrainingProgress_Load(object sender, EventArgs e) { #region Populate the skill of the Expert that logged in using (var context = new Session4Entities()) { var getSkillOfExpert = (from x in context.Users where x.userId == _userID select x.Skill.skillName).First(); skillLbl.Text += getSkillOfExpert; } #endregion //Loads the DGV based on relevant skill GridRefresh(); }
/// <summary> /// Triggered when the Add button is clicked. Checks if training is assigned already in DB, else assign training /// to all of the category's and skill's participants /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void assignBtn_Click(object sender, EventArgs e) { using (var context = new Session4Entities()) { foreach (DataGridViewRow rows in dataGridView1.Rows) { var skillName = rows.Cells[0].Value.ToString(); var getSkillID = (from x in context.Skills where x.skillName == skillName select x.skillId).First(); var categoryName = rows.Cells[1].Value.ToString(); var getCategoryID = (from x in context.User_Type where x.userTypeName == categoryName select x.userTypeId).First(); var getAllID = (from x in context.Users where x.User_Type.userTypeName == categoryName && x.Skill.skillName == skillName select x.userId).ToList(); var ID = Convert.ToInt32(rows.Cells[3].Value); var checkIfIDExist = (from x in context.Assign_Training where x.moduleIdFK == ID select x).FirstOrDefault(); if (checkIfIDExist == null) { foreach (var item in getAllID) { context.Assign_Training.Add(new Assign_Training() { startDate = Convert.ToDateTime(rows.Cells[4].Value), progress = 0, userIdFK = item, moduleIdFK = Convert.ToInt32(rows.Cells[3].Value) }); context.SaveChanges(); } } else { continue; } } } this.Hide(); (new AdminMain(_userID)).ShowDialog(); this.Close(); }
/// <summary> /// Gets all competitors of the Expert skill trait and show their training progress of assigned training /// </summary> private void GridRefresh() { dataGridView1.ColumnCount = 1; dataGridView1.Columns[0].Name = "Competitors Name"; using (var context = new Session4Entities()) { var getCompetitorsForSkill = (from x in context.Users where skillLbl.Text.Contains(x.Skill.skillName) && x.User_Type.userTypeName == "Competitor" select x); var getModulesColumn = (from x in context.Assign_Training where x.User.User_Type.userTypeName == "Competitor" && skillLbl.Text.Contains(x.User.Skill.skillName) select x.Training_Module.moduleName).Distinct(); foreach (var item in getModulesColumn) { dataGridView1.Columns.Add(item, item); } foreach (var competitor in getCompetitorsForSkill) { var rows = new List <string>(); var getModules = (from x in context.Assign_Training where x.userIdFK == competitor.userId select x); rows.Add(competitor.name); foreach (var item in getModules) { rows.Add(item.progress.ToString()); } dataGridView1.Rows.Add(rows.ToArray()); } //Checks if any of the cell value is 0, then color red backcolor foreach (DataGridViewRow item in dataGridView1.Rows) { foreach (DataGridViewColumn column in dataGridView1.Columns) { if (column.Index == 0) { continue; } if (Convert.ToInt32(dataGridView1.Rows[item.Index].Cells[column.Index].Value) == 0) { dataGridView1.Rows[item.Index].Cells[column.Index].Style.BackColor = Color.Red; } } } } }
private void button2_Click(object sender, EventArgs e) { using (var db = new Session4Entities()) { var diff = DateTime.Parse("26 July 2020") - dateTimePicker1.Value; var days = ""; try { days = mod.Text.Substring(mod.Text.IndexOf("(") + 1, 2); } catch { MessageBox.Show("Please Add Something!"); return; } int value = 0; value = int.Parse(days); if (diff.Days < value) { MessageBox.Show("Date too Close!"); return; } var lols = skill.SelectedIndex + 1; var lols2 = cat.Text; var modules = mod.Text.Substring(0, mod.Text.IndexOf("(") - 1).Trim(); List <String> lol = new List <string>(); var y = db.Skills.Where(x => x.skillId == lols).FirstOrDefault(); lol.Add(y.skillName); lol.Add(lols2); lol.Add(modules); if (strings.Count > 0) { foreach (var item in strings) { if (item[0] == y.skillName && item[1] == lols2 && item[2] == modules) { MessageBox.Show("You have already added that module to the list!"); return; } } } strings.Add(lol); dataGridView1.DataSource = cdt(strings); dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; } }