public int AddSkills(SkillSet skill)
        {
            int returnValue = 0;

            using (SkillTrackerDBFunctions contextObj = new SkillTrackerDBFunctions())
            {
                contextObj.SkillSet.Add(skill);
                returnValue = contextObj.SaveChanges();
            }
            return(returnValue);
        }
        public int DeleteSkills(int skillId)
        {
            int returnValue = 0;

            using (SkillTrackerDBFunctions contextObj = new SkillTrackerDBFunctions())
            {
                SkillSet skillToDelete = contextObj.SkillSet.SingleOrDefault(x => x.Skillid == skillId);
                contextObj.SkillSet.Remove(skillToDelete);
                returnValue = contextObj.SaveChanges();
            }
            return(returnValue);
        }
        public int UpdateSkills(SkillSet skill)
        {
            int returnValue = 0;

            using (SkillTrackerDBFunctions contextObj = new SkillTrackerDBFunctions())
            {
                SkillSet skillToUpdate = contextObj.SkillSet.SingleOrDefault(x => x.Skillid == skill.Skillid);
                skillToUpdate.Skillname = skill.Skillname;
                returnValue             = contextObj.SaveChanges();
            }
            return(returnValue);
        }
        public int UpdateAssociate(AssociateDetails associateDetails)
        {
            int returnValue = 0;

            Associate associate = associateDetails.Associate;
            List <AssociateSkills> associateskills = associateDetails.AssociateSkills;


            using (SkillTrackerDBFunctions contextObj = new SkillTrackerDBFunctions())
            {
                Associate empDetails = contextObj.Associate.SingleOrDefault(e => e.AssociateId == associate.AssociateId);
                empDetails.Name        = associate.Name;
                empDetails.Email       = associate.Email;
                empDetails.MobileNo    = associate.MobileNo;
                empDetails.Image       = associate.Image;
                empDetails.StatusGreen = associate.StatusGreen;
                empDetails.StatusBlue  = associate.StatusBlue;
                empDetails.StatusRed   = associate.StatusRed;
                empDetails.Level1      = associate.Level1;
                empDetails.Level2      = associate.Level2;
                empDetails.Level3      = associate.Level3;
                empDetails.Remarks     = associate.Remarks;
                empDetails.Strength    = associate.Strength;
                empDetails.Weakness    = associate.Weakness;
                if (associateskills != null)
                {
                    foreach (AssociateSkills associateskill in associateskills)
                    {
                        AssociateSkills empSkill = contextObj.AssociateSkills.SingleOrDefault(x => x.associateId == associateskill.associateId && x.skillid == associateskill.skillid);

                        if (empSkill != null)
                        {
                            empSkill.rating = associateskill.rating;
                        }
                        else
                        {
                            contextObj.AssociateSkills.Add(associateskill);
                        }
                    }
                }

                returnValue = contextObj.SaveChanges();
            }
            return(returnValue);
        }
        public int DeleteAssociateDetails(int associateId)
        {
            int returnValue = 0;

            using (SkillTrackerDBFunctions contextObj = new SkillTrackerDBFunctions())
            {
                Associate associate = contextObj.Associate.SingleOrDefault(s => s.AssociateId == associateId);
                contextObj.Associate.Remove(associate);
                List <AssociateSkills> associateSkill = contextObj.AssociateSkills.Where(s => s.associateId == associateId).ToList();
                if (associateSkill != null)
                {
                    contextObj.AssociateSkills.RemoveRange(associateSkill);
                }

                returnValue = contextObj.SaveChanges();
            }

            return(returnValue);
        }
        public int AddAssociate(AssociateDetails associateDetails)
        {
            int returnValue = 0;

            Associate associate = associateDetails.Associate;
            List <AssociateSkills> associateskills = associateDetails.AssociateSkills;

            using (SkillTrackerDBFunctions contextObj = new SkillTrackerDBFunctions())
            {
                contextObj.Associate.Add(associate);
                if (associateskills != null)
                {
                    foreach (AssociateSkills associateskill in associateskills)
                    {
                        contextObj.AssociateSkills.Add(associateskill);
                    }
                }
                returnValue = contextObj.SaveChanges();
            }
            return(returnValue);
        }