private void btnLogin_Click(object sender, EventArgs e)
        {
            var userId   = tbUserID.Text;
            var password = tbPassword.Text;

            //authentication
            using (var db = new Session1_WSOHEntities())
            {
                var authentication = db.Users.Where(a => a.userId == userId).FirstOrDefault();
                if (authentication != null)
                {
                    if (authentication.userPw == password)
                    {
                        var resManagement = new ResourceManagement();
                        this.Hide();
                        resManagement.ShowDialog();
                        this.Show();
                    }
                    else
                    {
                        MessageBox.Show("Incorrect Password");
                    }
                }
                else
                {
                    MessageBox.Show("User does not exist");
                }
            }
        }
Example #2
0
 private void btnUpdate_Click(object sender, EventArgs e)
 {
     using (var db = new Session1_WSOHEntities())
     {
         var currentResource = db.Resources.Where(a => a.resId == resId).FirstOrDefault();
         var qty             = Convert.ToInt32(nudAvailableQty.Value);
         currentResource.remainingQuantity = qty;
         foreach (var skill in currentResource.Resource_Allocation.ToList())
         {
             db.Resource_Allocation.Remove(skill);
         }
         foreach (var updatedSkill in clbAllocatedSkills.CheckedItems)
         {
             var skillId = db.Skills.Where(a => a.skillName == updatedSkill.ToString()).Select(a => a.skillId).FirstOrDefault();
             var newAllocatedResources = new Resource_Allocation()
             {
                 resIdFK   = resId,
                 skillIdFK = skillId
             };
             db.Resource_Allocation.Add(newAllocatedResources);
         }
         try
         {
             db.SaveChanges();
             MessageBox.Show("Changes have been successfully made to the resource");
             this.Close();
         }
         catch (Exception)
         {
             MessageBox.Show("Oops, something went wrong while saving your resource changes");
             throw;
         }
     }
 }
Example #3
0
 private void EditResource_Load(object sender, EventArgs e)
 {
     loadAllocatedSkills();
     using (var db = new Session1_WSOHEntities())
     {
         var resource = db.Resources.Where(a => a.resId == resId).FirstOrDefault();
         lblResourceName.Text  = resource.resName.ToString();
         lblResourceType.Text  = resource.Resource_Type.resTypeName.ToString();
         nudAvailableQty.Value = Convert.ToDecimal(resource.remainingQuantity);
         if (Convert.ToInt32(nudAvailableQty.Value) == 0)
         {
             clbAllocatedSkills.Visible = false;
         }
         else
         {
             foreach (var skills in resource.Resource_Allocation.ToList())
             {
                 var skillName = skills.Skill.skillName;
                 for (var i = 0; i < clbAllocatedSkills.Items.Count; i++)
                 {
                     var cbSkillName = clbAllocatedSkills.Items[i].ToString();
                     if (cbSkillName == skillName)
                     {
                         clbAllocatedSkills.SetItemChecked(i, true);
                     }
                 }
             }
         }
     }
 }
        private void btnAddresource_Click(object sender, EventArgs e)
        {
            var resourceName = tbResname.Text;
            var resourceType = ((Resource_Type)cbResType.SelectedItem).resTypeId;
            var availableQty = Convert.ToInt32(nudAvailableQty.Value);

            if (resourceName.Length == 0)
            {
                MessageBox.Show("Please enter a valid Resource name");
            }
            else
            {
                using (var db = new Session1_WSOHEntities())
                {
                    //check if the resource exists first
                    var checkResource = db.Resources.Where(a => a.resName == resourceName).FirstOrDefault();
                    if (checkResource != null)
                    {
                        MessageBox.Show("Sorry, this item exists in the records already");
                    }
                    else
                    {
                        var newResource = new Resource()
                        {
                            resName           = resourceName,
                            resTypeIdFK       = resourceType,
                            remainingQuantity = availableQty
                        };
                        db.Resources.Add(newResource);
                        foreach (var selectedSkill in clbAllocatedSkills.CheckedItems)
                        {
                            var skillName  = (string)selectedSkill;
                            var skillid    = db.Skills.Where(a => a.skillName == skillName).Select(a => a.skillId).FirstOrDefault();
                            var newResAloc = new Resource_Allocation()
                            {
                                resIdFK   = newResource.resId,
                                skillIdFK = skillid
                            };
                            db.Resource_Allocation.Add(newResAloc);
                        }
                        try
                        {
                            db.SaveChanges();
                            MessageBox.Show("New Resource successfully created and saved to database");
                            tbResname.Clear();
                            nudAvailableQty.Value = 0;
                            this.AddResource_Load(sender, e);
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Oops, an error occured");
                            throw;
                        }
                    }
                }
            }
        }
Example #5
0
 private void RMAccountCreation_Load(object sender, EventArgs e)
 {
     //getting user types
     using (var db = new Session1_WSOHEntities())
     {
         var listUserTypes = db.User_Type.ToList();
         cbUserType.DataSource    = new BindingSource(listUserTypes, null);
         cbUserType.ValueMember   = "userTypeId";
         cbUserType.DisplayMember = "userTypeName";
     }
 }
Example #6
0
 private void loadAllocatedSkills()
 {
     //Function to load allocated skills into list checkbox
     using (var db = new Session1_WSOHEntities())
     {
         var listSkills = db.Skills.Select(a => a.skillName).ToList();
         clbAllocatedSkills.Items.Clear();
         foreach (var item in listSkills)
         {
             clbAllocatedSkills.Items.Add(item);
         }
     }
 }
 private void AddResource_Load(object sender, EventArgs e)
 {
     using (var db = new Session1_WSOHEntities())
     {
         var resTypes = db.Resource_Type.ToList();
         cbResType.DataSource    = new BindingSource(resTypes, null);
         cbResType.DisplayMember = "resTypeName";
         cbResType.ValueMember   = "resTypeId";
     }
     if (Convert.ToInt32(nudAvailableQty.Value) == 0)
     {
         clbAllocatedSkills.Visible = false;
     }
     loadAllocatedSkills();
 }
Example #8
0
        private void btnCreateAcct_Click(object sender, EventArgs e)
        {
            var selectedUserType = ((User_Type)cbUserType.SelectedItem).userTypeId;

            if (tbUsername.Text.Length != 0 || tbUserID.Text.Length != 0 || tbPassword.Text.Length != 0 || tbRtpassword.Text.Length != 0)
            {
                if (tbUserID.Text.Length < 8)
                {
                    MessageBox.Show("User Id must be more than 8 characters in length");
                }
                else
                {
                    if (tbPassword.Text != tbRtpassword.Text)
                    {
                        MessageBox.Show("Mismatch Passwords");
                    }
                    else
                    {
                        using (var db = new Session1_WSOHEntities())
                        {
                            var checkUserId = db.Users.Where(a => a.userId == tbUserID.Text).FirstOrDefault();
                            if (checkUserId == null)
                            {
                                var newUser = new User()
                                {
                                    userId       = tbUserID.Text,
                                    userName     = tbUsername.Text,
                                    userPw       = tbPassword.Text,
                                    userTypeIdFK = selectedUserType
                                };

                                db.Users.Add(newUser);
                                db.SaveChanges();
                                this.Close();
                            }
                            else
                            {
                                MessageBox.Show("Sorry, UserID has been taken");
                            }
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Missing Fields");
            }
        }
 private void loadPickers()
 {
     using (var db = new Session1_WSOHEntities())
     {
         var listResType = db.Resource_Type.ToList();
         var listSkills  = db.Skills.ToList();
         resType.Add("Type");
         skilllist.Add("Skill");
         foreach (var item in listResType)
         {
             resType.Add(item.resTypeName);
         }
         foreach (var item in listSkills)
         {
             skilllist.Add(item.skillName);
         }
         cbType.DataSource  = new BindingSource(resType, null);
         cbSkill.DataSource = new BindingSource(skilllist, null);
     }
 }
        private void btnDelete_Click(object sender, EventArgs e)
        {
            var selectedResource = Convert.ToInt32(dgvResources.CurrentRow.Cells[5].Value);

            using (var db = new Session1_WSOHEntities())
            {
                var resourceTBD = db.Resources.Where(a => a.resId == selectedResource).FirstOrDefault();
                foreach (var r in resourceTBD.Resource_Allocation.ToList())
                {
                    db.Resource_Allocation.Remove(r);
                }
                db.Resources.Remove(resourceTBD);
                try
                {
                    db.SaveChanges();
                    MessageBox.Show("Resource Successfully deleted");
                    this.ResourceManagement_Load(sender, e);
                }
                catch (Exception)
                {
                    MessageBox.Show("Whoops! An error occured while deleting this resource");
                }
            }
        }
        private void cbType_SelectedIndexChanged(object sender, EventArgs e)
        {
            string availability  = "";
            var    selectedType  = (string)cbType.SelectedValue;
            var    selectedSkill = (string)cbSkill.SelectedValue;

            if (selectedType == "Type")
            {
                if (selectedSkill == "Skill")
                {
                    using (var db = new Session1_WSOHEntities())
                    {
                        //get all resources
                        var listResources = db.Resources.OrderByDescending(a => a.remainingQuantity).ToList();
                        dgvResources.Rows.Clear();
                        foreach (var res in listResources)
                        {
                            var allocatedSkills = string.Join(",", res.Resource_Allocation.Select(a => a.Skill.skillName).ToList());
                            if (res.remainingQuantity > 5)
                            {
                                availability = "Sufficient";
                            }
                            else if (res.remainingQuantity >= 1 && res.remainingQuantity < 5)
                            {
                                availability = "Low Stock";
                            }
                            else
                            {
                                availability = "Not Available";
                            }
                            object[] row = new object[]
                            {
                                res.resName,
                                res.Resource_Type.resTypeName,
                                res.Resource_Allocation.Count(),
                                allocatedSkills,
                                availability,
                                res.resId
                            };
                            dgvResources.Rows.Add(row);
                        }
                    }
                }
                else
                {
                    using (var db = new Session1_WSOHEntities())
                    {
                        //get resources according to the selected skill
                        var listResources = db.Resource_Allocation.OrderByDescending(a => a.Resource.remainingQuantity).Where(a => a.Skill.skillName == selectedSkill).ToList();
                        dgvResources.Rows.Clear();
                        foreach (var res in listResources)
                        {
                            var allocatedSkills = string.Join(",", res.Skill.skillName.ToList());
                            if (res.Resource.remainingQuantity > 5)
                            {
                                availability = "Sufficient";
                            }
                            else if (res.Resource.remainingQuantity >= 1 && res.Resource.remainingQuantity < 5)
                            {
                                availability = "Low Stock";
                            }
                            else
                            {
                                availability = "Not Available";
                            }
                            object[] row = new object[]
                            {
                                res.Resource.resName,
                                res.Resource.Resource_Type.resTypeName,
                                res.Resource.Resource_Allocation.Count(),
                                allocatedSkills,
                                availability,
                                res.resIdFK
                            };
                            dgvResources.Rows.Add(row);
                        }
                    }
                }
            }
            else
            {
                if (selectedSkill == "Skill")
                {
                    using (var db = new Session1_WSOHEntities())
                    {
                        var listResources = db.Resources.Where(a => a.Resource_Type.resTypeName == selectedType).OrderByDescending(a => a.remainingQuantity).ToList();
                        dgvResources.Rows.Clear();
                        foreach (var res in listResources)
                        {
                            var allocatedSkills = string.Join(",", res.Resource_Allocation.Select(s => s.Skill.skillName).ToList());
                            if (res.remainingQuantity > 5)
                            {
                                availability = "Sufficient";
                            }
                            else if (res.remainingQuantity >= 1 && res.remainingQuantity < 5)
                            {
                                availability = "Low Stock";
                            }
                            else
                            {
                                availability = "Not Available";
                            }
                            object[] row = new object[]
                            {
                                res.resName,
                                res.Resource_Type.resTypeName,
                                res.Resource_Allocation.Count(),
                                allocatedSkills,
                                availability,
                                res.resId
                            };
                            dgvResources.Rows.Add(row);
                        }
                    }
                }
                else
                {
                    using (var db = new Session1_WSOHEntities())
                    {
                        var listResources = db.Resource_Allocation.Where(a => a.Skill.skillName == selectedSkill && a.Resource.Resource_Type.resTypeName == selectedType).ToList();
                        dgvResources.Rows.Clear();
                        foreach (var res in listResources)
                        {
                            var allocatedSkills = string.Join(",", res.Resource.Resource_Allocation.Select(a => a.Skill.skillName).ToList());
                            if (res.Resource.remainingQuantity > 5)
                            {
                                availability = "Sufficient";
                            }
                            else if (res.Resource.remainingQuantity >= 1 && res.Resource.remainingQuantity < 5)
                            {
                                availability = "Low Stock";
                            }
                            else
                            {
                                availability = "Not Available";
                            }
                            object[] row = new object[]
                            {
                                res.Resource.resName,
                                res.Resource.Resource_Type.resTypeName,
                                res.Resource.Resource_Allocation.Count(),
                                allocatedSkills,
                                availability,
                                res.resIdFK
                            };
                            dgvResources.Rows.Add(row);
                        }
                    }
                }
            }
        }