public IActionResult Post([FromBody] StockOutVoucherEditDto dto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            var voucher = StockOutVoucher.Create(dto.DepartmentID, dto.CustomerID, this.User.Identity.Name);

            voucher.UpdateItems(dto.Items);
            _context.StockOutVouchers.Add(voucher);
            _context.SaveChanges();
            return(Ok(GetStockOutVoucherEditDto(voucher.ID)));
        }
        public IActionResult Put(Guid id, [FromBody] StockOutVoucherEditDto dto)
        {
            //_context.Database.Log = (s) => Console.WriteLine(s);
            if (!ModelState.IsValid || id != dto.ID)
            {
                return(BadRequest());
            }

            var voucher = _context.StockOutVouchers.Include(p => p.Items).SingleOrDefault(p => p.ID == id);

            voucher.DepartmentID = dto.DepartmentID;
            voucher.CustomerID   = dto.CustomerID;
            voucher.UpdateItems(dto.Items);
            _context.SaveChanges();
            return(Ok(GetStockOutVoucherEditDto(id)));
        }