public static FullGraduateDto NewGraduate(FullGraduateDto graduateDto)
        {
            Graduate graduate = AutoMapperConfiguration.mapper.Map <Graduate>(graduateDto);

            using (placementDepartmentDBEntities placementDepartmentDB = new placementDepartmentDBEntities())
            {
                try
                {
                    graduate.dateOfRegistration = graduate.lastUpdate = DateTime.Now;
                    var res = placementDepartmentDB.Graduate.Add(graduate);
                    placementDepartmentDB.SaveChanges();
                    return(AutoMapperConfiguration.mapper.Map <FullGraduateDto>(res));
                }
                catch (DbUpdateException ex)
                {
                    var sqlException = ex.GetBaseException() as SqlException;
                    if (sqlException != null)
                    {
                        if (sqlException.Number == 2627)
                        {
                            throw new Exception("Duplicate");
                        }
                    }
                    return(null);
                }
            }
        }
        public static void GraduateEditing(FullGraduateDto graduateDto)
        {
            ReGraduateLanguages(graduateDto.Id, graduateDto.Languages);
            Graduate graduate = AutoMapperConfiguration.mapper.Map <Graduate>(graduateDto);

            using (placementDepartmentDBEntities placementDepartmentDB = new placementDepartmentDBEntities())
            {
                graduate.lastUpdate = DateTime.Now;
                placementDepartmentDB.Graduate.Attach(graduate);
                placementDepartmentDB.Entry(graduate).State = EntityState.Modified;
                placementDepartmentDB.SaveChanges();
            }
        }
        public static void GraduateEditingtrue(string id, bool isint)
        {
            Graduate graduate = new Graduate()
            {
                Id = id, isActive = isint, lastUpdate = DateTime.Now
            };

            using (placementDepartmentDBEntities placementDepartmentDB = new placementDepartmentDBEntities())
            {
                placementDepartmentDB.Configuration.ValidateOnSaveEnabled = false;
                placementDepartmentDB.Graduate.Attach(graduate);
                placementDepartmentDB.Entry(graduate).Property(x => x.isActive).IsModified   = true;
                placementDepartmentDB.Entry(graduate).Property(x => x.lastUpdate).IsModified = true;
                placementDepartmentDB.SaveChanges();
            }
        }
        public static void GraduateUploudFile(string graduateId, string filePath)
        {
            Graduate graduate = new Graduate()
            {
                Id = graduateId, linkToCV = filePath, lastUpdate = DateTime.Now
            };

            using (placementDepartmentDBEntities placementDepartmentDB = new placementDepartmentDBEntities())
            {
                placementDepartmentDB.Configuration.ValidateOnSaveEnabled = false;
                placementDepartmentDB.Graduate.Attach(graduate);
                placementDepartmentDB.Entry(graduate).Property(x => x.linkToCV).IsModified   = true;
                placementDepartmentDB.Entry(graduate).Property(x => x.lastUpdate).IsModified = true;
                placementDepartmentDB.SaveChanges();
            }
        }
 public static void DeleteGraduate(string id)
 {
     using (placementDepartmentDBEntities placementDepartmentDB = new placementDepartmentDBEntities())
     {
         try
         {
             Graduate graduate = placementDepartmentDB.Graduate.Find(id);
             placementDepartmentDB.Graduate.Remove(graduate);
             placementDepartmentDB.SaveChanges();
         }
         catch (DbUpdateException ex)
         {
             var sqlException = ex.GetBaseException() as SqlException;
             if (sqlException != null)
             {
                 if (sqlException.Number == 547)
                 {
                     throw new DbUpdateException("547");
                 }
             }
         }
     }
 }