Esempio n. 1
0
 public NamedStoragePersistanceStrategy(IProfileStoragePersister persister, ProfileId profileId, TypeNameWithoutVersion key, params StorageName[] storageNames)
 {
     _persister    = persister;
     _profileId    = profileId;
     _key          = key;
     _storageNames = storageNames;
 }
        public static ProfileStorage Create <T>(TypeNameWithoutVersion key, T item)
        {
            var profileStorage = new ProfileStorage(key);

            profileStorage.SetValue(item);
            return(profileStorage);
        }
 public void Delete(ProfileId profileId, TypeNameWithoutVersion key)
 {
     using (var context = CreateContext())
     {
         const string cmd = "delete dbo.ProfileStorage where dbo.ProfileStorage.ProfileId = {0} AND dbo.ProfileStorage.ValueKey = {1}";
         context.ExecuteCommand(cmd, profileId.Value, key.Value);
     }
 }
        public void Delete(ProfileId profileId, TypeNameWithoutVersion key, params StorageName[] storageNames)
        {
            using (var context = CreateContext())
            {
                var inClausePlaceholders = string.Join(",", storageNames.Select((x, i) => "{{{0}}}".Fmt(i + 2)));
                var parameters = new object[] { profileId.Value, key.Value }.Concat(storageNames.Select(x => x.Value));

                var cmd = "delete dbo.ProfileStorage where dbo.ProfileStorage.ProfileId = {0} AND dbo.ProfileStorage.ValueKey = {1} AND dbo.ProfileStorage.Name IN (" + inClausePlaceholders + ")";
                context.ExecuteCommand(cmd, parameters.ToArray());
            }
        }
        public IEnumerable <ProfileStorage> FindBy(ProfileId profileId, TypeNameWithoutVersion key)
        {
            using (var context = CreateContext())
            {
                int    id       = profileId.Value;
                string valueKey = key.Value;

                return((from profileStorage in context.ProfileStorages
                        where profileStorage.ProfileId == id && profileStorage.ValueKey == valueKey
                        select profileStorage).ToArray());
            }
        }
        public IEnumerable <ProfileStorage> FindBy(ProfileId profileId, TypeNameWithoutVersion key, params StorageName[] storageNames)
        {
            using (var context = CreateContext())
            {
                int    id                = profileId.Value;
                string valueKey          = key.Value;
                var    starageNameValues = storageNames.Select(s => s.Value);

                return((from profileStorage in context.ProfileStorages
                        where profileStorage.ProfileId == id && profileStorage.ValueKey == valueKey && starageNameValues.Contains(profileStorage.Name)
                        select profileStorage).ToArray());
            }
        }
        public ProfileToStorageAdapter(ProfileId profileId, IProfileStoragePersister persister, Type keyType, params StorageName[] storageNames)
        {
            _profileId = profileId;
            _key       = ProfileStorage.Key(keyType);

            if (storageNames == null)
            {
                _persistanceStrategy = new NotNamedStoragePersistanceStrategy(persister, profileId, _key);
            }
            else
            {
                _persistanceStrategy = new NamedStoragePersistanceStrategy(persister, profileId, _key, storageNames);
            }
        }
 public ProfileStorage(TypeNameWithoutVersion key)
 {
     ValueKey = key.Value;
 }
 public void Delete(ProfileId profileId, TypeNameWithoutVersion key)
 {
     _profileStorage.RemoveAll(x => x.ProfileId == profileId.Value && x.ValueKey == key.Value);
 }
 public bool Contains(StorageName storageName, ProfileId profileId, TypeNameWithoutVersion key, object item)
 {
     return(FindBy(storageName, profileId, key, item) != null);
 }
 public ProfileStorage FindBy(StorageName storageName, ProfileId profileId, TypeNameWithoutVersion key, object item)
 {
     return(FindBy(profileId, key).Where(x => x.GetValue() == item && storageName.Value == x.Name).FirstOrDefault());
 }
 public IEnumerable <ProfileStorage> FindBy(ProfileId profileId, TypeNameWithoutVersion key, params StorageName[] storageNames)
 {
     return(FindBy(profileId).Where(x => x.ValueKey == key.Value && storageNames.Select(s => GetLowerOrNull(s.Value)).Contains(GetLowerOrNull(x.Name))));
 }
 public IEnumerable <ProfileStorage> FindBy(ProfileId profileId, TypeNameWithoutVersion key)
 {
     return(FindBy(profileId).Where(x => x.ValueKey == key.Value));
 }
 public void Delete(ProfileId profileId, TypeNameWithoutVersion key, params StorageName[] storageNames)
 {
     _profileStorage.RemoveAll(x => storageNames.Select(s => s.Value).Contains(x.Name) && x.ProfileId == profileId.Value && x.ValueKey == key.Value);
 }
 public NotNamedStoragePersistanceStrategy(IProfileStoragePersister persister, ProfileId profileId, TypeNameWithoutVersion key)
 {
     _persister = persister;
     _profileId = profileId;
     _key       = key;
 }
 public void Delete(ProfileId profileId, TypeNameWithoutVersion typeNameWithoutVersion)
 {
     _persister.Delete(profileId, typeNameWithoutVersion);
 }
        public ProfileStorage FindBy(ProfileId profileId, TypeNameWithoutVersion key, object item)
        {
            var itemsToSearch = FindBy(profileId, key);

            return(itemsToSearch.Where(profileStorage => profileStorage.GetValue().Equals(item)).FirstOrDefault());
        }