예제 #1
0
        public void Remove(IDataIdentity dataIdentity)
        {
            Int32 index;

            index = this.GetIndex(dataIdentity);
            if (index >= 0)
            {
                this.RemoveAt(index);
            }
        }
예제 #2
0
 protected static Int32 GetId(IDataIdentity dataIdentity)
 {
     if (IsNull(dataIdentity))
     {
         return(NO_ID);
     }
     else
     {
         return(dataIdentity.GetId());
     }
 }
예제 #3
0
 protected static void CheckNotMember(DataIdentityList dataIdentities,
                                      IDataIdentity dataIdentity,
                                      String listName)
 {
     if (IsNotNull(dataIdentities.GetById(dataIdentity.GetId())))
     {
         throw new DataArgumentException(dataIdentity.GetDataType().ToString() +
                                         " " + dataIdentity.GetIdentifier() +
                                         " is already a member of " + listName);
     }
 }
예제 #4
0
        public Int32 GetIndex(IDataIdentity dataIdentity)
        {
            Int32 index;

            for (index = 0; index < this.Count; index++)
            {
                if ((((IDataIdentity)(this[index])).GetDataType() == dataIdentity.GetDataType()) &&
                    (((IDataIdentity)(this[index])).GetId() == dataIdentity.GetId()))
                {
                    return(index);
                }
            }
            return(-1);
        }
예제 #5
0
        public static Boolean AreEqual(IDataIdentity object1, IDataIdentity object2)
        {
            // Check referenses.
            if (IsNull(object1) && IsNull(object2))
            {
                return(true);
            }
            if (IsNull(object1) || IsNull(object2))
            {
                return(false);
            }

            // Check type.
            if (object1.GetDataType() != object2.GetDataType())
            {
                return(false);
            }

            // Check id.
            return(object1.GetId() == object2.GetId());
        }
예제 #6
0
        public static IDataIdentity GetItem(String barCode)
        {
            DataReader    dataReader   = null;
            IDataIdentity dataIdentity = null;
            Int32         id;
            String        kind;

            try
            {
                dataReader = Database.GetItem(barCode);
                if (dataReader.Read() &&
                    dataReader.IsNotDBNull(BarCodeData.IDENTIFIABLE_ID) &&
                    dataReader.IsNotDBNull(BarCodeData.KIND))
                {
                    id   = dataReader.GetInt32(BarCodeData.IDENTIFIABLE_ID);
                    kind = dataReader.GetString(BarCodeData.KIND);
                    dataReader.Close();

                    switch ((DBKind)(Enum.Parse(typeof(DBKind), kind)))
                    {
                    case DBKind.CONTAINER:
                        //dataIdentity = GenericContainerManager.GetGenericContainer(id);
                        break;

                    case DBKind.AUTHORITY:
                        dataIdentity = UserManager.GetUser(id);
                        break;
                    }
                }
            }
            finally
            {
                CloseDataReader(dataReader);
            }
            return(dataIdentity);
        }
예제 #7
0
 public static Boolean AreNotEqual(IDataIdentity object1, IDataIdentity object2)
 {
     return(!AreEqual(object1, object2));
 }
예제 #8
0
 public Boolean IsNotMember(IDataIdentity dataIdentity)
 {
     return(this.GetIndex(dataIdentity) < 0);
 }
예제 #9
0
 public abstract Task <IDataResult <T> > GetData(IDataIdentity <T> dataIndetity);