// POST api/<controller> public HttpResponseMessage Post([FromBody] ViewModels.Component component) { try { component.Id = _componentService.Add(component); return(Request.CreateResponse(HttpStatusCode.OK, component)); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex)); } }
// POST api/<controller> public HttpResponseMessage Post([FromBody] ViewModels.Component component) { try { var matchFound = _packageService.Update(component); return(matchFound ? Request.CreateResponse(HttpStatusCode.OK, component) : Request.CreateResponse(HttpStatusCode.NotFound)); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex)); } }
public int Add(ViewModels.Component component) { using (var db = new PackageContext()) { var newComponent = new Component { Name = component.Name, TeamCityBuildId = component.TeamCityBuildId }; db.Components.Add(newComponent); db.SaveChanges(); return(newComponent.Id); } }
public bool Update(ViewModels.Component component) { using (var db = new PackageContext()) { var existingComponent = db.Components.SingleOrDefault(c => c.Id == component.Id); if (existingComponent == null) { return(false); } existingComponent.Name = component.Name; existingComponent.TeamCityBuildId = component.TeamCityBuildId; db.SaveChanges(); return(true); } }
public bool Update(ViewModels.Component component) { using (var db = new Models.PackageContext()) { if (!db.Components.Any(c => c.Id == component.Id)) { return(false); } var existingPackages = db.Components.Include("Packages").Single(c => c.Id == component.Id).Packages; if (existingPackages != null) { db.Packages.RemoveRange(existingPackages); } else { db.Components.Single(c => c.Id == component.Id).Packages = new List <Models.Package>(); } db.Components.Single(c => c.Id == component.Id) .Packages.AddRange(component.Packages.Select(p => new Models.Package { Name = p.Name, Version = p.Version, TargetFramework = p.TargetFramework, Projects = p.Projects.Select(pr => new Models.Project { Name = pr.Name }).ToList() })); db.SaveChanges(); return(true); } }