示例#1
0
        /// <summary>
        /// 修改一条数据
        /// </summary>
        /// <param name="parm">T</param>
        /// <returns></returns>
        public async Task <ApiResult <string> > UpdateAsync(CmsColumn parm)
        {
            var res = new ApiResult <string>()
            {
                statusCode = (int)ApiEnum.Error
            };

            try
            {
                //先查出原来的
                var sourceModel = CmsColumnDb.GetSingle(m => m.Id == parm.Id);
                //根据模板ID查询相关内容
                var mbModel = CmsTemplateDb.GetSingle(m => m.Id == parm.TempId);
                if (parm.TempId != sourceModel.TempId && mbModel != null)
                {
                    parm.TempName = mbModel.Title;
                    parm.TempUrl  = mbModel.Url;
                }
                else
                {
                    parm.TempName = sourceModel.TempName;
                    parm.TempUrl  = sourceModel.TempUrl;
                }
                if (sourceModel.ParentId != parm.ParentId)
                {
                    //不相等更改等级
                    var parModel = CmsColumnDb.GetSingle(m => m.Id == parm.ParentId);
                    if (parModel != null)
                    {
                        parm.ClassList  = parModel.ClassList + parm.Id + ",";
                        parm.ClassLayer = parModel.ClassLayer + 1;
                    }
                }
                else
                {
                    parm.ClassList  = sourceModel.ClassList;
                    parm.ClassLayer = sourceModel.ClassLayer;
                }
                await Db.Updateable(parm).IgnoreColumns(m => new { m.Number, m.Sort, }).ExecuteCommandAsync();

                res.statusCode = (int)ApiEnum.Status;
            }
            catch (Exception ex)
            {
                res.message = ApiEnum.Error.GetEnumText() + ex.Message;
            }
            return(res);
        }
示例#2
0
        /// <summary>
        /// 排序
        /// </summary>
        /// <param name="p">父级</param>
        /// <param name="i">当前id</param>
        /// <param name="o">排序方式</param>
        /// <returns></returns>
        public async Task <ApiResult <string> > ColSort(int p, int i, int o)
        {
            var res = new ApiResult <string>()
            {
                statusCode = (int)ApiEnum.Error
            };

            try
            {
                int a = 0, b = 0, c = 0;
                var list = CmsColumnDb.GetList(m => m.ParentId == p).OrderBy(m => m.Sort).ToList();
                if (list.Count > 0)
                {
                    var index = 0;
                    foreach (var item in list)
                    {
                        index++;
                        if (index == 1)
                        {
                            if (item.Id == i) //判断是否是头如果上升则不做处理
                            {
                                if (o == 1)   //下降一位
                                {
                                    a         = Convert.ToInt32(item.Sort);
                                    b         = Convert.ToInt32(list[index].Sort);
                                    c         = a;
                                    a         = b;
                                    b         = c;
                                    item.Sort = a;
                                    CmsColumnDb.Update(item);
                                    var nitem = list[index];
                                    nitem.Sort = b;
                                    CmsColumnDb.Update(nitem);
                                    break;
                                }
                            }
                        }
                        else if (index == list.Count)
                        {
                            if (item.Id == i) //最后一条如果下降则不做处理
                            {
                                if (o == 0)   //上升一位
                                {
                                    a         = Convert.ToInt32(item.Sort);
                                    b         = Convert.ToInt32(list[index - 2].Sort);
                                    c         = a;
                                    a         = b;
                                    b         = c;
                                    item.Sort = a;
                                    CmsColumnDb.Update(item);
                                    var nitem = list[index - 2];
                                    nitem.Sort = b;
                                    CmsColumnDb.Update(nitem);
                                    break;
                                }
                            }
                        }
                        else
                        {
                            if (item.Id == i) //判断是否是头如果上升则不做处理
                            {
                                if (o == 1)   //下降一位
                                {
                                    a         = Convert.ToInt32(item.Sort);
                                    b         = Convert.ToInt32(list[index].Sort);
                                    c         = a;
                                    a         = b;
                                    b         = c;
                                    item.Sort = a;
                                    CmsColumnDb.Update(item);
                                    var nitem = list[index];
                                    nitem.Sort = b;
                                    CmsColumnDb.Update(nitem);
                                    break;
                                }
                                else
                                {
                                    a         = Convert.ToInt32(item.Sort);
                                    b         = Convert.ToInt32(list[index - 2].Sort);
                                    c         = a;
                                    a         = b;
                                    b         = c;
                                    item.Sort = a;
                                    CmsColumnDb.Update(item);
                                    var nitem = list[index - 2];
                                    nitem.Sort = b;
                                    CmsColumnDb.Update(nitem);
                                    break;
                                }
                            }
                        }
                    }
                }
                res.statusCode = (int)ApiEnum.Status;
            }
            catch (Exception ex)
            {
                res.message = ApiEnum.Error.GetEnumText() + ex.Message;
            }
            return(await Task.Run(() => res));
        }