protected virtual Card _FindByCardId(int?CardRecordID, bool cast) { if (Exists(CardRecordID)) { Card _obj = CreateDbEntity(); LoadFromDb(_obj, GetQuery_SelectByCardRecordID(CardRecordID.Value)); if (cast) { CardType.TypeID type = CardType.GetTypeID(_obj.CardTypeID); if (type == CardType.TypeID.Customer) { Card specialized_card = RepositoryMgr.CustomerMgr.FindById(_obj.CardRecordID); return(specialized_card); } else if (type == CardType.TypeID.Employee) { Card specialized_card = RepositoryMgr.EmployeeMgr.FindById(_obj.CardRecordID); return(specialized_card); } else if (type == CardType.TypeID.Supplier) { Card specialized_card = RepositoryMgr.SupplierMgr.FindById(_obj.CardRecordID); return(specialized_card); } } return(_obj); } else { return(null); } }
protected override OpResult _Delete(Card _obj) { if (_obj == null) { return(OpResult.NotifyDeleteAction(OpResult.ResultStatus.ObjectIsNull, _obj, "Card object cannot be deleted as it is null")); } if (Exists(_obj)) { ExecuteNonQuery(GetQuery_DeleteQuery(_obj)); RepositoryMgr.AddressMgr.Delete(_obj.Address1); RepositoryMgr.AddressMgr.Delete(_obj.Address2); RepositoryMgr.AddressMgr.Delete(_obj.Address3); RepositoryMgr.AddressMgr.Delete(_obj.Address4); RepositoryMgr.AddressMgr.Delete(_obj.Address5); CardType.TypeID type = CardType.GetTypeID(_obj.CardTypeID); if (type == CardType.TypeID.Customer) { RepositoryMgr.CustomerMgr.Delete((Customer)_obj); } else if (type == CardType.TypeID.Employee) { RepositoryMgr.EmployeeMgr.Delete((Employee)_obj); } else if (type == CardType.TypeID.Supplier) { RepositoryMgr.SupplierMgr.Delete((Supplier)_obj); } return(OpResult.NotifyDeleteAction(OpResult.ResultStatus.ExistsAndDeleted, _obj)); } else { return(OpResult.NotifyDeleteAction(OpResult.ResultStatus.NotExists, _obj, "Card object cannot be deleted as it does not exist")); } }