/// <summary> /// 添加一条记录 /// </summary> /// <param name="parm"></param> /// <returns></returns> public async Task <ApiResult <string> > AddAsync(SysCode parm) { var res = new ApiResult <string>() { statusCode = 200 }; try { //判断是否存在 var isExt = SysCodeDb.IsAny(m => m.Name == parm.Name && m.ParentGuid == parm.ParentGuid); if (isExt) { res.statusCode = (int)ApiEnum.ParameterError; res.message = "该名称已存在~"; } else { parm.Guid = Guid.NewGuid().ToString(); var dbres = SysCodeDb.Insert(parm); if (!dbres) { res.statusCode = (int)ApiEnum.Error; res.message = "插入数据失败~"; } } } catch (Exception ex) { res.statusCode = (int)ApiEnum.Error; res.message = ApiEnum.Error.GetEnumText() + ex.Message; Logger.Default.ProcessError((int)ApiEnum.Error, ex.Message); } return(await Task.Run(() => res)); }
/// <summary> /// 获得一条数据 /// </summary> /// <param name="parm"></param> /// <returns></returns> public async Task <ApiResult <SysCodeDto> > GetByGuidAsync(ByGuidPost parm) { var model = SysCodeDb.GetById(parm.guid); var res = new ApiResult <SysCodeDto> { statusCode = 200, data = model != null ? new SysCodeDto() { guid = model.Guid, parentguid = model.ParentGuid, name = model.Name, type = model.CodeType, sort = model.Sort, status = model.Status } : null }; if (model == null) { var pmdel = Db.Queryable <SysCode>().OrderBy(m => m.Sort, OrderByType.Desc).First(); res.data = new SysCodeDto() { status = true, sort = pmdel?.Sort + 1 ?? 1 }; } return(await Task.Run(() => res)); }
/// <summary> /// 根据菜单,获得当前菜单的所有功能权限 /// </summary> /// <returns></returns> public Task <ApiResult <List <SysCodeDto> > > GetCodeByMenu(string role, string menu) { var res = new ApiResult <List <SysCodeDto> >() { statusCode = (int)ApiEnum.Error }; try { //获得角色权限Guid-List var menuModel = SysMenuDb.GetSingle(m => m.Guid == menu); //查询授权菜单里面的按钮功能 var btnFunModel = SysPermissionsDb.GetSingle(m => m.RoleGuid == role && m.MenuGuid == menu && m.Types == 1); var codeList = new List <SysCodeDto>(); if (!string.IsNullOrEmpty(menuModel.BtnFunJson)) { var list = JsonConvert.DeserializeObject <List <string> >(menuModel.BtnFunJson); codeList = SysCodeDb.GetList(m => list.Contains(m.Guid)).Select(m => new SysCodeDto() { guid = m.Guid, name = m.Name, codeType = m.CodeType, status = string.IsNullOrEmpty(btnFunModel.BtnFunJson)?false:btnFunModel.BtnFunJson.Contains(m.Guid)?true:false }).ToList(); } res.statusCode = (int)ApiEnum.Status; res.data = codeList; } catch (Exception ex) { res.message = ex.Message; Logger.Default.ProcessError((int)ApiEnum.Error, ex.Message); } return(Task.Run(() => res)); }
/// <summary> /// 查询多条记录 /// </summary> /// <returns></returns> public Task <ApiResult <Page <SaleOrderDto> > > GetPagesAsync(PageParm parm, AppSearchParm searchParm) { var res = new ApiResult <Page <SaleOrderDto> >(); try { var query = Db.Queryable <ErpSaleOrder, ErpShops>((eso, es) => new object[] { JoinType.Left, eso.ShopGuid == es.Guid }) .WhereIF(!string.IsNullOrEmpty(parm.guid), (eso, es) => eso.ShopGuid == parm.guid) .WhereIF(parm.types != 0, (eso, es) => eso.ActivityTypes == parm.types) .WhereIF(searchParm.saleType != 0, (eso, es) => eso.SaleType == searchParm.saleType) .WhereIF(searchParm.activityTypes != 0, (eso, es) => eso.ActivityTypes == searchParm.activityTypes) .WhereIF(!string.IsNullOrEmpty(searchParm.btime) && !string.IsNullOrEmpty(searchParm.etime), (eso, es) => eso.AddDate >= Convert.ToDateTime(searchParm.btime) && eso.AddDate <= Convert.ToDateTime(searchParm.etime)) .OrderBy((eso, es) => eso.AddDate, OrderByType.Desc) .Select((eso, es) => new SaleOrderDto() { Number = eso.Number, ShopName = es.ShopName, ActivityTypes = SqlFunc.ToString(eso.ActivityTypes), SaleType = SqlFunc.ToString(eso.SaleType), Counts = eso.Counts, ActivityName = eso.ActivityName, Money = eso.Money, RealMoney = eso.RealMoney, AddDate = eso.AddDate }) .ToPage(parm.page, parm.limit); //循环商品订单,查询订单下面的商品 var orderNumbers = query.Items?.Select(m => m.Number).ToList(); var orderGood = ErpSaleOrderGoodsDb.GetList(m => orderNumbers.Contains(m.OrderNumber)); foreach (var item in query.Items) { var list = new List <SaleOrderGoodsDto>(); foreach (var row in orderGood) { if (item.Number == row.OrderNumber) { var goodSku = ErpGoodsSkuDb.GetById(row.GoodsGuid); list.Add(new SaleOrderGoodsDto() { Counts = row.Counts, Code = goodSku.Code, GoodsName = SysCodeDb.GetById(goodSku.BrankGuid).Name + SysCodeDb.GetById(goodSku.StyleGuid).Name }); } } item.Goods = list; } res.success = true; res.message = "获取成功!"; res.data = query; } catch (Exception ex) { res.message = ApiEnum.Error.GetEnumText() + ex.Message; res.statusCode = (int)ApiEnum.Error; } return(Task.Run(() => res)); }
/// <summary> /// 添加一条记录 /// </summary> /// <param name="parm"></param> /// <returns></returns> public async Task <ApiResult <string> > AddAsync(SysCode parm) { var dbres = SysCodeDb.Insert(parm); var res = new ApiResult <string> { statusCode = dbres ? (int)ApiEnum.Status : (int)ApiEnum.Error, data = dbres.ToString() }; return(await Task.Run(() => res)); }
/// <summary> /// 删除一条记录 /// </summary> /// <returns></returns> public async Task <ApiResult <string> > DeleteAsync(string parm) { var list = Utils.StrToListString(parm); var isok = SysCodeDb.Delete(m => list.Contains(m.Guid)); var res = new ApiResult <string> { statusCode = isok ? (int)ApiEnum.Status : (int)ApiEnum.Error, data = isok ? "1" : "0", message = isok ? "删除成功~" : "删除失败~" }; return(await Task.Run(() => res)); }
/// <summary> /// 修改状态 /// </summary> /// <param name="parm"></param> /// <returns></returns> public async Task <ApiResult <string> > ModifyStatusAsync(SysCode parm) { var isok = SysCodeDb.Update( m => new SysCode() { Status = parm.Status, EditTime = DateTime.Now }, m => m.Guid == parm.Guid); var res = new ApiResult <string> { success = isok, statusCode = isok ? (int)ApiEnum.Status : (int)ApiEnum.Error, data = isok ? "1" : "0" }; return(await Task.Run(() => res)); }
/// <summary> /// 获得一条数据 /// </summary> /// <param name="parm"></param> /// <returns></returns> public async Task <ApiResult <SysCode> > GetByGuidAsync(string parm) { var model = SysCodeDb.GetSingle(m => m.Guid == parm); var res = new ApiResult <SysCode> { statusCode = 200, data = model != null ? model : new SysCode() { } }; if (model == null) { var pmdel = Db.Queryable <SysCode>().OrderBy(m => m.Sort, OrderByType.Desc).First(); res.data = new SysCode() { Status = true, Sort = pmdel?.Sort + 1 ?? 1 }; } return(await Task.Run(() => res)); }
/// <summary> /// 添加一条记录 /// </summary> /// <param name="parm"></param> /// <returns></returns> public async Task <ApiResult <string> > AddAsync(SysCodeDto parm) { var model = new SysCode() { Guid = Guid.NewGuid().ToString(), Name = parm.name, ParentGuid = parm.parentguid, CodeType = parm.type, Sort = parm.sort, Status = parm.status, Summary = parm.summary, AddTime = DateTime.Now, EditTime = DateTime.Now }; var isok = SysCodeDb.Insert(model); var res = new ApiResult <string> { statusCode = isok ? (int)ApiEnum.Status : (int)ApiEnum.Error, data = isok ? "1" : "0" }; return(await Task.Run(() => res)); }
/// <summary> /// 添加一条数据 /// </summary> /// <returns></returns> public async Task <ApiResult <string> > AddAsync(ErpGoodsSku parm) { var res = new ApiResult <string>() { data = "1", statusCode = 200 }; try { //判断是否存在 var isExt = ErpGoodsSkuDb.IsAny(m => m.Code == parm.Code); if (isExt) { res.statusCode = (int)ApiEnum.ParameterError; res.message = "该条形码已存在~"; } else { //构建Code var codeType = SysCodeTypeDb.GetList(m => m.ParentGuid == "8d3158d6-e179-4046-99e9-53eb8c04ddb1").Select(m => m.Guid).ToList(); var codeList = SysCodeDb.GetList(m => codeType.Contains(m.ParentGuid)); parm.Code = codeList.Find(m => m.Guid == parm.BrankGuid).CodeType + codeList.Find(m => m.Guid == parm.YearGuid).CodeType + codeList.Find(m => m.Guid == parm.SeasonGuid).CodeType + codeList.Find(m => m.Guid == parm.StyleGuid).CodeType + codeList.Find(m => m.Guid == parm.BatchGuid).CodeType + codeList.Find(m => m.Guid == parm.SizeGuid).CodeType + parm.SalePrice + "-" + parm.DisPrice; //构建商品标题 var brankName = codeList.Find(m => m.Guid == parm.BrankGuid).Name; var styleName = codeList.Find(m => m.Guid == parm.StyleGuid).Name; var goodsName = brankName + codeList.Find(m => m.Guid == parm.SeasonGuid).Name + styleName; //构建商品信息 var goodsModel = new ErpGoods() { Guid = Guid.NewGuid().ToString(), Title = goodsName, Brank = brankName, Style = styleName }; parm.GoodsGuid = goodsModel.Guid; parm.Guid = Guid.NewGuid().ToString(); //事务保证数据一致性 Db.Ado.BeginTran(); var goodsres = ErpGoodsDb.Insert(goodsModel); if (goodsres) { var dbres = ErpGoodsSkuDb.Insert(parm); if (!dbres) { res.statusCode = (int)ApiEnum.Error; res.message = "插入数据失败~"; } } Db.Ado.CommitTran(); } } catch (Exception ex) { Db.Ado.RollbackTran(); res.statusCode = (int)ApiEnum.Error; res.message = ApiEnum.Error.GetEnumText() + ex.Message; } return(await Task.Run(() => res)); }