public int CountExistingElements(IIdentityPrimaryKeyInterface implementingObject)
        {
            _logger.Info($"Counting existing object method for type {implementingObject.GetType().Name.ToString()} fired.");

            try
            {
                return(_realm.All(implementingObject.GetType().Name).ToList().Count);
            }
            catch (Exception ex)
            {
                _logger.Error($"Error while trying to count objects of type {implementingObject.GetType().Name.ToString()} in DB. Eception: {ex.Message}.");
                return(0);
            }
        }
        public int ProvideNewIdentity(IIdentityPrimaryKeyInterface implementingObject)
        {
            _logger.Info($"Method for obtaining new identity for type {implementingObject.GetType().Name.ToString()} fired.");

            int output;

            try
            {
                if (_realm.All(implementingObject.GetType().Name).ToList().Count == 0)
                {
                    return(1);
                }
                output = _realm.All(implementingObject.GetType().Name).ToList().Max(x => x.Identity);
                return(output + 1);
            }
            catch (Exception ex)
            {
                _logger.Error($"Error while trying to obtain new Identity: {ex.Message}");
                _logger.Error($"Returning New ID = 1;");
                return(1);
            }
        }
        //method for providing new ID number
        private int GetNewIdentity(IIdentityPrimaryKeyInterface idType)
        {
            NewIdentityProvider provider = new NewIdentityProvider(_realmProvider);

            return(provider.ProvideNewIdentity(idType));
        }
        private int GetNewIdentity(IIdentityPrimaryKeyInterface implementingObject)
        {
            NewIdentityProvider provider = new NewIdentityProvider(_realmProvider);

            return(provider.ProvideNewIdentity(implementingObject));
        }