public static void InsertOrUpdateSubMsg(SubMsg subMsg) { var db = Conf.DbConfig.GetDataBase(Conf.BasicConfig.BaseMsg); var coll = db.GetCollection <SubMsg>(Conf.BasicConfig.SubApp); if (subMsg._id.Timestamp == 0) { subMsg.CreateTime = DateTime.Now; subMsg.UpdateTime = DateTime.Now; subMsg._id = new ObjectId(); coll.InsertOne(subMsg); } else { subMsg.UpdateTime = DateTime.Now; var filter = Builders <SubMsg> .Filter.Eq(p => p._id, subMsg._id); var updateBuilders = new UpdateDefinitionBuilder <SubMsg>(); var updateDefinition = updateBuilders.Combine(new[] { Builders <SubMsg> .Update.Set(p => p.Enabled, subMsg.Enabled), Builders <SubMsg> .Update.Set(p => p.ReceiveType, subMsg.ReceiveType), Builders <SubMsg> .Update.Set(p => p.ReceiveContent, subMsg.ReceiveContent), Builders <SubMsg> .Update.Set(p => p.UpdateTime, subMsg.UpdateTime) }); coll.UpdateOne(filter, updateDefinition); } }
public void AddSubMsg(Model.SubMsg subMsg) { var oldMsg = DbHelper.GetOneSubMsg(subMsg.AppNo, subMsg.PubAppNo, subMsg.PubAppEvent); if (oldMsg == null) { oldMsg = new SubMsg { AppNo = subMsg.AppNo, PubAppNo = subMsg.PubAppNo, PubAppEvent = subMsg.PubAppEvent } } ; oldMsg.Enabled = subMsg.Enabled; oldMsg.ReceiveType = subMsg.ReceiveType; oldMsg.ReceiveContent = subMsg.ReceiveContent; DbHelper.InsertOrUpdateSubMsg(oldMsg); }