/// <summary>
 /// Deletes all entries for a given DirectoryClassification
 /// </summary>
 /// <param name="directoryClassification"></param>
 /// <returns></returns>
 public bool DeleteAll(DirectoryClassification directory)
 {
     foreach (var dirField in repository.GetAll().Where(df => df.DirectoryClassificationId == directory.Id))
     {
         Delete(dirField);
     }
     return(true);
 }
        /// <summary>
        /// Saves an Array of allowed fieldtypes for a given DirectoryClassification
        /// </summary>
        /// <param name="fieldTypes">The allowed field types</param>
        /// <param name="notChosenFieldTypes">The not allowed field types</param>
        /// <param name="directoryClassification">The directory classification for which the field types are meant for</param>
        /// <returns></returns>
        public bool SaveFieldTypes(List <FieldType> fieldTypes, List <FieldType> notChosenFieldTypes, DirectoryClassification dirClassification)
        {
            var existingTypes = GetAll();

            foreach (var type in notChosenFieldTypes)
            {
                var x = existingTypes.FirstOrDefault(ex => ex.DirectoryClassificationId == dirClassification.Id && ex.FieldTypeId == type.Id);
                if (x != null)
                {
                    Delete(x);
                }
            }

            foreach (var type in fieldTypes)
            {
                var x = existingTypes.FirstOrDefault(ex => ex.DirectoryClassificationId == dirClassification.Id && ex.FieldTypeId == type.Id);
                if (x == null)
                {
                    var dirField = new DirectoryClassificationField()
                    {
                        DirectoryClassificationId = dirClassification.Id,
                        FieldTypeId = type.Id
                    };
                    Save(dirField);
                }
            }

            return(true);
        }
Example #3
0
 /// <summary>
 /// Save the Directory classification
 /// </summary>
 /// <param name="obj">Directory classification instance</param>
 /// <returns>True if successfull</returns>
 public bool Save(DirectoryClassification obj)
 {
     return(repository.Save(obj));
 }
Example #4
0
 /// <summary>
 /// Delete Directory classification
 /// </summary>
 /// <param name="obj">Classification instance</param>
 /// <returns>True if successfull</returns>
 public bool Delete(DirectoryClassification obj)
 {
     return(repository.Delete(obj));
 }