public void AddSpeciality(Speciality speciality)
        {
            if (speciality == null)
                throw new ArgumentNullException("speciality");

            using (SpecialityRepository repository = new SpecialityRepository())
            {
                var existedSpecialities = repository.GetFiltered(s => s.Name == speciality.Name && s.UniversityId == speciality.UniversityId);
                if (existedSpecialities != null)
                {
                    // TODO: throw existing speciality of that university
                }
                repository.Add(speciality);
                repository.Commit();
            }
        }
        public void UpdateSpeciality(Speciality speciality)
        {
            if (speciality == null)
                throw new ArgumentNullException("speciality");

            using (SpecialityRepository repository = new SpecialityRepository())
            {
                repository.Modify(speciality);
                repository.Commit();
            }
        }
 public void RemoveSpeciality(Guid specialityId)
 {
     using (SpecialityRepository repository = new SpecialityRepository())
     {
         var speciality = repository.Get(specialityId);
         if (speciality != null)
         {
             repository.Remove(speciality);
             repository.Commit();
         }
     }
 }