Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        /// <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));
        }
Exemplo n.º 3
0
        /// <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));
        }
Exemplo n.º 4
0
        /// <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));
        }
Exemplo n.º 5
0
        /// <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));
        }
Exemplo n.º 6
0
        /// <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));
        }
Exemplo n.º 7
0
        /// <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));
        }
Exemplo n.º 8
0
        /// <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));
        }
Exemplo n.º 9
0
        /// <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));
        }
Exemplo n.º 10
0
        /// <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));
        }