public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.Attach(tb_收付表).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!tb_收付表Exists(tb_收付表.RecordId))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./Index"));
        }
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var tb_订单表 = await _context.tb_订单表.FindAsync(id);

            if (tb_订单表 != null)
            {
                var tb_订单表D = _context.tb_订单表D.Where(p => p.RecordId == tb_订单表.RecordId);
                foreach (var localD in tb_订单表D)
                {
                    foreach (var remoteD in _context.tb_报价表D.Where(p => p.子单号 == localD.子单号))
                    {
                        remoteD.状态 = "";
                    }
                }
                _context.tb_订单表.Remove(tb_订单表);
                _context.tb_订单表D.RemoveRange(tb_订单表D);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            //var tb_商品 = _context.tb_商品表.FirstOrDefault(m => m.RecordId == vm_地板.RecordId);
            //_mapper.Map<vm_商品_地板, tb_商品表>(vm_地板, tb_商品);
            //Common.ModelHelper.CompleteMainOnEdit(tb_商品);

            _context.funcEditRecord <vm_商品_地板, tb_商品表>(vm_地板);

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!sys商品表Exists(vm_地板.RecordId))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./Index"));
        }
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }
            var remote = _context.tb_报价表.FirstOrDefault(m => m.RecordId == vm_Main.RecordId);

            if (remote == null)
            {
                return(NotFound());
            }

            // 非空字段赋值给跟踪实体
            vm_Main.往来 = _context.tb_往来表.AsNoTracking().FirstOrDefault(p => p.往来号 == vm_Main.往来号)?.简称;
            // 修改时间
            vm_Main.LastEditTime = DateTime.Now;
            vm_Main.LastEditUser = vm_Main.LastEditUser ?? "张凯译";

            _mapper.Map <vm_销售报价, tb_报价表>(vm_Main, remote);

            var remoteDetails = _context.tb_报价表D.Where(d => d.RecordId == remote.RecordId);

            // 数据库中的子单号与新明细中没有相同的,则从数据库中删除
            foreach (var remoteD in remoteDetails)
            {
                if (!vm_Details.Where(p => !string.IsNullOrEmpty(p.子单号)).Any(p => p.子单号 == remoteD.子单号))
                {
                    _context.tb_报价表D.Remove(remoteD);
                }
            }
            // 新明细中的子单号为空,则添加
            foreach (var localD in vm_Details.Where(p => string.IsNullOrEmpty(p.子单号)))
            {
                Common.ModelHelper.CompleteDetailOnUpdate(remote, localD);
                localD.子单号 = _context.funcAutoCode("子单号");
                _context.tb_报价表D.Add(_mapper.Map <tb_报价表D>(localD));
            }
            // 子单号相同,则赋值
            foreach (var localD in vm_Details.Where(p => !string.IsNullOrEmpty(p.子单号)))
            {
                foreach (var remoteD in remoteDetails)
                {
                    if (remoteD.子单号 == localD.子单号)
                    {
                        _mapper.Map <vm_销售报价D, tb_报价表D>(localD, remoteD);
                        break;
                    }
                }
            }

            //_context.tb_报价表D.AddRange(_mapper.Map<IList<tb_报价表D>>(vm_销售报价D列表));
            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index"));
        }
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.tb_收付表.Add(tb_收付表);
            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index"));
        }
Exemple #6
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(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var tb_商品 = await _context.tb_商品表.FindAsync(id);

            if (tb_商品 != null)
            {
                _context.tb_商品表.Remove(tb_商品);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var tb_报价表 = await _context.tb_报价表.FindAsync(id);

            if (tb_报价表 != null)
            {
                var tb_报价表D = _context.tb_报价表D.Where(p => p.RecordId == tb_报价表.RecordId);

                _context.tb_报价表.Remove(tb_报价表);
                _context.tb_报价表D.RemoveRange(tb_报价表D);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
        public async Task <IActionResult> OnPost2Async()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }
            var remote = _context.Set <tb_订单表>().FirstOrDefault(m => m.RecordId == vm_Main.RecordId);

            if (remote == null)
            {
                return(NotFound());
            }

            // 非空字段赋值给跟踪实体
            vm_Main.往来 = _context.Set <tb_往来表>().AsNoTracking().FirstOrDefault(p => p.往来号 == vm_Main.往来号)?.简称;
            _mapper.Map <vm_销售订单, tb_订单表>(vm_Main, remote);

            var remoteDetails = _context.Set <tb_订单表D>().Where(d => d.RecordId == remote.RecordId).ToList();

            // 数据库中的子单号与新明细中没有相同的,则从数据库中删除
            foreach (var remoteD in remoteDetails)
            {
                if (!vm_Details.Any(p => p.子单号 == remoteD.子单号))
                {
                    var tb_报价D = _context.Set <tb_报价表D>().FirstOrDefault(d => d.子单号 == remoteD.子单号);
                    if (tb_报价D != null)
                    {
                        tb_报价D.状态 = "";
                    }
                    _context.Remove <tb_订单表D>(remoteD);
                }
            }

            foreach (var localD in vm_Details)
            {
                Common.ModelHelper.CompleteDetailOnUpdate(remote, localD);

                if (remoteDetails.Any(d => d.子单号 == localD.子单号)) // 子单号相同的,表示修改
                {
                    var remoteD = _context.Set <tb_订单表D>().FirstOrDefault(m => m.子单号 == localD.子单号);
                    _mapper.Map(localD, remoteD);
                }
                if (!remoteDetails.Any(d => d.子单号 == localD.子单号))
                {
                    if (string.IsNullOrEmpty(localD.子单号)) // 子单号为空的,表示新插入
                    {
                        localD.子单号 = _context.funcAutoCode("子单号");
                        _context.Attach <tb_订单表D>(_mapper.Map <tb_订单表D>(localD)).State = EntityState.Added;
                    }
                    else if (!string.IsNullOrEmpty(localD.子单号)) // 子单号不为空,表示从报价单引入,插入
                    {
                        var baojiaD = _context.Set <tb_报价表D>().FirstOrDefault(d => d.子单号 == localD.子单号);
                        if (baojiaD != null)
                        {
                            baojiaD.状态 = "已下单";
                        }
                        _context.Attach <tb_订单表D>(_mapper.Map <tb_订单表D>(localD)).State = EntityState.Added;
                    }
                }
            }

            // 数据库中的子单号与新明细中没有相同的,则从数据库中删除
            // 新明细中的子单号为空,则添加
            // 子单号相同,则赋值

            await _context.SaveChangesAsync();

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