public async Task<IHttpActionResult> PostDiamondImport(ProductDiamondImport import) { if (!ModelState.IsValid) { return BadRequest(ModelState); } return Created(await CreateAsync(import)); }
public Task<IHttpActionResult> PutDiamondImport([FromODataUri] Guid id, ProductDiamondImport import, ODataQueryOptions<ProductDiamondImport> options) { if (!ModelState.IsValid) { return Task.FromResult((IHttpActionResult)BadRequest(ModelState)); } if (id != import.Id) { return Task.FromResult((IHttpActionResult)BadRequest("The Id of import does not match the id")); } var imports = this.database.DiamondImports.Where(r => r.Id == id); return PutOrPatchODataAsync(imports, options, () => CreateAsync(import), () => UpdateAsync(import)); }
private Task<ProductDiamondImport> UpdatePatchAsync(ProductDiamondImport entity, Delta<ProductDiamondImport> patch) { patch.Patch(entity); return UpdateAsync(entity); }
private Task<ProductDiamondImport> CreatePatchAsync(Delta<ProductDiamondImport> patch) { var entity = new ProductDiamondImport(); patch.Patch(entity); return CreateAsync(entity); }
private async Task<ProductDiamondImport> UpdateAsync(ProductDiamondImport entity) { var now = DateTimeOffset.UtcNow; var user = Thread.CurrentPrincipal.Identity.Name; if (entity.Products != null) { foreach (var product in entity.Products) { product._ImportId = entity.Id; product.Update(this.database, this.database.Diamonds, now, user); } } entity.Update(this.database, this.database.DiamondImports, now, user); await this.database.SaveChangesAsync(); return entity; }
private static void Compare(ProductDiamondImport import, JToken token) { CompareCommon(import, token); Assert.AreEqual(import.Count, (int)token["Count"]); CompareLazyProperty(() => import.Products, token, "Products", Compare); }