示例#1
0
        public override Task <Project> Patch(string id, Delta <Project> patch)
        {
            var project = AgilifyContext.Projects.Find(id);

            AgilifyContext.Projects.Remove(project);
            AgilifyContext.SaveChanges();

            patch.Patch(project);
            CheckOwner(project);
            AgilifyContext.Projects.Add(project);
            AgilifyContext.SaveChanges();
            return(AgilifyContext.Projects.FindAsync(id));
        }
示例#2
0
        public override async Task <IHttpActionResult> Post(Project item)
        {
            CheckOwner(item);

            var team = AgilifyContext.Teams.Find(item.Team.Id);

            if (team != null)
            {
                AgilifyContext.Entry(team).State = EntityState.Unchanged;
            }
            else
            {
                RepositoryManager.TeamRepository.Add(item.Team);
            }

            item.Team   = null;
            item.TeamId = team.Id;

            var current = AgilifyContext.Projects.Add(item);

            AgilifyContext.SaveChanges();

            return(CreatedAtRoute("Tables", new { id = current.Id }, current));
        }