示例#1
0
        public async Task <ActionResult> CreatePurchaseOrder(CreatePurchaseOrderDto dto)
        {
            await _purchaseOderService.CreateAsync(dto);

            foreach (var items in dto.PurchaseOrderDetails)
            {
                var check = await _stockService.CheckIfExist(items.ProductId);

                if (check != null)
                {
                    check.TotalPieces += items.TotalPieces;
                    check.Amount      += items.Amount;
                    await _stockService.UpdateAsync(check);
                }
                else
                {
                    var stocks = new StockDto
                    {
                        ProductId     = items.ProductId,
                        TotalPieces   = items.TotalPieces,
                        PricePerPiece = items.PricePerPiece,
                        Amount        = items.Amount
                    };

                    await _stockService.CreateAsync(stocks);
                }
            }

            return(Ok(dto));
        }
示例#2
0
        public CreatePurchaseOrderDtoValidatorFixture()
        {
            Validator = new CreatePurchaseOrderDtoValidator();

            Model = new CreatePurchaseOrderDto
            {
                SupplierId  = 1,
                Description = "Purchase order description"
            };
        }
        public async Task <GetPurchaseOrderDto> CreatePurchaseOrderAsync(CreatePurchaseOrderDto purchaseOrderDto)
        {
            var currentUser   = Helper.GetCurrentUser(_userAccessor);
            var purchaseOrder = _mapper.Map <PurchaseOrder>(purchaseOrderDto);
            var currentDate   = DateTime.Now;

            purchaseOrder.OrderNumber    = $"PO_{currentDate:yyyyMMdd}_{currentDate.Ticks:x}";
            purchaseOrder.RequestedBy    = currentUser.UserId;
            purchaseOrder.RequestedDate  = currentDate;
            purchaseOrder.ApprovalStatus = Status.Pending;

            purchaseOrder = await _purchaseOrder.AddPurchaseOrderAsync(purchaseOrder);

            return(_mapper.Map <GetPurchaseOrderDto>(purchaseOrder));
        }
示例#4
0
        public async Task <IActionResult> CreatePurchaseOrder(CreatePurchaseOrderDto purchaseOrderDto, ApiVersion version)
        {
            var result = await _repository.CreatePurchaseOrderAsync(purchaseOrderDto);

            return(CreatedAtRoute(new { id = result.Id, version = $"{version}" }, result));
        }