public IHttpActionResult PutProductOwners(int id, ProductOwners productOwners) { var state = db.Owners.FirstOrDefault(x => x.Id == id); if (state != null) { state.OwnerStates = productOwners.OwnerStates; if (productOwners.OwnerStates == OwnerRequestStates.States.Approved) { var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); ProductOwners productOwner = db.Owners.Find(id); ApplicationUser user = db.Users.Find(productOwner.UserId); UserManager.RemoveFromRole(user.Id, "EndUsers"); UserManager.AddToRole(user.Id, "ProductOwners"); } } try { db.SaveChanges(); } catch (DbUpdateConcurrencyException e) { if (!ProductOwnersExists(id)) { return(NotFound()); } else { throw e; } } return(StatusCode(HttpStatusCode.OK)); }
public IHttpActionResult PostProductOwners(ProductOwners productOwners) { var id = User.Identity.GetUserId(); ApplicationUser user = db.Users.Find(id); productOwners.UserId = user.Id; productOwners.CreateDate = DateTime.Today; productOwners.ModifiedDate = DateTime.Today; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Owners.Add(productOwners); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = productOwners.Id }, productOwners)); }