예제 #1
0
        public IHttpActionResult Put(int id, HouseHoldBindingModel formData)
        {
            var houseHold = Context
                            .HouseHolds
                            .FirstOrDefault(p => p.Id == id);

            if (houseHold == null)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = User.Identity.GetUserId();

            if (user != houseHold.OwnerId)
            {
                ModelState.AddModelError("Not the Owner", "Only the owner can do changes");
                return(BadRequest(ModelState));
            }

            Mapper.Map(formData, houseHold);
            houseHold.DateUpdated = DateTime.Now;

            Context.SaveChanges();

            var model = Mapper.Map <HouseHoldViewModel>(houseHold);

            return(Ok(model));
        }
예제 #2
0
        public IHttpActionResult Post(HouseHoldBindingModel formData)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var houseHold = Mapper.Map <HouseHold>(formData);

            var userId = User
                         .Identity
                         .GetUserId();

            houseHold.OwnerId = userId;

            var user = Context
                       .Users
                       .FirstOrDefault(p => p.Id == userId);

            houseHold.Members.Add(user);

            Context.HouseHolds.Add(houseHold);
            Context.SaveChanges();

            var model = Mapper.Map <HouseHoldViewModel>(houseHold);

            return(Ok(model));
        }