// POST: odata/mdProjects1
        public async Task <IHttpActionResult> Post(mdProject mdProject)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.mdProjects.Add(mdProject);
            await db.SaveChangesAsync();

            return(Created(mdProject));
        }
        // DELETE: odata/mdProjects1(5)
        public async Task <IHttpActionResult> Delete([FromODataUri] int key)
        {
            mdProject mdProject = await db.mdProjects.FindAsync(key);

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

            db.mdProjects.Remove(mdProject);
            await db.SaveChangesAsync();

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #3
0
        public async Task <IHttpActionResult> CreateLink([FromODataUri] int key, string navigationProperty, [FromBody] Uri link)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            mdProject project = await db.mdProjects.FindAsync(key);

            if (project == null)
            {
                return(NotFound());
            }
            string id = GetKeyFromLinkUri <string>(link);

            switch (navigationProperty)
            {
            case "AspNetUser":

                AspNetUser user = await db.AspNetUsers.FindAsync(id);

                if (user == null)
                {
                    return(NotFound());
                }
                project.AspNetUser = user;
                await db.SaveChangesAsync();

                return(StatusCode(HttpStatusCode.NoContent));

            //case "mdInternalStakeHolder":
            //    mdInternalStakeHolder IStatkeHolder = await db.mdInternalStakeHolders.FindAsync(id);
            //    if (IStatkeHolder == null)
            //    {
            //        return NotFound();
            //    }
            //    project.mdInternalStakeHolders.Add(IStatkeHolder);
            //    await db.SaveChangesAsync();
            //    return StatusCode(HttpStatusCode.NoContent);
            default:
                return(NotFound());
            }

            return(NotFound());
        }
Пример #4
0
        public async Task <IHttpActionResult> DeleteLink([FromODataUri] int key, string navigationProperty)
        {
            mdProject project = await db.mdProjects.FindAsync(key);

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

            switch (navigationProperty)
            {
            //case "mdInternalStakeHolder":
            //    project.mdInternalStakeHolders = null;
            //    await db.SaveChangesAsync();
            //    return StatusCode(HttpStatusCode.NoContent);

            default:
                return(NotFound());
            }
        }
        // PUT: odata/mdProjects1(5)
        public async Task <IHttpActionResult> Put([FromODataUri] int key, Delta <mdProject> patch)
        {
            Validate(patch.GetEntity());

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            mdProject mdProject = await db.mdProjects.FindAsync(key);

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

            patch.Put(mdProject);

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

            return(Updated(mdProject));
        }