/// <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); }
/// <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)); }