public async Task <PurchaseOrderDto> CreateOrUpdatePurchaseOrderAsync(CreateOrUpdatePurchaseOrderRq rq)
        {
            var validator = new CreateOrUpdatePurchaseOrderRqValidator();
            await validator.ValidateAndThrowAsync(rq);

            PurchaseOrder entity;

            if (rq.Id > 0)
            {
                entity = await _poRepository.GetByIdAsync(rq.Id, true);

                if (entity == null)
                {
                    throw new AppException("Purchase Order Not Found");
                }

                entity = Mapper.Map(rq, entity);
                _poRepository.Update(entity);
            }


            else
            {
                entity = Mapper.Map <PurchaseOrder>(rq);
                _poRepository.Insert(entity);
            }

            await UnitOfWork.SaveChangesAsync();

            var rs = Mapper.Map <PurchaseOrderDto>(entity);

            return(rs);
        }
        public async Task <IActionResult> Index()
        {
            var createPurchaseOrderRq = new CreateOrUpdatePurchaseOrderRq {
                Test = "111"
            };

            await _poService.CreateOrUpdatePurchaseOrderAsync(createPurchaseOrderRq);

            var test = await _poService.ListPurchaseOrdersAsync(null);

            return(View());
        }