MongoServices 0.2.0
A Service/Repository Framework for mongoDB
|
00001 using System; 00002 using System.Collections.Generic; 00003 using System.Linq; 00004 using System.Text; 00005 using MongoDB.Driver.Builders; 00006 using MongoDB.Bson; 00007 00008 namespace MongoServices 00009 { 00014 public abstract class ReadWriteRepository<T> : ReadOnlyRepository<T>, IReadWriteRepository<T> 00015 where T : MongoServicesModel 00016 { 00017 #region Public Methods 00018 00019 00020 00021 00022 public virtual void Save(T model) 00023 { 00024 if (model.MarkedForDelete) 00025 { 00026 DeleteById(model.Id); 00027 } 00028 else 00029 { 00030 if (model.DateCreated == default(DateTime)) 00031 { 00032 model.DateCreated = DateTime.Now; 00033 } 00034 00035 model.DateModified = DateTime.Now; 00036 00037 Collection.Save(model); 00038 } 00039 } 00040 00045 public void DeleteById(ObjectId id) 00046 { 00047 Collection.Remove(Query.EQ("_id", id)); 00048 } 00049 #endregion 00050 } 00051 }