BExIS.Dlm.Services.DataStructure.DataStructureManager.RemoveVariableUsage C# (CSharp) Méthode

RemoveVariableUsage() public méthode

Detaches the data attribute and the data structure that were linked by the variable and then deletes the variable from the database.
If the variable is referenced by any DataValue the method fails to delete the variable. Also, all the parameters associated to the variable will be deleted.
public RemoveVariableUsage ( Variable usage ) : void
usage BExIS.Dlm.Entities.DataStructure.Variable The variable object to be deleted.
Résultat void
        public void RemoveVariableUsage(Variable usage)
        {
            Contract.Requires(usage != null && usage.Id >= 0);

            using (IUnitOfWork uow = this.GetUnitOfWork())
            {
                IRepository<Variable> repo = uow.GetRepository<Variable>();
                IRepository<Parameter> paramRepo = uow.GetRepository<Parameter>();
                repo.Delete(usage);
                paramRepo.Delete(usage.Parameters.ToList());
                uow.Commit();
            }
        }

Usage Example

 public ActionResult deleteDataStructure(long Id, string cssId = "")
 {
     MessageModel DataStructureDeleteValidation = MessageModel.validateDataStructureDelete(Id);
     if (DataStructureDeleteValidation.hasMessage)
     {
         return PartialView("_messageWindow", DataStructureDeleteValidation);
     }
     else
     {
         DataStructureManager dataStructureManager = new DataStructureManager();
         if (dataStructureManager.StructuredDataStructureRepo.Get(Id) != null)
         {
             StructuredDataStructure dataStructure = dataStructureManager.StructuredDataStructureRepo.Get(Id);
             DataStructureIO.deleteTemplate(dataStructure.Id);
             foreach (Variable v in dataStructure.Variables)
             {
                 dataStructureManager.RemoveVariableUsage(v);
             }
             dataStructureManager.DeleteStructuredDataStructure(dataStructure);
             LoggerFactory.LogData(dataStructure.Id.ToString(), typeof(DataStructure).Name, Vaiona.Entities.Logging.CrudState.Deleted);
         }
         else
         {
             UnStructuredDataStructure dataStructure = dataStructureManager.UnStructuredDataStructureRepo.Get(Id);
             dataStructureManager.DeleteUnStructuredDataStructure(dataStructure);
             LoggerFactory.LogData(dataStructure.Id.ToString(), typeof(DataStructure).Name, Vaiona.Entities.Logging.CrudState.Deleted);
         }
         return PartialView("_message", new MessageModel()
         {
             Message = "DataStructure" + Id + "deleted",
             hasMessage = false,
             CssId = "deleted"
         });
     }
 }
All Usage Examples Of BExIS.Dlm.Services.DataStructure.DataStructureManager::RemoveVariableUsage