Пример #1
0
        public Task<IHttpActionResult> PatchContact([FromODataUri] Guid id, [FromODataUri] Guid contactId, Delta<Contact> patch, ODataQueryOptions<Contact> options)
        {
            if (!ModelState.IsValid)
            {
                return Task.FromResult((IHttpActionResult)BadRequest(ModelState));
            }

            var contacts = this.database.Contacts.Where(r => r.Id == contactId && r._SaleHeaderId == id);

            return PutOrPatchODataAsync(contacts, options,
                () =>
                {
                    return patch.CreatePatchAsync(this.database, this.database.Contacts, contact => contact._SaleHeaderId = id);
                },
                async () =>
                {
                    return await patch.UpdatePatchAsync(await contacts.FirstAsync(), this.database, this.database.Contacts);
                });
        }
Пример #2
0
        public Task<IHttpActionResult> PatchTransaction([FromODataUri] Guid id, [FromODataUri] Guid itemId, Delta<SaleLineItem> patch, ODataQueryOptions<SaleLineItem> options)
        {
            if (!ModelState.IsValid)
            {
                return Task.FromResult((IHttpActionResult)BadRequest(ModelState));
            }

            var items = this.database.SaleLineItems.Where(r => r.Id == itemId && r._SaleHeaderId == id);

            return PutOrPatchODataAsync(items, options,
                () =>
                {
                    return patch.CreatePatchAsync(this.database, this.database.SaleLineItems, item => item._SaleHeaderId = id);
                },
                async () =>
                {
                    return await patch.UpdatePatchAsync(await items.FirstAsync(), this.database, this.database.SaleLineItems);
                });
        }