/// <summary> /// 获取主键字段名 /// </summary> /// <param name="?"></param> /// <returns></returns> public static string TableName(this BsonDocument bsonDoc) { var tbName = string.Empty; if (bsonDoc.Contains("underTable")) { tbName = bsonDoc.GetValue("underTable").ToString(); //当前记录所属表 } return(tbName); }
/// <summary> /// 通用设置接口 /// </summary> /// <param name="bsonDoc"></param> /// <param name="fieldName"></param> /// <param name="obj"></param> /// <returns></returns> public static void SetValue(BsonDocument bsonDoc, string fieldName, string obj) { if (bsonDoc.Contains(fieldName)) { bsonDoc[fieldName] = obj; } else { bsonDoc.Add(fieldName, obj); } }
/// <summary> /// 获取字段对应的主表记录 /// </summary> /// <param name="bsonDoc"></param> /// <param name="foreignFieldName"> 外键字段名称</param> /// <returns></returns> public static BsonDocument SourceBson(this BsonDocument bsonDoc, string foreignFieldName) { BsonDocument sourceDoc = null; if (bsonDoc != null && bsonDoc.Contains(foreignFieldName) && bsonDoc.Contains("underTable")) { string tbName = bsonDoc.GetValue("underTable").ToString(); //当前记录所属表 TableRule tableEntity = new TableRule(tbName); //获取表结构 ColumnRule columnEntity = tableEntity.ColumnRules.Where(t => t.Name == foreignFieldName).FirstOrDefault(); //获取对应字段 if (columnEntity != null && columnEntity.SourceTable != "" && columnEntity.SourceColumn != "") //如果字段有标记外键,则返回对应源记录 { sourceDoc = new DataOperation(columnEntity.SourceTable).FindOneByKeyVal(columnEntity.SourceColumn, bsonDoc.GetValue(foreignFieldName).ToString()); } } return(sourceDoc); }
/// <summary> /// 向对象新增key,如果key已经存在,则修改原先key对应的值 /// </summary> /// <param name="bsonDoc"></param> /// <param name="key">key值</param> /// <param name="val">要新增的对象</param> public static void TryAdd(this BsonDocument bsonDoc, string key, string val) { if (bsonDoc.Contains(key)) { bsonDoc[key] = val; } else { bsonDoc.Add(key, val); } }
/// <summary> /// 货币的格式展示 /// </summary> /// <param name="bsonDoc"></param> /// <param name="name"></param> /// <returns></returns> public static string Money(this BsonDocument bsonDoc, string name) { if (bsonDoc != null && bsonDoc.Contains(name)) { decimal value; string str = bsonDoc.GetValue(name).ToString(); if (!string.IsNullOrEmpty(str) && decimal.TryParse(str, out value)) { return(value.ToMoney()); } } return(string.Empty); }
/// <summary> /// 获取浮点值 /// </summary> /// <param name="bsonDoc"></param> /// <param name="name"></param> /// <param name="defaultValue"></param> /// <returns></returns> public static decimal Decimal(this BsonDocument bsonDoc, string name, decimal defaultValue) { if (bsonDoc != null && bsonDoc.Contains(name)) { decimal temp = new decimal(); if (decimal.TryParse(bsonDoc.GetValue(name).ToString(), out temp)) { return(temp); } } return(defaultValue); }
/// <summary> /// 获取浮点值 /// </summary> /// <param name="bsonDoc"></param> /// <param name="name"></param> /// <param name="defaultValue"></param> /// <returns></returns> public static double Double(this BsonDocument bsonDoc, string name, double defaultValue) { if (bsonDoc != null && bsonDoc.Contains(name)) { double temp = new double(); if (double.TryParse(bsonDoc.GetValue(name).ToString(), out temp)) { return(temp); } } return(defaultValue); }
/// <summary> /// 获取整形值 /// </summary> /// <param name="bsonDoc"></param> /// <param name="name"></param> /// <param name="defaultValue"></param> /// <returns></returns> public static int Int(this BsonDocument bsonDoc, string name, int defaultValue) { if (bsonDoc != null && bsonDoc.Contains(name)) { int temp = new int(); if (int.TryParse(bsonDoc.GetValue(name).ToString(), out temp)) { return(bsonDoc.GetValue(name).ToInt32()); } } return(defaultValue); }
/// <summary> /// 获取日期值 /// </summary> /// <param name="bsonDoc"></param> /// <param name="name"></param> /// <param name="defaultValue"></param> /// <returns></returns> public static DateTime Date(this BsonDocument bsonDoc, string name, DateTime defaultValue) { if (bsonDoc != null && bsonDoc.Contains(name)) { DateTime temp; if (DateTime.TryParse(bsonDoc.GetValue(name).ToString(), out temp)) { return(temp); } else { return(defaultValue); } } return(defaultValue); }