Ejemplo n.º 1
0
        public async Task <IActionResult> UpdateProject([FromBody] Models.DTO.Project upProj, long id)
        {
            if (ModelState.IsValid)
            {
                var project = await DbContext.Projects.FirstOrDefaultAsync(x => x.Id == id);

                if (project == null)
                {
                    return(StatusCode(StatusCodes.Status404NotFound, string.Format("Project with ID = {0} not found", 0)));
                }
                var version = await DbContext.Versions.FirstOrDefaultAsync(x => x.Name == upProj.Version);

                if (version == null)
                {
                    version = new Models.Version
                    {
                        Name = upProj.Version
                    };
                    await DbContext.Versions.AddAsync(version);

                    await DbContext.SaveChangesAsync();
                }
                project.Name    = upProj.Name;
                project.Version = version;
                DbContext.Projects.Update(project);
                await DbContext.SaveChangesAsync();

                return(Ok(project));
            }
            return(BadRequest(ModelState));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> AddProject([FromBody] Models.DTO.Project newProject)
        {
            if (ModelState.IsValid)
            {
                var version = await DbContext.Versions.FirstOrDefaultAsync(x => x.Name == newProject.Version);

                if (version == null)
                {
                    version = new Models.Version {
                        Name = newProject.Version
                    };
                    await DbContext.Versions.AddAsync(version);

                    await DbContext.SaveChangesAsync();
                }
                var project = new Models.Project
                {
                    Name    = newProject.Name,
                    Version = version
                };
                await DbContext.Projects.AddAsync(project);

                await DbContext.SaveChangesAsync();

                return(Ok(project));
            }
            return(BadRequest(ModelState));
        }