コード例 #1
0
        /// <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);
        }
コード例 #2
0
 /// <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);
     }
 }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
 /// <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);
     }
 }
コード例 #5
0
 /// <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);
 }
コード例 #6
0
        /// <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);
        }
コード例 #7
0
        /// <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);
        }
コード例 #8
0
        /// <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);
        }
コード例 #9
0
        /// <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);
        }