Exemplo n.º 1
0
        private async Task UpdatePurchaseOrderAsync(CreateOrUpdatePurchaseOrderInput input)
        {
            List <PurchaseOrederDeListDto> orderList = input.OrderDetails;                                            //订单列表
            var order = await _purchaseOrderRepository.SingleAsync(x => x.Id == input.purchaseOrderEditDto.Id.Value); //订单抬头

            double sum = 0;

            for (int i = 0; i < orderList.Count(); i++)
            {
                var etail = orderList[i];
                sum = sum + etail.UnitPrice;
            }
            order.CreationTime = DateTime.Now;
            order.SupplierId   = input.purchaseOrderEditDto.SupplierId;
            order.Price        = sum;
            await _purchaseOrderRepository.UpdateAsync(order);

            //先删除订单的详细表,在修改订单详细表
            var orderDetails = _purchaseOrderDetailRepository.GetAll().Where(x => x.OrderCode.Equals(order.Code)).ToList();

            for (int i = 0; i < orderDetails.Count(); i++)
            {
                var orderDetail = orderDetails[i];
                await _purchaseOrderDetailRepository.DeleteAsync(orderDetail);
            }

            for (int i = 0; i < orderList.Count(); i++)
            {
                var detail = orderList[i];

                detail.OrderCode = input.purchaseOrderEditDto.Code;
                var dd = detail.MapTo <PurchaseOrderDetail>();
                await _purchaseOrderDetailRepository.InsertAsync(dd);
            }
        }
Exemplo n.º 2
0
 public async Task CreateOrUpdateOrderAsync(CreateOrUpdatePurchaseOrderInput input)
 {
     if (input.purchaseOrderEditDto.Id.HasValue)
     {
         await UpdatePurchaseOrderAsync(input);
     }
     else
     {
         await CreatePurchaseOrderAsync(input);
     }
 }
Exemplo n.º 3
0
        private async Task CreatePurchaseOrderAsync(CreateOrUpdatePurchaseOrderInput input)
        {
            //所有信息中的物料信息
            List <PurchaseOrederDeListDto> orderList = input.OrderDetails;

            var temp = false;

            for (int i = 0; i < orderList.Count(); i++)
            {
                if (orderList[i].Count == 0 || "".Equals(orderList[i].Count))
                {
                    temp = true;
                }
            }
            if (temp)
            {
                throw new UserFriendlyException($"物料采购数量不能为0!");
            }
            else
            {
                //保存订单
                double sum = 0;
                for (int i = 0; i < orderList.Count(); i++)
                {
                    var orderDetail = orderList[i];
                    sum = sum + orderDetail.TotalPrice;
                }
                var order = input.purchaseOrderEditDto.MapTo <PurchaseOrder>();
                order.Code         = "DD-" + DateTime.Now.ToString("yyyyMMdd-hhmmss");
                order.Price        = sum;
                order.IsInbound    = false;
                order.CreationTime = DateTime.Now;
                var Code = order.Code;
                await _purchaseOrderRepository.InsertAsync(order);

                //保存订单详情
                for (int i = 0; i < orderList.Count(); i++)
                {
                    var detail = orderList[i];
                    detail.OrderCode = Code;

                    var dd = detail.MapTo <PurchaseOrderDetail>();

                    //保存订单详情
                    await _purchaseOrderDetailRepository.InsertAsync(dd);
                }
            }
        }