Esempio n. 1
0
        /// <summary>
        /// 添加一条数据
        /// </summary>
        /// <returns></returns>
        public async Task <ApiResult <string> > AddAsync(ErpPurchase parm)
        {
            var res = new ApiResult <string>()
            {
                data = "1", statusCode = 200
            };

            try
            {
                //查询今天又多少条采购单,并生成订单号
                var dayCount = ErpPurchaseDb.Count(m => SqlFunc.DateIsSame(m.AddDate, DateTime.Now));
                parm.Guid   = Guid.NewGuid().ToString();
                parm.Number = Utils.PurchaseNumber(1001 + dayCount);

                //分析商品并保存
                var list = new List <ErpPurchaseGoods>();
                if (!string.IsNullOrEmpty(parm.GoodsList))
                {
                    list = JsonConvert.DeserializeObject <List <ErpPurchaseGoods> > (parm.GoodsList);
                    for (int i = 0; i < list.Count; i++)
                    {
                        var item = list[i];
                        if (string.IsNullOrEmpty(item.Number) && string.IsNullOrEmpty(item.Name))
                        {
                            list.Remove(item);
                        }
                        else
                        {
                            item.Guid         = Guid.NewGuid().ToString();
                            item.PurchaseGuid = parm.Guid;
                            parm.Money       += item.Quantity * item.Price;
                        }
                    }
                }
                Db.Ado.BeginTran();
                Db.Insertable(list).ExecuteCommand();
                Db.Insertable(parm).ExecuteCommand();
                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));
        }
Esempio n. 2
0
        /// <summary>
        /// 修改一条数据
        /// </summary>
        /// <returns></returns>
        public async Task <ApiResult <string> > ModifyAsync(ErpPurchase parm)
        {
            var res = new ApiResult <string>()
            {
                data = "1", statusCode = 200
            };

            try
            {
                //分析商品并保存
                var list = new List <ErpPurchaseGoods>();
                if (!string.IsNullOrEmpty(parm.GoodsList))
                {
                    list = JsonConvert.DeserializeObject <List <ErpPurchaseGoods> >(parm.GoodsList);
                    for (int i = 0; i < list.Count; i++)
                    {
                        var item = list[i];
                        if (string.IsNullOrEmpty(item.Number) && string.IsNullOrEmpty(item.Name))
                        {
                            list.Remove(item);
                        }
                        else
                        {
                            item.Guid         = Guid.NewGuid().ToString();
                            item.PurchaseGuid = parm.Guid;
                            parm.Money       += item.Quantity * item.Price;
                        }
                    }
                }
                Db.Ado.BeginTran();
                //先删除以保存的商品
                Db.Deleteable <ErpPurchaseGoods>().Where(m => m.PurchaseGuid == parm.Guid).ExecuteCommand();
                //保存新的商品
                Db.Insertable(list).ExecuteCommand();
                //修改新的采购单
                Db.Updateable(parm).ExecuteCommand();
                Db.Ado.CommitTran();
            }
            catch (Exception ex)
            {
                res.statusCode = (int)ApiEnum.Error;
                res.message    = ApiEnum.Error.GetEnumText() + ex.Message;
            }
            return(await Task.Run(() => res));
        }
Esempio n. 3
0
 public async Task <ApiResult <string> > EditPurchase(ErpPurchase parm)
 {
     return(await _purchaseService.ModifyAsync(parm));
 }
Esempio n. 4
0
 public async Task <ApiResult <string> > AddPurchase(ErpPurchase parm)
 {
     return(await _purchaseService.AddAsync(parm));
 }