public ActionResult GetDogsWithOwner() { var dogsWithOwners = context.Dogs.Where(d => d.isReserved) .Include(d => d.Litter) .Include(d => d.Collar) .Include(d => d.Gender) .Include(d => d.Image) .Include(d => d.PotentialOwner) .ToList(); if (dogsWithOwners.Count == 0) { return(View("ReservationList", dogsWithOwners)); } List <Dog> dogsRefinedList = new List <Dog>(); foreach (var dog in dogsWithOwners) { PotentialOwner owner = context.PotentialOwners.FirstOrDefault(p => p.Id == dog.PotentialOwnerId); if (!owner.IsOwner) { dogsRefinedList.Add(dog); } } return(View("ReservationList", dogsRefinedList)); }
//WatchLitter public ActionResult SelectWatchLitter(int?id) { var applicationId = User.Identity.GetUserId(); PotentialOwner potentialOwner = context.PotentialOwners.FirstOrDefault(p => p.ApplicationId == applicationId); potentialOwner.WatchedLitterId = id; context.SaveChanges(); return(RedirectToAction("GetLittersByPreference", "Litters")); }
public void AssignPreferenceId() { var applicationId = User.Identity.GetUserId(); PotentialOwner potentialOwnerFromDb = context.PotentialOwners.FirstOrDefault(p => p.ApplicationId == applicationId); var mostRecentEntry = context.Preferences.Max(p => p.Id); potentialOwnerFromDb.PreferenceId = mostRecentEntry; context.SaveChanges(); }
public async Task SendAppointmentEmail(PotentialOwner potentialOwner) { var breeder = context.Breeders.FirstOrDefault(); var client = new SendGridClient(ApiKey.ApiKey.SendGrid); var from = new EmailAddress(potentialOwner.EmailAddress, potentialOwner.FirstName); var subject = "Appointment Request"; var to = new EmailAddress(breeder.EmailAddress, breeder.FirstName); var plainTextContent = "<strong>" + potentialOwner.FirstName + Email.AppointmentMessage + "</strong>"; var htmlContent = "<strong>" + potentialOwner.FirstName + Email.AppointmentMessage + "</strong>"; var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent); var response = await client.SendEmailAsync(msg); }
public async Task <ActionResult> SaveAppointment(Appointment appointment) { var applicationUserId = User.Identity.GetUserId(); PotentialOwner potentialOwner = context.PotentialOwners.FirstOrDefault(p => p.ApplicationId == applicationUserId); appointment.PotentialOwnerId = potentialOwner.Id; context.Appointments.Add(appointment); context.SaveChanges(); await SendAppointmentEmail(potentialOwner); return(View("AppointmentSentConfirmation")); }
public ActionResult UpgradePotentialOwner(int?id) { PotentialOwner potentialOwner = context.PotentialOwners.FirstOrDefault(p => p.Id == id); potentialOwner.IsOwner = true; ApplicationForm form = context.ApplicationForms.FirstOrDefault(f => f.PotentialOwnerId == potentialOwner.Id); context.ApplicationForms.Remove(form); context.SaveChanges(); return(RedirectToAction("GetDogsWithOwner")); }
public ActionResult NewPreferences() { var applicationId = User.Identity.GetUserId(); PotentialOwner potentialOwnerFromDb = context.PotentialOwners.FirstOrDefault(p => p.ApplicationId == applicationId); if (potentialOwnerFromDb.PreferenceId == null) { Preference preference = new Preference(); return(View("PreferencesForm", preference)); } Preference preferenceFromDb = context.Preferences.FirstOrDefault(p => p.Id == potentialOwnerFromDb.PreferenceId); return(View("PreferencesForm", preferenceFromDb)); }
public ActionResult GetForumPosts() { if (User.IsInRole(RoleName.PotentialOwner)) { var applicationId = User.Identity.GetUserId(); PotentialOwner potentialOwner = context.PotentialOwners.FirstOrDefault(p => p.ApplicationId == applicationId); if (!potentialOwner.IsOwner) { return(View("NonOwner")); } } var gallery = context.ForumMessages.ToList(); return(View("Gallery", gallery)); }
public ActionResult Save(PotentialOwner potentialOwner) { if (potentialOwner.Id == 0) { potentialOwner.ApplicationId = User.Identity.GetUserId(); potentialOwner.EmailAddress = GetUserEmail(); context.PotentialOwners.Add(potentialOwner); } else { PotentialOwner potentialOwnerFromDb = context.PotentialOwners.FirstOrDefault(p => p.Id == potentialOwner.Id); potentialOwnerFromDb.FirstName = potentialOwner.FirstName; potentialOwnerFromDb.LastName = potentialOwner.LastName; } context.SaveChanges(); return(RedirectToAction("Index", "Litters")); }
public async Task ApplicationEmail(int?id, string confirmation) { PotentialOwner potentialOwner = context.PotentialOwners.FirstOrDefault(p => p.Id == id); var breeder = context.Breeders.FirstOrDefault(); var subjectTitle = "Application Denied"; var text = "<strong>" + Email.ApplicationDenied + "</strong>"; if (confirmation == "yes") { subjectTitle = "Application Confirmed"; text = "<strong>" + Email.ApplicationConfirmed + "</strong>"; } var client = new SendGridClient(ApiKey.ApiKey.SendGrid); var from = new EmailAddress(breeder.EmailAddress, breeder.FirstName); var subject = subjectTitle; var to = new EmailAddress(potentialOwner.EmailAddress, potentialOwner.FirstName); var plainTextContent = text; var htmlContent = text; var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent); var response = await client.SendEmailAsync(msg); }
public ActionResult GetLittersByPreference() { var applicationId = User.Identity.GetUserId(); PotentialOwner potentialOwner = context.PotentialOwners.FirstOrDefault(e => e.ApplicationId == applicationId); Preference preferences = context.Preferences.FirstOrDefault(p => p.Id == potentialOwner.PreferenceId); if (preferences == null) { return(RedirectToAction("NewPreferences", "PotentialOwners")); } List <Litter> litters = FilterLitterPreferences(preferences); List <Litter> littersWithNumberOfDogs = new List <Litter>(); foreach (Litter litter in litters) { Litter litterFromDb = context.Litters.FirstOrDefault(l => l.Id == litter.Id); litterFromDb.NumberOfDogs = GetNumberOfDogsFromLitter(litter); littersWithNumberOfDogs.Add(litterFromDb); } return(View("ListByPreference", littersWithNumberOfDogs)); }
public async Task <ActionResult> Reserve(int?id) { var applicationId = User.Identity.GetUserId(); PotentialOwner potentialOwner = context.PotentialOwners.FirstOrDefault(p => p.ApplicationId == applicationId); ApplicationForm form = context.ApplicationForms.FirstOrDefault(f => f.PotentialOwnerId == potentialOwner.Id); if (form == null || form.Confirmed == false) { return(View("NotApproved")); } Dog dog = context.Dogs.FirstOrDefault(d => d.Id == id); dog.isReserved = true; dog.PotentialOwnerId = potentialOwner.Id; context.SaveChanges(); await SendReserveSpotEmail(potentialOwner); return(View("SpotReserved")); }
//PotentialOwner public ActionResult New() { PotentialOwner potentialOwner = new PotentialOwner(); return(View("PotentialOwnersForm", potentialOwner)); }