예제 #1
0
        public IHttpActionResult PutOwner(string id, Owner owner)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != owner.Id)
            {
                return BadRequest();
            }

            db.Entry(owner).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OwnerExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
예제 #2
0
        public IHttpActionResult PostOwner(Owner owner)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            db.Owners.Add(owner);
            db.SaveChanges();

            return CreatedAtRoute("DefaultApi", new { id = owner.Id }, owner);
        }
예제 #3
0
 public UserReturnModel Create(Owner appUser)
 {
     return new UserReturnModel
     {
         Url = _UrlHelper.Link("GetUserById", new { id = appUser.Id }),
         Id = appUser.Id,
         UserName = appUser.UserName,
         FullName = string.Format("{0} {1}", appUser.FirstName, appUser.LastName),
         Email = appUser.Email,
         EmailConfirmed = appUser.EmailConfirmed,
         Roles = _ownerManager.GetRolesAsync(appUser.Id).Result,
         Claims = _ownerManager.GetClaimsAsync(appUser.Id).Result
     };
 }
예제 #4
0
        public async Task<IHttpActionResult> CreateOwner(CreateOwnerModel createOwnerModel)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var user = new Owner()
            {
                UserName = createOwnerModel.Username,
                Email = createOwnerModel.Email,
                FirstName = createOwnerModel.FirstName,
                LastName = createOwnerModel.LastName,
            };

            IdentityResult addUserResult = await this.UserManager.CreateAsync(user, createOwnerModel.Password);

            if (!addUserResult.Succeeded)
            {
                return GetErrorResult(addUserResult);
            }

            this.UserManager.AddToRole(user.Id, "Owner");

            string code = await this.UserManager.GenerateEmailConfirmationTokenAsync(user.Id);

            var callbackurl = Url.Link("ConfirmEmailRoute", new { userId = user.Id, code = code });
            var confirmatilPageBaseUrl = ConfigurationManager.AppSettings["email-confirmation-url"];
            var uri = string.Format("{0}#{1}/{2}/{3}", confirmatilPageBaseUrl, "emailconfirmation", Uri.EscapeDataString(user.Id), Uri.EscapeDataString(code));

            await this.UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + uri + "\">here</a>");


            Uri locationHeader = new Uri(Url.Link("GetUserById", new { id = user.Id }));


            return Created(locationHeader, TheModelFactory.Create(user));
        }