コード例 #1
0
ファイル: Filter.cs プロジェクト: martin-holy/PictureManager
    public void SaveFilter() {
      FileInfo filterFile = new FileInfo("TempFilter.dat");

      using (FileStream writeFileStream = new FileStream(filterFile.Name, FileMode.Create)) {
        BinaryFormatter formatter = new BinaryFormatter();
        try {
          formatter.Serialize(writeFileStream, FilterData);
        } catch (System.Runtime.Serialization.SerializationException) {
          //ignored
        }
      }

      if (!filterFile.Exists) return;
      byte[] biteArray;
      //read filder data from stream to biteArray
      using (FileStream readFileStream = new FileStream(filterFile.Name, FileMode.Open)) {
        biteArray = new byte[readFileStream.Length];
        readFileStream.Position = 0;
        readFileStream.Read(biteArray, 0, (int)readFileStream.Length);
      }
      filterFile.Delete();

      //insert or update filter to DB
      if (Id == -1) {
        var dmFilter = new DataModel.Filter {
          Id = ACore.Db.GetNextIdFor<DataModel.Filter>(),
          Name = Title,
          Data = biteArray,
          ParentId = (Parent as Filter)?.Id
        };

        ACore.Db.InsertOnSubmit(dmFilter);
        ACore.Db.SubmitChanges();

        Id = dmFilter.Id;
      } else {
        Data.Data = biteArray;
        Data.Name = Title;
        ACore.Db.UpdateOnSubmit(Data);
        ACore.Db.SubmitChanges();
      }
    }
コード例 #2
0
ファイル: Filter.cs プロジェクト: martin-holy/PictureManager
 public Filter(DataModel.Filter data, Filter parent) : this() {
   Data = data;
   Parent = parent;
   Id = data.Id;
   Title = data.Name;
 }