// POST: odata/Prijemni_dokument
        public async Task <IHttpActionResult> Post(Prijemni_dokument prijemni_dokument)
        {
            if (!LoginController.CheckAuthorizationForRequest(Request))
            {
                return(Unauthorized());
            }
            if (!ModelState.IsValid || !prijemni_dokument.ValidateOcl())
            {
                return(BadRequest(ModelState));
            }

            db.Prijemni_dokument.Add(prijemni_dokument);
            await db.SaveChangesAsync();

            return(Created(prijemni_dokument));
        }
        // DELETE: odata/Prijemni_dokument(5)
        public async Task <IHttpActionResult> Delete([FromODataUri] int key)
        {
            if (!LoginController.CheckAuthorizationForRequest(Request))
            {
                return(Unauthorized());
            }
            Prijemni_dokument prijemni_dokument = await db.Prijemni_dokument.FindAsync(key);

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

            db.Prijemni_dokument.Remove(prijemni_dokument);
            await db.SaveChangesAsync();

            return(StatusCode(HttpStatusCode.NoContent));
        }
        // PUT: odata/Prijemni_dokument(5)
        public async Task <IHttpActionResult> Put([FromODataUri] int key, Delta <Prijemni_dokument> patch)
        {
            if (!LoginController.CheckAuthorizationForRequest(Request))
            {
                return(Unauthorized());
            }
            Validate(patch.GetEntity());

            if (!ModelState.IsValid || !patch.GetEntity().ValidateOcl())
            {
                return(BadRequest(ModelState));
            }

            Prijemni_dokument prijemni_dokument = await db.Prijemni_dokument.FindAsync(key);

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

            patch.Put(prijemni_dokument);

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!Prijemni_dokumentExists(key))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Updated(prijemni_dokument));
        }