Beispiel #1
0
 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;
 }
Beispiel #2
0
 /// <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());
         }
     }
 }
Beispiel #4
0
        /// <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());
                }
            }
        }
Beispiel #5
0
 /// <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());
             }
         }
     }
 }
Beispiel #6
0
        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;
            }
        }
Beispiel #7
0
        /// <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);
         }
     }
 }
Beispiel #10
0
 /// <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);
 }
Beispiel #11
0
        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);
                }
            }
        }
Beispiel #13
0
        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);
     }
 }
Beispiel #15
0
 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!");
                }
            }
        }
Beispiel #18
0
 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());
     }
 }
Beispiel #19
0
 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;
     }
 }
Beispiel #20
0
        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());
         }
     }
 }
Beispiel #22
0
        //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);
        }
Beispiel #23
0
 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();
                 }
             }
         }
     }
 }
Beispiel #25
0
 /// <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;
                }
            }
        }
Beispiel #27
0
        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();
        }
Beispiel #29
0
        /// <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;
                        }
                    }
                }
            }
        }
Beispiel #30
0
        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;
            }
        }