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 EditHousehold(int id, HouseholdViewModel householdData) { var currentHousehold = DbContext.Households.FirstOrDefault( house => house.Id == id); var userId = User.Identity.GetUserId(); if (currentHousehold == null) { return(NotFound()); } if (currentHousehold.CreatedById == userId) { currentHousehold.Name = householdData.Name; currentHousehold.Description = householdData.Description; currentHousehold.DateUpdated = DateTime.Today; DbContext.SaveChanges(); return(Ok(currentHousehold)); } else { return(NotFound()); } }
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 ActionResult UpdateHousehold(int Id) //Launches 2nd page of OD call log { Client client = db.Clients.Find(Id); if (client == null) { RedirectToAction("Index"); } HouseholdViewModel houseHold = new HouseholdViewModel() { ClientId = Id, // ReSharper disable once PossibleNullReferenceException LastName = client.LastName, FirstName = client.FirstName, Active = client.Active, Age = AppRoutines.GetAge(client.DateOfBirth, DateTime.Today), StreetNumber = client.StreetNumber, StreetName = client.StreetName, City = client.City, Zip = client.Zip, Phone = client.Phone, Notes = client.Notes, FamilyMembers = AppRoutines.GetFamilyMembers(client.Id) }; var newMember = new FamilyMember(); houseHold.FamilyMembers.Add(newMember); // Blank line for adding new member. newMember.ClientId = -1; newMember.Delete = false; return(View(houseHold)); // Launches page UpdateHousehold.cshtml }
static List <HouseholdViewModel> SearchHouseholds(string searchString) { if (searchString == null) { return(null); } var householdView = new List <HouseholdViewModel>(); using (var db = new BHelpContext()) { List <Client> clientList; if (searchString.Any(char.IsDigit)) { clientList = db.Clients.Where(c => c.Active && c.Phone.Contains(searchString)) .OrderBy(c => c.LastName).ToList(); } else { clientList = db.Clients.Where(c => c.Active && c.LastName.Contains(searchString)) .OrderBy(c => c.LastName).ToList(); } foreach (var client in clientList) { var household = new HouseholdViewModel() { ClientId = client.Id, FirstName = client.FirstName, LastName = client.LastName, StreetNumber = client.StreetNumber, StreetName = client.StreetName, StreetToolTip = client.StreetName.Replace(" ", "\u00a0"), City = client.City, CityToolTip = client.City.Replace(" ", "\u00a0"), Zip = client.Zip, Phone = client.Phone, PhoneToolTip = client.Phone.Replace(" ", "\u00a0"), Notes = client.Notes, // (full length on mouseover) \u00a0 is the Unicode character for NO-BREAK-SPACE. NotesToolTip = client.Notes.Replace(" ", "\u00a0") }; var s = household.StreetName; // For display, abbreviate to 10 characters: s = s.Length <= 10 ? s : s.Substring(0, 10) + "..."; household.StreetName = s; s = household.City; // For display, abbreviate to 11 characters: s = s.Length <= 11 ? s : s.Substring(0, 11) + "..."; household.City = s; s = household.Phone; // For display, abbreviate to 12 characters: s = s.Length <= 12 ? s : s.Substring(0, 12) + "..."; household.Phone = s; s = household.Notes; // For display, abbreviate to 12 characters: s = s.Length <= 12 ? s : s.Substring(0, 12) + "..."; household.Notes = s; householdView.Add(household); } } return(householdView); }
// GET: Household public ActionResult Index(string callLogDate, string searchString, int?selectedId) { if (callLogDate.IsNullOrEmpty()) { DateTime cdt = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day + 1); var cdts = cdt.ToString("MM/dd/yyyy"); Session["CallLogDate"] = cdts; } else { Session["CallLogDate"] = callLogDate; } if (searchString != null) { TempData["SearchResults"] = SearchHouseholds(searchString); } var userIid = System.Web.HttpContext.Current.User.Identity.GetUserId(); if (userIid != null) { var user = db.Users.Find(userIid); Session["CurrentUserFullName"] = user.FullName; } ; HouseholdViewModel houseHoldView = new HouseholdViewModel(); return(View(houseHoldView)); }
public ActionResult CreateJoinHousehold(Guid?code) { //If Current USer accessig this page already has a Household, redirect to their dashboard if (User.Identity.IsInHousehold()) { return(RedirectToAction("Index", "Home")); } HouseholdViewModel vm = new HouseholdViewModel(); //Determine User has been sent an invite and set property values if (code != null && ValidateInvite()) { Invite result = db.Invites.FirstOrDefault(i => i.HHToken == code); vm.IsJoinHH = true; vm.HHId = result.HouseholdId; vm.HHName = result.Household.Name; //Set USED flag to true for this invite result.HasBeenUsed = true; ApplicationUser user = db.Users.Find(User.Identity.GetUserId()); user.InviteEmail = result.Email; db.SaveChanges(); } return(View(vm)); }
/// <summary> /// Sends RSVP status replies for the guests in a household. Returns whether we were able to save it or not. /// </summary> public bool UpdateRsvpStatusForHousehold(HouseholdViewModel householdViewModel) { foreach (var guestViewModel in householdViewModel.Guests) { var guest = _guestsContext.Guest.FirstOrDefault(g => g.Id == guestViewModel.Id); if (guest == null) { return(false); } // If the guest saved in the DB already has a reply status that is not 'PendingReply', then this guest has already been replied for. // This should never be the case in theory (the button to submit should be hidden if guests have already replied), but in case it's some how hacked // into visibility, then we can catch the fact here anyway. if (guest.RsvpStatusId != EnumUtils.PendingReplyId) { return(false); } guest.RsvpStatusId = GetRsvpStatusId(guestViewModel.RsvpReply); guest.SongRequest = guestViewModel.SongRequest; guest.DietaryRequirements = guestViewModel.DietaryRequirements; guest.HotelRequirementId = (int)guestViewModel.HotelRequirement; guest.RequiresTransport = guestViewModel.RequiresTransport; } return(_guestsContext.SaveChanges() > 0); }
public ActionResult CreateJoinHouseHold(Guid?code) { //If the current user accessing this page already has a HouseholdId, send them to their dashboard if (User.Identity.IsInHousehold()) { return(RedirectToAction("Details", "Households", new { id = User.Identity.GetHouseholdId() })); } HouseholdViewModel vm = new HouseholdViewModel(); if (code != null) { string msg = ""; if (ValidInvite(code, ref msg)) { Invite result = db.Invites.FirstOrDefault(i => i.HHToken == code); vm.IsJoinHouse = true; vm.HHId = result.HouseholdId; vm.HHName = result.Household.Name; //Set USED flag to true for this invite result.HasBeenUsed = true; ApplicationUser user = db.Users.Find(User.Identity.GetUserId()); user.InviteEmail = result.Email; db.SaveChanges(); } else { return(RedirectToAction("InviteError", new { errMsg = msg })); } } return(View(vm)); }
public async Task <ActionResult> Create(HouseholdViewModel vm) { //Create new household Household household = new Household(); //check if name is unique if (househldHelper.IsUnique(household.Name) == true) { household.Name = vm.HouseholdName; } else { TempData["NameNotUnique"] = "The Household name you entered is not unique. Please enter a different name."; return(RedirectToAction("Create")); //bring create household view back up... } // add household to database fdb.Households.Add(household); fdb.SaveChanges(); //Add the current user as the first member of the new household var user = adb.Users.Find(User.Identity.GetUserId()); household.Users.Add(user); fdb.SaveChanges(); await ControllerContext.HttpContext.RefreshAuthentication(user); //refresh thier cookies and direct them to their dashboard return(RedirectToAction("Index", "Home")); }
public ActionResult Edit(HouseholdViewModel householdViewModel) { if (ModelState.IsValid) { Household householdData = db.Households.Find(householdViewModel.Id); householdData.Name = householdViewModel.Name; householdData.IncomeAnnual = householdViewModel.IncomeAnnual; var membersOfHousehold = GetAllMemberIdsForHousehold(householdData.Id); if (null == householdViewModel.SelectedMembers) { RemoveAllMembersFromHousehold(householdData.Id); } else { foreach (var userId in membersOfHousehold) { if (!householdViewModel.SelectedMembers.Contains(userId)) { RemoveHouseholdMember(userId, householdData.Id); } } foreach (var userId in householdViewModel.SelectedMembers) { if (!IsMemberOfHousehold(userId, householdData.Id)) { InviteUserToJoinHousehold(userId, householdData.Id); } } } db.SaveChanges(); return(RedirectToAction(ActionName.INDEX)); } return(View(householdViewModel)); }
public ActionResult Index(HouseholdViewModel household, string deleteId) { // Check Client data var client = db.Clients.Find(household.ClientId); if (client != null) { client.StreetNumber = household.StreetNumber; client.StreetName = household.StreetName; client.City = household.City; client.Zip = household.Zip; client.Notes = household.Notes; client.Phone = household.Phone; foreach (var member in household.FamilyMembers) { if (member.Id == 0 && member.ClientId == 0) // is Head of Household { client.FirstName = member.FirstName; client.LastName = member.LastName; client.DateOfBirth = DateTime.Today.AddYears(-member.Age); } else if (member.Id == 0 && member.ClientId < 0) //Adding new member (ClientId = -1) { var familyMember = new FamilyMember(); if (member.FirstName != null || member.LastName != null) { familyMember.ClientId = client.Id; familyMember.Active = true; familyMember.Delete = false; familyMember.FirstName = member.FirstName; familyMember.LastName = member.LastName; familyMember.DateOfBirth = DateTime.Today.AddYears(-member.Age); db.FamilyMembers.Add(familyMember); } } else { var familyMember = db.FamilyMembers.Find(member.Id); if (familyMember != null) { familyMember.FirstName = member.FirstName; familyMember.LastName = member.LastName; familyMember.DateOfBirth = DateTime.Today.AddYears(-member.Age); if (member.Delete == true) { db.FamilyMembers.Remove(familyMember); } } } } db.SaveChanges(); return(RedirectToAction("UpdateHousehold", "OD", new { Id = client.Id })); } return(null); }
// GET: Households public ActionResult Dashboard() { var userId = User.Identity.GetUserId(); var houseId = db.Users.AsNoTracking().FirstOrDefault(u => u.Id == userId).HouseholdId; var houseVM = new HouseholdViewModel(); houseVM.Household = db.Households.Find(houseId); ViewBag.AccountTypeId = new SelectList(db.AccountTypes.ToList(), "Id", "Type"); return(View(houseVM)); }
public ActionResult Create() { var model = new HouseholdViewModel() { Image = (byte[])this.TempData["image"] ?? this.imageService.LoadHouseholdDefaultImage(), ImageUploadMessage = (string)this.TempData[CommonConstants.UploadMessage] }; return(View(model)); }
public ActionResult Index() { var householdId = this.webHelper.GetHouseholdIdFromCookie(); var household = this.householdService.GetHousehold(householdId); var model = new HouseholdViewModel(); mappingService.Map <HouseholdManager.Models.Household, HouseholdViewModel>(household, model); return(View(model)); }
public ActionResult Create(HouseholdViewModel model) { if (!ModelState.IsValid) { return(Redirect("/Error/BadRequest")); } this.householdService.CreateHousehold(model.Name, model.Address, model.Image, this.webHelper.GetUserId()); return(RedirectToAction("SetCurrentHousehold", new { name = model.Name })); }
public async Task <ActionResult> JoinHousehold(HouseholdViewModel vm) { Household hh = db.Households.Find(vm.HHId); var user = db.Users.Find(User.Identity.GetUserId()); hh.Members.Add(user); db.SaveChanges(); await ControllerContext.HttpContext.RefreshAuthentication(user); return(RedirectToAction("Index", "Home")); }
public async Task <ActionResult> JoinHousehold(HouseholdViewModel vm) //action user clicks when they have been sent an invite link { Household household = db.Households.Find(vm.HouseholdId); var user = db.Users.Find(User.Identity.GetUserId()); household.Members.Add(user); db.SaveChanges(); await ControllerContext.HttpContext.RefreshAuthentication(user); return(RedirectToAction("Index", "Home")); }
public ActionResult JoinHousehold(HouseholdViewModel vm) { Household hh = new Household(); hh.Name = vm.HHName; vm.Member = db.Users.Find(User.Identity.GetUserId()); db.Households.Add(hh); db.SaveChanges(); return(RedirectToAction("Index", "Households")); }
public IActionResult SendRsvpReply(HouseholdViewModel householdViewModel) { try { _guestsRepository.UpdateRsvpStatusForHousehold(householdViewModel); return(View(householdViewModel)); } catch (Exception ex) { // TODO DS log ex return(RedirectToAction("Index")); } }
public async Task <ActionResult> JoinHousehold(HouseholdViewModel vm) { ApplicationDbContext userDB = new ApplicationDbContext(); Household hh = db.Households.Find(vm.HHId); var user = userDB.Users.Find(User.Identity.GetUserId()); hh.Members.Add(user); db.SaveChanges(); await ControllerContext.HttpContext.RefreshAuthentication(user); return(RedirectToAction("Details", "Home", new { id = User.Identity.GetHouseholdId() })); }
public ActionResult CreateJoinHousehold(Guid?code) //creating household that a person joined { //If the current user accessing this page already has a HouseholdId, send them to their dashboard if (User.Identity.IsInHousehold()) { return(RedirectToAction("Index", "Home")); } HouseholdViewModel household = new HouseholdViewModel(); //getting info for user without household to create a household //Determine whether the user has been sent an invite and set property values if (code != null) //code sent via email (or some other means) { string msg = ""; if (ValidInvite(code, ref msg)) //validate invitation code (ref = access variable by reference (default is usually value)) { Invite result = db.Invites.FirstOrDefault(i => i.HHToken == code); household.IsJoinHouse = true; household.HouseholdId = result.HouseholdId; household.HouseholdName = result.Household.Name; //Set USED flag to true for this invite result.HasBeenUsed = true; ApplicationUser user = db.Users.Find(User.Identity.GetUserId()); user.InviteEmail = result.Email; db.SaveChanges(); } else { //if there's an error, throw a sweet alert to tell the user and redirect them to the home index switch (msg) { case "invalid": TempData["InvalidInvite"] = "Invalid household join attempt. You will be redirected."; break; case "expired": TempData["ExpiredInvite"] = "This invite has expired. Try creating your own."; break; default: break; } return(RedirectToAction("Index", "Home")); } } return(View(household)); }
public ActionResult Details(int?id) { HouseholdViewModel model = new HouseholdViewModel(); if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } model.household = db.Households.Find(id); if (model.household == null) { return(HttpNotFound()); } return(View(model)); }
public HouseholdPage() { InitializeComponent(); BindingContext = viewModel = new HouseholdViewModel(); if (Device.RuntimePlatform == Device.UWP) { // windows RowDefition_Chart1.Height = 250; RowDefition_Chart2.Height = 250; } else if (Device.RuntimePlatform == Device.Android) { //android RowDefition_Chart1.Height = 200; RowDefition_Chart2.Height = 200; } }
public IHttpActionResult HouseById(int id) { var userId = User.Identity.GetUserId(); var myHouseHold = DbContext.Households.FirstOrDefault(p => p.Id == id); if (myHouseHold == null) { return(NotFound()); } var viewModel = new HouseholdViewModel(myHouseHold) { IsOwner = myHouseHold.OwnerOfHouse.Id == userId }; return(Ok(viewModel)); }
public ActionResult CreateJoinHousehold(Guid?code) { if (code != null) { bool var = db.Invites.Any(i => i.HHToken == code); Invite result = db.Invites.FirstOrDefault(i => i.HHToken == code); } HouseholdViewModel model = new HouseholdViewModel(); if (User.Identity.IsInHousehold()) { return(RedirectToAction("Index")); } return(View()); }
public IActionResult Create(HouseholdViewModel model) { var response = ResponseModelFactory.CreateInstance; using (_dbContext) { var entity = new HaikanRefuseClassification.Api.Entities.SystemUser(); entity.SystemUserUuid = Guid.NewGuid(); entity.RealName = model.RealName; entity.Phone = model.Phone; entity.AddTime = DateTime.Now.ToString("yyyy-MM-dd"); entity.SystemRoleUuid = "C6BDB5B3-990B-4943-B2A1-1492044E38B8"; entity.IsDeleted = 0; _dbContext.SystemUser.Add(entity); _dbContext.SaveChanges(); response.SetSuccess(); return(Ok(response)); } }
// GET: Households/Details/5 public ActionResult Details(int?id) { //CHECK THIS - that household IDs never equal to 0 due to database scheme if (id == 0 || id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var hh = db.Households.Find(id); HouseholdViewModel hhvm = new HouseholdViewModel { HHObj = hh, HHId = (int)id, HHName = hh.Name, IsJoinHouse = false, HHInvites = db.Invites.Where(i => i.HouseholdId == id && i.HasBeenUsed == false).ToList() }; return(View(hhvm)); }
public async Task <ActionResult> CreateJoinHousehold(HouseholdViewModel hvm) { var user = db.Users.Find(User.Identity.GetUserId()); if (hvm.Code == null) // create household { if (hvm.Name == null) { return(View()); } Household h = new Household { Name = hvm.Name }; db.Households.Add(h); db.SaveChanges(); h.AddCategories(); user.HouseholdId = h.Id; } else // join household { var invite = db.Invitations.FirstOrDefault(m => m.Code == hvm.Code); if (invite != null && user.Email == invite.Email) { user.HouseholdId = invite.HouseholdId; db.Entry(user).Property(p => p.HouseholdId).IsModified = true; } else { ViewBag.Error = "Sorry, The code and email combination does not match. "; return(View()); } } //ApplicationSignInManager SignInManager = HttpContext.GetOwinContext().Get<ApplicationSignInManager>(); //HttpContext.GetOwinContext().Authentication.SignOut(); //await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false); await ControllerContext.HttpContext.RefreshAuthentication(user); db.SaveChanges(); return(RedirectToAction("Dashboard")); }
public ActionResult CreateJoinHousehold(Guid?code) { //If the current user accessing this page already has a HouseholdId, send them to their dashboard if (User.Identity.IsInHousehold()) { return(RedirectToAction("Details", new { id = User.Identity.GetHouseholdId() })); } HouseholdViewModel vm = new HouseholdViewModel(); //Determine whether the user has been sent an invite and set property values if (code != null) { string msg = ""; if (ValidInvite(code, ref msg)) { Invite result = db.Invites.FirstOrDefault(i => i.HHToken == code); vm.IsJoinHouse = true; vm.HHId = result.HouseholdId; vm.HHName = result.Household.Name; result.HasBeenUsed = true; // FIX THIS - why is this done ApplicationUser user = db.Users.Find(User.Identity.GetUserId()); user.InviteEmail = result.Email; db.SaveChanges(); } else { //FIX THIS - does not exist return(RedirectToAction("InviteError", new { errMsg = msg })); } } else { vm.IsJoinHouse = false; return(View(vm)); } //fix this - needs route param for household details return(RedirectToAction("Details", new { id = vm.HHId })); }