BExIS.Dlm.Services.DataStructure.UnitManager.Delete C# (CSharp) Method

Delete() public method

public Delete ( IEnumerable entities ) : bool
entities IEnumerable
return bool
        public bool Delete(IEnumerable<Unit> entities)
        {
            Contract.Requires(entities != null);
            Contract.Requires(Contract.ForAll(entities, (Unit e) => e != null));
            Contract.Requires(Contract.ForAll(entities, (Unit e) => e.Id >= 0));

            using (IUnitOfWork uow = this.GetUnitOfWork())
            {
                IRepository<Unit> repo = uow.GetRepository<Unit>();
                IRepository<ConversionMethod> repoCM = uow.GetRepository<ConversionMethod>();

                foreach (var entity in entities)
                {
                    var latest = repo.Reload(entity);

                    // delete all conversions that are somehow connected to current unit
                    repoCM.Delete(latest.ConversionsIamTheSource);
                    repoCM.Delete(latest.ConversionsIamTheTarget);

                    // remove all associations between current unit and the conversions
                    latest.ConversionsIamTheSource.ToList().ForEach(a => a.Source = a.Target = null);
                    latest.ConversionsIamTheTarget.ToList().ForEach(a => a.Source = a.Target = null);
                    latest.ConversionsIamTheSource.Clear();
                    latest.ConversionsIamTheTarget.Clear();

                    //delete the unit
                    repo.Delete(latest);
                }
                // commit changes
                uow.Commit();
            }
            return (true);
        }

Same methods

UnitManager::Delete ( Dimension entity ) : bool
UnitManager::Delete ( IEnumerable entities ) : bool
UnitManager::Delete ( Unit entity ) : bool

Usage Example

コード例 #1
0
ファイル: UnitController.cs プロジェクト: BEXIS2/Core
        public ActionResult deletUnit(long id)
        {
            if (id != 0)
            {
                EditUnitModel editUnitModel = new EditUnitModel(id);
                if (editUnitModel.Unit != null)
                {
                    if (!editUnitModel.inUse)
                    {
                        UnitManager unitManager = new UnitManager();
                        unitManager.Delete(editUnitModel.Unit);
                    }

                }
            }
            return RedirectToAction("UnitManager");
        }
All Usage Examples Of BExIS.Dlm.Services.DataStructure.UnitManager::Delete