Exemple #1
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }
            var remote = _context.funcEditRecord <vm_销售出库, tb_IO>(vm_Main, BeforeNew: before =>
            {
                // 非空字段赋值给跟踪实体
                before.类型 = "销售出库";
                before.往来 = _context.Set <tb_往来表>().FirstOrDefault(p => p.往来号 == vm_Main.往来号)?.简称;
            });

            _context.funcEditDetails <vm_销售出库, vm_销售出库D, tb_IO, tb_IOD>(vm_Main, vm_Details,
                                                                        creatingD =>
            {
                if (string.IsNullOrEmpty(creatingD.子单号))     // 子单号为空的,表示新插入
                {
                    creatingD.子单号 = _context.funcAutoCode("子单号");
                }
                else if (!string.IsNullOrEmpty(creatingD.子单号))     // 子单号不为空,表示从报价单引入,插入
                {
                    var baojiaD = _context.Set <tb_订单表D>().FirstOrDefault(d => d.子单号 == creatingD.子单号);
                    if (baojiaD != null)
                    {
                        baojiaD.状态 = "已出库";
                    }
                }
            },
                                                                        updatingD =>
            {
                var baojiaD = _context.Set <tb_订单表D>().FirstOrDefault(d => d.子单号 == updatingD.子单号);
                if (baojiaD != null)
                {
                    baojiaD.状态 = "已出库";
                }
            },
                                                                        deletingD =>
            {
                var tb_报价D = _context.Set <tb_订单表D>().FirstOrDefault(d => d.子单号 == deletingD.子单号);
                if (tb_报价D != null)
                {
                    tb_报价D.状态 = "";
                }
            });

            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index"));
        }
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }
            var remote = _context.funcEditRecord <vm_销售订单, tb_订单表>(vm_Main, BeforeNew: before =>
            {
                // 非空字段赋值给跟踪实体
                before.业务类型 = "销售订单";
                before.往来   = _context.Set <tb_往来表>().FirstOrDefault(p => p.往来号 == vm_Main.往来号)?.简称;
            });

            _context.funcEditDetails <vm_销售订单, vm_销售订单D, tb_订单表, tb_订单表D>(vm_Main, vm_Details,
                                                                          creatingD =>
            {
                if (string.IsNullOrEmpty(creatingD.子单号)) // 子单号为空的,表示新插入
                {
                    creatingD.子单号 = _context.funcAutoCode("子单号");
                }
                else if (!string.IsNullOrEmpty(creatingD.子单号)) // 子单号不为空,表示从报价单引入,插入
                {
                    var baojiaD = _context.Set <tb_报价表D>().FirstOrDefault(d => d.子单号 == creatingD.子单号);
                    if (baojiaD != null)
                    {
                        baojiaD.状态 = "已下单";
                    }
                }
            },
                                                                          updatingD =>
            {
                var baojiaD = _context.Set <tb_报价表D>().FirstOrDefault(d => d.子单号 == updatingD.子单号);
                if (baojiaD != null)
                {
                    baojiaD.状态 = "已下单";
                }
            },
                                                                          deletingD =>
            {
                var tb_报价D = _context.Set <tb_报价表D>().FirstOrDefault(d => d.子单号 == deletingD.子单号);
                if (tb_报价D != null)
                {
                    tb_报价D.状态 = "";
                }
            });

            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index"));

            //if (!ModelState.IsValid)
            //{
            //    return Page();
            //}

            //_context.funcEditRecord<vm_销售订单, tb_订单表>(vm_销售订单);

            //UpdateOrder<vm_销售订单, vm_销售订单D, tb_订单表, tb_订单表D>(vm_销售订单, vm_销售订单D列表,
            //    DoBeforeRemove: (src, srcD, dst, dstD) =>
            //{
            //    var tb_报价D = _context.Set<tb_报价表D>().FirstOrDefault(d => d.子单号 == dstD.子单号);
            //    if (tb_报价D != null)
            //        tb_报价D.状态 = "";
            //}, DoBeforeAdd: (src, srcD, dst, dstD) =>
            //{
            //    srcD.子单号 = _context.funcAutoCode("子单号");
            //});

            //await _context.SaveChangesAsync();

            //return RedirectToPage("./Index");
        }