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));
        }