public async Task <IHttpActionResult> Patch([FromODataUri] int SupplierID, Delta <Supplier> patch)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var item = await _service.FindAsync(SupplierID);

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

            patch.Patch(item);
            item.ObjectState = ObjectState.Modified;

            try
            {
                await _unitOfWorkAsync.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ItemExists(SupplierID))
                {
                    return(NotFound());
                }
                throw;
            }

            return(Updated(item));
        }
示例#2
0
        public void FindAsync_Tests()
        {
            CancellationToken ct;
            Task <Supplier>   mockTask = new Task <Supplier>(() => new Supplier());

            databaseSet.Setup(x => x.FindAsync(It.IsAny <object[]>())).Returns(mockTask);
            databaseSet.Setup(x => x.FindAsync(ct, It.IsAny <object[]>())).Returns(mockTask);
            suppService.FindAsync(name);
            suppService.FindAsync(ct, name);
            databaseSet.VerifyAll();
        }
        // e.g.  GET odata/Customers(37)
        public async Task <IActionResult> Get([FromODataUri] int key)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var supplier = await _supplierService.FindAsync(key);

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

            return(Ok(supplier));
        }