예제 #1
0
파일: FileModl.cs 프로젝트: bazer/Modl
        public Stream Get(StorageIdentity identity)
        {
            var path = GetPath(identity);

            if (!File.Exists(path))
                throw new FileNotFoundException();

            return File.OpenRead(path);
        }
예제 #2
0
파일: FileModl.cs 프로젝트: bazer/Modl
        public void Delete(StorageIdentity identity)
        {
            var path = GetPath(identity);

            if (!File.Exists(path))
                throw new FileNotFoundException();

            File.Delete(path);
        }
예제 #3
0
파일: FileModl.cs 프로젝트: bazer/Modl
 public IEnumerable<StorageIdentity> List(StorageIdentity identity)
 {
     return Directory
         .EnumerateFiles(GetDirectory(identity))
         .Select(file => new StorageIdentity
         {
             Id = Path.GetFileNameWithoutExtension(file),
             Name = identity.Name,
             Type = identity.Type
         });
 }
예제 #4
0
파일: FileModl.cs 프로젝트: bazer/Modl
        public void Save(StorageIdentity identity, MemoryStream stream)
        {
            if (!Directory.Exists(GetDirectory(identity)))
                Directory.CreateDirectory(GetDirectory(identity));

            var path = GetPath(identity);

            if (File.Exists(path))
                File.Delete(path);

            using (var fs = File.OpenWrite(path))
            {
                stream.WriteTo(fs);
            }
        }
예제 #5
0
파일: Materializer.cs 프로젝트: bazer/Modl
 internal static IEnumerable<object> List(StorageIdentity identity, Settings settings)
 {
     return settings.Endpoint
         .List(identity)
         .Select(x => DeserializeObject(x.Id, identity.IdType, settings));
 }
예제 #6
0
 internal static IEnumerable <object> List(StorageIdentity identity, Settings settings)
 {
     return(settings.Endpoint
            .List(identity)
            .Select(x => DeserializeObject(x.Id, identity.IdType, settings)));
 }
예제 #7
0
파일: FileModl.cs 프로젝트: bazer/Modl
 private string GetPath(StorageIdentity identity)
 {
     return GetDirectory(identity) + GetFilename(identity);
 }
예제 #8
0
파일: FileModl.cs 프로젝트: bazer/Modl
 private string GetFilename(StorageIdentity identity)
 {
     return identity.Id + "." + fileEnding;
 }
예제 #9
0
파일: FileModl.cs 프로젝트: bazer/Modl
 private string GetDirectory(StorageIdentity identity)
 {
     return savePath + identity.Name + Path.DirectorySeparatorChar;
 }