Пример #1
0
        public virtual string Remove()
        {
            DynamicJson dj         = GetParam();
            string      resJson    = string.Empty;
            string      primaryKey = "Id";

            try
            {
                JMI jmi = GetJMI(dj);
                using (DBAccessor dba = DBAccessor.Instance(Dbs.Get(jmi.DbsName)))
                {
                    string         condition = string.Empty;
                    string         sql       = string.Empty;
                    string         tableName = TableName(jmi.DtoType);
                    IList <string> cols      = new List <string>();

                    if (GetPrimaryKey(jmi.DtoType).Count() > 0)
                    {
                        primaryKey = GetPrimaryKey(jmi.DtoType).FirstOrDefault().Name;
                    }

                    DbParameter[] paras = BuildParameter(jmi.DtoType, dba, dj, ref cols);
                    int           rows  = dba.ExecuteCommand(string.Format("delete from {0} where {1}=:{1}", tableName, primaryKey), dba.CreateDbParameter(primaryKey, dj.Get(primaryKey)), false);
                    if (rows > 0)
                    {
                        resJson = new { result = 1 }
                    }
                    .ToJson();
                }
Пример #2
0
 public virtual string Save()
 {
     try
     {
         DynamicJson dj  = GetParam();
         JMI         jmi = GetJMI(dj);
         if (!dj.IsList && !dj.GetStr(JModelNo.AccessSaveListKey).IsNullOrEmpty())
         {
             dj = dj.Get(JModelNo.AccessSaveListKey).ToJson().ToDynamicJson();
             if (!jmi.TBCode.IsNullOrWhiteSpace())
             {
                 foreach (DynamicJson djItem in dj)
                 {
                     djItem.Set(JModelNo.AccessTableKey, jmi.TBCode);
                 }
             }
         }
         using (DBAccessor dba = DBAccessor.Instance(Dbs.Get(jmi.DbsName)))
         {
             return(OnSave(dj, dba));
         }
     }
     catch (Exception ex)
     {
         return(Loger.Log(Assembly.GetExecutingAssembly().FullName, MethodBase.GetCurrentMethod().FullName(), ex));
     }
 }
Пример #3
0
        /// <summary>
        /// 获取postData中操作的目标模型定义
        /// </summary>
        /// <param name="dj"></param>
        /// <returns></returns>
        public JMI GetJMI(DynamicJson dj)
        {
            JMI jmi = new JMI();

            if (dj.IsList && dj.GetStr(JModelNo.AccessTableKey).IsNullOrWhiteSpace())
            {
                dj = (dj as dynamic)[0];
            }
            if (dj.GetStr(JModelNo.AccessTableKey) != null && dj.GetStr(JModelNo.AccessTableKey).Length > 0)
            {
                jmi = JModelList.Models[dj.GetStr(JModelNo.AccessTableKey).ToUpper()];
            }
            if (!dj.GetStr(JModelNo.AccessDbsKey).IsNullOrEmpty())
            {
                jmi.DbsName = dj.GetStr(JModelNo.AccessDbsKey);
            }
            if (!dj.GetStr(JModelNo.AccessProcKey).IsNullOrEmpty())
            {
                jmi.ProcName = dj.GetStr(JModelNo.AccessProcKey);
            }
            if (!dj.GetStr(JModelNo.AccessContextKey).IsNullOrEmpty())
            {
                jmi.Context = dj.GetStr(JModelNo.AccessContextKey);
            }
            if (!dj.GetStr(JModelNo.AccessParaKey).IsNullOrEmpty())
            {
                jmi.Paras = dj.Get(JModelNo.AccessParaKey).ToJson();
            }
            if (!dj.GetStr(JModelNo.AccessBlockQueryKey).IsNullOrEmpty())
            {
                jmi.BlockQueryCode = dj.GetStr(JModelNo.AccessBlockQueryKey);
            }

            return(jmi);
        }
Пример #4
0
        /// <summary>
        /// 逻辑删除  post 数据格式类似为  { primaryKey: 1,2 }
        /// </summary>
        /// <returns></returns>
        public string Delete()
        {
            string      json = GetPostData();
            DynamicJson dj   = GetParam();
            JMI         jmi  = GetJMI(dj);

            if (!dj.IsList && !dj.GetStr(JModelNo.AccessSaveListKey).IsNullOrEmpty())
            {
                dj = dj.Get(JModelNo.AccessSaveListKey).ToJson().ToDynamicJson();
                if (!jmi.TBCode.IsNullOrWhiteSpace())
                {
                    foreach (DynamicJson djItem in dj)
                    {
                        djItem.Set(JModelNo.AccessTableKey, jmi.TBCode);
                    }
                }
            }
            using (DBAccessor dba = DBAccessor.Instance(Dbs.Get(jmi.DbsName)))
            {
                return(OnSave(dj, dba, true));
            }
        }