public IHttpActionResult Create(HouseholdBindingModel householdBinding) { if (ModelState is null || !ModelState.IsValid) { return(BadRequest(ModelState)); } var user = UserManager.FindById(User.Identity.GetUserId()); var household = new Household { DateCreated = DateTime.Now, DateUpdated = null, Name = householdBinding.Name, Description = householdBinding.Description, Creator = user, Members = new List <ApplicationUser>() { user // adding the user so they show up in the user list on requests } }; DbContext.Households.Add(household); DbContext.SaveChanges(); var householdView = HouseholdHelpers.MapHouseholdToView(household, user.Id); return(Created(Url.Link( "GetHouseholdById", new { household.Id }), householdView )); }
public IHttpActionResult Create(HouseholdBindingModel formData) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userId = User.Identity.GetUserId(); var houseHold = Mapper.Map <HouseHold>(formData); houseHold.Created = DateTime.Now; houseHold.OwnerId = User.Identity.GetUserId(); DbContext.HouseHolds.Add(houseHold); DbContext.SaveChanges(); var houseHoldUser = new HouseHoldUser(); houseHoldUser.HouseHoldId = houseHold.Id; houseHoldUser.UserId = houseHold.OwnerId; DbContext.HouseHoldUsers.Add(houseHoldUser); DbContext.SaveChanges(); var model = Mapper.Map <HouseHoldViewModel>(houseHold); return(Ok(model)); }
public IHttpActionResult Edit(int?Id, HouseholdBindingModel householdBinding) { // Two strings so that you can edit only one string? or you have to edit both? // Asking here because I can use required tags on the bindingModel if (ModelState is null || !ModelState.IsValid) // ++Q : Turn into filter. { return(BadRequest(ModelState)); } var household = DbContext.Households.FirstOrDefault(p => p.Id == Id); if (household is null) { return(NotFound()); } household.DateUpdated = DateTime.Now; household.Name = householdBinding.Name; household.Description = householdBinding.Description; DbContext.SaveChanges(); var userId = User.Identity.GetUserId(); var householdView = HouseholdHelpers.MapHouseholdToView(household, userId); return(Ok(householdView)); }
public IHttpActionResult Edit(int id, HouseholdBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var household = HouseholdHelper.GetById(id); if (household == null) { return(NotFound()); } var currentUserId = User.Identity.GetUserId(); var IsOwner = household.IsOwner(currentUserId); if (IsOwner) { Mapper.Map(model, household); household.DateUpdated = DateTime.Now; DbContext.SaveChanges(); var viewModel = Mapper.Map <HouseholdViewModel>(household); return(Ok(viewModel)); } else { return(Unauthorized()); } }
public ActionResult Create(HouseholdBindingModel formData) { if (!ModelState.IsValid) { return(View()); } var name = formData.Name; var description = formData.Description; var parameters = new List <KeyValuePair <string, string> >(); parameters.Add(new KeyValuePair <string, string>("name", name)); parameters.Add(new KeyValuePair <string, string>("description", description)); var response = RequestHelper.SendGetRequestAuth(parameters, "Household" , "Create", null, MyToken, CusHttpMethod.Post); if (response.IsSuccessStatusCode) { return(RedirectToAction(nameof(HouseholdController.Index))); } DealBadRequest(response); return(View()); }
public IHttpActionResult CreateHouseHold(HouseholdBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userId = User.Identity.GetUserId(); var owner = DbContext.Users.FirstOrDefault(p => p.Id == userId); var houseHold = new Household() { Name = model.Name, Description = model.Description, DateCreated = DateTime.Now, OwnerOfHouse = owner, OwnerOfHouseId = owner.Id }; DbContext.Households.Add(houseHold); DbContext.SaveChanges(); var url = Url.Link("HouseById", new { Id = houseHold.Id }); var viewModel = new HouseholdViewModel(houseHold) { DateUpdated = null }; return(Created(url, viewModel)); }
public IHttpActionResult Edit(int id, HouseholdBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userId = User.Identity.GetUserId(); var houseHold = DbContext.Households.FirstOrDefault(p => p.Id == id); if (houseHold == null) { return(NotFound()); } if (userId != houseHold.OwnerOfHouseId) { return(BadRequest("Sorry, You are not allowed to edit this household.")); } houseHold.Name = model.Name; houseHold.Description = model.Description; houseHold.DateUpdated = DateTime.Now; DbContext.SaveChanges(); var viewModel = new HouseholdViewModel(houseHold); return(Ok(viewModel)); }
public IHttpActionResult PutHousehold(int id, HouseholdBindingModel bindingModel) { if (bindingModel == null) { return(BadRequest("Provide required parameters")); } var household = hBHelper.GetHouseholdById(id); Mapper.Map(bindingModel, household); household.Updated = DateTime.Now; DbContext.SaveChanges(); var householdModel = Mapper.Map <HouseholdViewModel>(household); return(Ok(householdModel)); }
public ActionResult Edit(int id, HouseholdBindingModel formData) { if (!ModelState.IsValid) { return(View()); } var name = formData.Name; var description = formData.Description; var parameters = new List <KeyValuePair <string, string> >(); parameters.Add(new KeyValuePair <string, string>("name", name)); parameters.Add(new KeyValuePair <string, string>("description", description)); var response = RequestHelper.SendGetRequestAuth(parameters, "Household" , "Edit", id, MyToken, CusHttpMethod.Put); return(GeneralResDealer(response, true, true, true, true)); }
public IHttpActionResult PostHousehold(HouseholdBindingModel bindingModel) { if (bindingModel == null) { return(BadRequest("Provide required parameters")); } var household = Mapper.Map <Household>(bindingModel); var owner = hBHelper.GetCurrentUser(); household.OwnerId = owner.Id; household.Participants.Add(owner); DbContext.Households.Add(household); DbContext.SaveChanges(); var url = Url.Link("DefaultApi", new { Controller = "HouseHold", Id = household.Id }); var householdModel = Mapper.Map <HouseholdViewModel>(household); return(Created(url, householdModel)); }
public IHttpActionResult Update(int id, HouseholdBindingModel formData) { var IsHouseHoldExit = Validation.IsHouseHoldExist(id); if (!IsHouseHoldExit) { ModelState.AddModelError("HouserHoldId", "Sorry, The household does not exist on the database"); return(BadRequest(ModelState)); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userId = User.Identity.GetUserId(); var isUserOnwerOfHouseHold = Validation.IsOwnerOfHouseHold(id, userId); if (!isUserOnwerOfHouseHold) { ModelState.AddModelError("UserId", "Sorry, You are not the owner of this houseHold"); return(BadRequest(ModelState)); } var houseHold = DbContext.HouseHolds.FirstOrDefault(p => p.Id == id); houseHold.Name = formData.Name; houseHold.Description = formData.Description; houseHold.Updated = DateTime.Now; DbContext.SaveChanges(); var model = new HouseHoldViewModel(); model.Id = houseHold.Id; model.Name = houseHold.Name; model.Description = houseHold.Description; return(Ok(model)); }
public IHttpActionResult CreateHousehold(HouseholdBindingModel model) { var userId = User.Identity.GetUserId(); var currentLoggedUser = DbContext.Users.FirstOrDefault( usr => usr.Id == userId); Household newHouseholde; newHouseholde = new Household(); newHouseholde.Name = model.Name; newHouseholde.Description = model.Description; newHouseholde.CreatedById = userId; newHouseholde.DateCreated = DateTime.Today; newHouseholde.HouseholdJoinedMembers.Add(currentLoggedUser); DbContext.Households.Add(newHouseholde); newHouseholde.HouseholdJoinedMembers.Add(currentLoggedUser); DbContext.SaveChanges(); return(Ok()); }
public IHttpActionResult Create(HouseholdBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var appUserId = User.Identity.GetUserId(); var user = UserHelper.GetUserById(appUserId); var household = Mapper.Map <Household>(model); household.OwnerId = appUserId; household.DateCreated = DateTime.Now; DbContext.Households.Add(household); household.JoinedUsers.Add(user); DbContext.SaveChanges(); var viewModel = Mapper.Map <HouseholdViewModel>(household); return(Ok(viewModel)); }