internal static PreservationAlertType Convert(this BibDSModel.PreservationAlertType alr, int level = 0, int deeplevel = 5, params Type[] ignoredTypes)
        {
            if (alr == null || level > deeplevel)
            {
                return(null);
            }

            var retval = new PreservationAlertType
            {
                AlertText = alr.AlertText,
                IdPreservationAlertType = alr.IdPreservationAlertType,
                Offset    = alr.Offset,
                TaskTypes = new BindingList <PreservationTaskType>(),
                Role      = alr.PreservationRole.Convert(level + 1, deeplevel)
            };

            if (ignoredTypes != null && !ignoredTypes.Contains(typeof(PreservationAlert)))
            {
                retval.Alerts = alr.PreservationAlert.Convert(level + 1, deeplevel);
            }
            if (alr.PreservationAlertTask != null)
            {
                foreach (var item in alr.PreservationAlertTask)
                {
                    retval.TaskTypes.Add(item.PreservationTaskType.Convert(level + 1, deeplevel));
                }
            }

            return(retval);
        }
 public PreservationAlertType AddPreservationAlertType(PreservationAlertType alertType, string archiveName)
 {
     try
     {
         var svc = new PreservationService();
         return(svc.AddPreservationAlertType(alertType, svc.GetIdPreservationArchiveFromName(archiveName)));
     }
     catch (Exception ex)
     {
         throw CheckExceptionToThrow(ex);
     }
 }