public bool DeleteCertificationDetails(int certId, int employeeId)
        {
            bool isDeleted = false;
            tbl_PM_EmployeeCertificationMatrix cert = dbContext.tbl_PM_EmployeeCertificationMatrix.Where(cd => cd.EmployeeCertificationID == certId && cd.EmployeeID == employeeId).FirstOrDefault();

            if (cert != null && cert.EmployeeCertificationID > 0)
            {
                dbContext.DeleteObject(cert);
                dbContext.SaveChanges();
                isDeleted = true;
            }
            return(isDeleted);
        }
        public bool SaveCertificationDetails(CertificationDetails model, bool IsLoggedInEmployee, int?SelectedCertificationID, int?EmployeeId)
        {
            bool isAdded = false;

            tbl_PM_EmployeeCertificationMatrix emp = dbContext.tbl_PM_EmployeeCertificationMatrix.Where(ed => ed.EmployeeCertificationID == model.EmployeeCertificationID).FirstOrDefault();

            if (emp == null || emp.EmployeeCertificationID <= 0)
            {
                tbl_PM_EmployeeCertificationMatrix certificationDetails = new tbl_PM_EmployeeCertificationMatrix();

                certificationDetails.EmployeeCertificationID = model.EmployeeCertificationID;
                certificationDetails.EmployeeID      = EmployeeId;
                certificationDetails.CertificationID = SelectedCertificationID;
                if (model.CertificationNo != null && model.CertificationNo != "")
                {
                    certificationDetails.CertificationNo = model.CertificationNo.Trim();
                }
                else
                {
                    certificationDetails.CertificationNo = model.CertificationNo;
                }
                certificationDetails.CertificationDate = model.CertificationDate;
                if (model.Institution != null && model.Institution != "")
                {
                    certificationDetails.InstituteName = model.Institution.Trim();
                }
                else
                {
                    certificationDetails.InstituteName = model.Institution;
                }
                if (model.CertificationScore != null && model.CertificationScore != "")
                {
                    certificationDetails.TotalScore = model.CertificationScore.Trim();
                }
                else
                {
                    certificationDetails.TotalScore = model.CertificationScore;
                }
                if (model.CertificationGrade != null && model.CertificationGrade != "")
                {
                    certificationDetails.Grade = model.CertificationGrade.Trim();
                }
                else
                {
                    certificationDetails.Grade = model.CertificationGrade;
                }

                dbContext.tbl_PM_EmployeeCertificationMatrix.AddObject(certificationDetails);
                dbContext.SaveChanges();

                if (IsLoggedInEmployee == true)
                {
                    tbl_PM_EmployeeCertificationMatrixHistory certificationHistory = new tbl_PM_EmployeeCertificationMatrixHistory();
                    certificationHistory.EmployeeCertificationID = certificationDetails.EmployeeCertificationID;
                    certificationHistory.EmployeeID      = EmployeeId;
                    certificationHistory.CertificationID = SelectedCertificationID;
                    if (model.CertificationNo != null && model.CertificationNo != "")
                    {
                        certificationHistory.CertificationNo = model.CertificationNo.Trim();
                    }
                    else
                    {
                        certificationHistory.CertificationNo = model.CertificationNo;
                    }
                    certificationHistory.CertificationDate = model.CertificationDate;
                    if (model.Institution != null && model.Institution != "")
                    {
                        certificationHistory.InstituteName = model.Institution.Trim();
                    }
                    else
                    {
                        certificationHistory.InstituteName = model.Institution;
                    }
                    if (model.CertificationScore != null && model.CertificationScore != "")
                    {
                        certificationHistory.TotalScore = model.CertificationScore.Trim();
                    }
                    else
                    {
                        certificationHistory.TotalScore = model.CertificationScore;
                    }
                    if (model.CertificationGrade != null && model.CertificationGrade != "")
                    {
                        certificationHistory.Grade = model.CertificationGrade.Trim();
                    }
                    else
                    {
                        certificationHistory.Grade = model.CertificationGrade;
                    }
                    certificationHistory.ActionType  = "Add";
                    certificationHistory.CreatedBy   = EmployeeId.ToString();
                    certificationHistory.CreatedDate = DateTime.Now;
                    certificationHistory.SendMail    = true;

                    dbContext.tbl_PM_EmployeeCertificationMatrixHistory.AddObject(certificationHistory);
                    dbContext.SaveChanges();
                }
            }
            else
            {
                if (emp.EmployeeID != EmployeeId ||
                    emp.CertificationID != SelectedCertificationID ||
                    emp.CertificationNo != model.CertificationNo ||
                    emp.CertificationDate != model.CertificationDate ||
                    emp.Grade != model.CertificationGrade ||
                    emp.InstituteName != model.Institution ||
                    emp.TotalScore != model.CertificationScore)
                {
                    if (IsLoggedInEmployee == true)
                    {
                        tbl_PM_EmployeeCertificationMatrixHistory Certifications = new tbl_PM_EmployeeCertificationMatrixHistory();
                        Certifications.EmployeeCertificationID = model.EmployeeCertificationID;
                        Certifications.EmployeeID      = emp.EmployeeID;
                        Certifications.CertificationID = emp.CertificationID;
                        if (emp.CertificationNo != null && emp.CertificationNo != "")
                        {
                            Certifications.CertificationNo = emp.CertificationNo.Trim();
                        }
                        else
                        {
                            Certifications.CertificationNo = emp.CertificationNo;
                        }
                        Certifications.CertificationDate = emp.CertificationDate;
                        if (emp.InstituteName != null && emp.InstituteName != "")
                        {
                            Certifications.InstituteName = emp.InstituteName.Trim();
                        }
                        else
                        {
                            Certifications.InstituteName = emp.InstituteName;
                        }
                        if (emp.TotalScore != null && emp.TotalScore != "")
                        {
                            Certifications.TotalScore = emp.TotalScore.Trim();
                        }
                        else
                        {
                            Certifications.TotalScore = emp.TotalScore;
                        }
                        if (emp.Grade != null && emp.Grade != "")
                        {
                            Certifications.Grade = emp.Grade.Trim();
                        }
                        else
                        {
                            Certifications.Grade = emp.Grade;
                        }
                        Certifications.ActionType   = "Edit";
                        Certifications.ModifiedBy   = EmployeeId.ToString();
                        Certifications.ModifiedDate = DateTime.Now;
                        Certifications.SendMail     = true;

                        dbContext.tbl_PM_EmployeeCertificationMatrixHistory.AddObject(Certifications);
                        dbContext.SaveChanges();
                    }

                    emp.EmployeeID      = EmployeeId;
                    emp.CertificationID = SelectedCertificationID;
                    if (model.CertificationNo != null && model.CertificationNo != "")
                    {
                        emp.CertificationNo = model.CertificationNo.Trim();
                    }
                    else
                    {
                        emp.CertificationNo = model.CertificationNo;
                    }
                    emp.CertificationDate = model.CertificationDate;
                    if (model.CertificationGrade != null && model.CertificationGrade != "")
                    {
                        emp.Grade = model.CertificationGrade.Trim();
                    }
                    else
                    {
                        emp.Grade = model.CertificationGrade;
                    }
                    if (model.Institution != null && model.Institution != "")
                    {
                        emp.InstituteName = model.Institution.Trim();
                    }
                    else
                    {
                        emp.InstituteName = model.Institution;
                    }
                    if (model.CertificationScore != null && model.CertificationScore != "")
                    {
                        emp.TotalScore = model.CertificationScore.Trim();
                    }
                    else
                    {
                        emp.TotalScore = model.CertificationScore;
                    }
                }
            }
            dbContext.SaveChanges();
            isAdded = true;
            return(isAdded);
        }