public async Task<ActionResult> Retreaters() { var name = HttpContext.User.Identity.Name; var User = await db.Users.FirstOrDefaultAsync( c => c.UserName == name ); var userView = new UserInput( User ); var carriers = await db.Carriers.OrderBy( c => c.Title ).ToListAsync<Carrier>(); var carriersView = new Collection<CarrierView>(); foreach ( var carrier in carriers ) { carriersView.Add( new CarrierView( carrier ) ); } var tshirtsizes = await db.TShirtSizes.OrderBy( c => c.Number ).ToListAsync<TShirtSize>(); var tshirtsizesView = new Collection<TShirtSizeView>(); foreach ( var size in tshirtsizes ) { tshirtsizesView.Add( new TShirtSizeView( size ) ); } var grades = await db.Grades.OrderBy( c => c.Number ).ToListAsync<Grade>(); var gradesView = new Collection<GradeView>(); foreach ( var grade in grades ) { gradesView.Add( new GradeView( grade ) ); } var retreatersPending = await db.Users.CountAsync( c => c.RetreaterPending == true); var retreaters = await db.Users.CountAsync( c => c.Retreater == true); ViewBag.Grades = new SelectList(gradesView, "RID", "Title"); ViewBag.Sizes = new SelectList(tshirtsizesView, "RID", "Size"); ViewBag.Carriers = new SelectList( carriersView, "RID", "Title" ); ViewBag.RetreatersCount = retreatersPending + retreaters; return View( "Retreaters", userView ); }
public async Task RetreaterAppSubmit(UserInput model) { var User = await this.User(); if ( User.Retreater) { Clients.Caller.errorBack("You are already attending this retreat."); } else if(User.Staffer ) { Clients.Caller.errorBack("You are already staffing this retreat."); } else if(User.RetreaterPending) { Clients.Caller.errorBack("You have already submitted your retreat application."); } else if(User.StafferPending) { Clients.Caller.errorBack("You have already submitted your staffer application."); } else { User.RetreaterPending = true; User.Personal.FirstName = model.Personal.FirstName; User.Personal.LastName = model.Personal.LastName; User.Personal.Email = model.Personal.Email; User.Personal.Phone = new Models.Phone(); User.Personal.Phone.Number = model.Personal.Phone.Number; User.Personal.Phone.Carrier = await db.Carriers.FindAsync(model.Personal.Phone.Carrier); User.Personal.Hobbies = model.Personal.Hobbies; User.Personal.TShirtSize = await db.TShirtSizes.FindAsync( model.Personal.TShirtSize ); User.Religion.FavoriteBibleVerse = model.Religion.FavoriteBibleVerse; User.Religion.FavoriteSaint = model.Religion.FavoriteSaint; User.Religion.Reason = model.Religion.Reason; User.Religion.RoleModel = model.Religion.RoleModel; User.Religion.PrayerRequest = model.Religion.PrayerRequest; User.School.College = model.School.College; User.School.Grade = await db.Grades.FindAsync( model.School.Grade ); User.Medical.Allergies = model.Medical.Allergies; User.Medical.HealthConditions = model.Medical.HealthConditions; User.Emergency.FirstName = model.Emergency.FirstName; User.Emergency.LastName = model.Emergency.LastName; User.Emergency.Email = model.Emergency.Email; User.Emergency.Phone = new Models.Phone(); User.Emergency.Phone.Number = model.Emergency.Phone.Number; User.Emergency.Phone.Carrier = await db.Carriers.FindAsync( model.Emergency.Phone.Carrier ); User.Transportation.TransportSelf = model.Transportation.TransportSelf; await db.SaveChangesAsync(); var userView = new UserView(User); Clients.Caller.submitRetreatBack( userView ); } }
public async Task<ViewResult> Index() { var name = HttpContext.User.Identity.Name; var User = await db.Users.FirstOrDefaultAsync( c => c.UserName == name ); if(User!=null) { var userView = new UserInput( User ); return View( userView ); } return View(); }
public async Task<ActionResult> Profile(String Id) { var name = HttpContext.User.Identity.Name; var User = await db.Users.FirstOrDefaultAsync( c => c.UserName == name ); var child = await db.Users.FirstOrDefaultAsync(c => c.Id == Id); if(User.Family.Equals(child.Family)) { var childView = new UserInput( child ); return View( childView ); } else { return HttpNotFound(); } }
public async Task<ActionResult> StaffersDelete( String userID ) { var User = await this.db.Users.FirstOrDefaultAsync( c => c.Id == userID ); if ( User != null ) { User.StafferPending = false; User.Staffer = false; await db.SaveChangesAsync(); var userView = new UserInput( User ); var carriers = await db.Carriers.OrderBy( c => c.Title ).ToListAsync<Carrier>(); var carriersView = new Collection<CarrierView>(); foreach ( var carrier in carriers ) { carriersView.Add( new CarrierView( carrier ) ); } var tshirtsizes = await db.TShirtSizes.OrderBy( c => c.Number ).ToListAsync<TShirtSize>(); var tshirtsizesView = new Collection<TShirtSizeView>(); foreach ( var size in tshirtsizes ) { tshirtsizesView.Add( new TShirtSizeView( size ) ); } var grades = await db.Grades.OrderBy( c => c.Number ).ToListAsync<Grade>(); var gradesView = new Collection<GradeView>(); foreach ( var grade in grades ) { gradesView.Add( new GradeView( grade ) ); } var choices = await db.StaffChoices.OrderBy( c => c.Title ).ToListAsync<StaffChoice>(); var choicesView = new Collection<StaffChoiceView>(); foreach ( var choice in choices ) { choicesView.Add( new StaffChoiceView( choice ) ); } ViewBag.Choices = new SelectList( choicesView, "RID", "Title" ); ViewBag.Grades = new SelectList( gradesView, "RID", "Title" ); ViewBag.Sizes = new SelectList( tshirtsizesView, "RID", "Size" ); ViewBag.Carriers = new SelectList( carriersView, "RID", "Title" ); this.Mail.From = this.From; this.Mail.Subject = "ChattAwakening Staffer Application Deletion"; this.Mail.Body = User.Personal.FirstName + ", <br /><br />We are emailing you to confirm that we have deleted your application. We are sorry that you can no longer attend ChattAwakening. If you would like to re-apply, please go to <a href=\"http://utccatholic.org/Awakening/Staffers\">http://utccatholic.org/Awakening/Staffers</a>. We have saved your information there for convenience. <br /> If you have any questions, comments, and/or concerns, please email us back!<br /> <br /> Thank you, <br />ChattAwakening - UTC Catholic"; this.Mail.IsBodyHtml = true; this.Mail.To.Add( User.Personal.Email ); this.Mail.Bcc.Add( "[email protected], [email protected], [email protected]" ); client.Credentials = Credentials; client.Send( this.Mail ); return View( "Staffers", userView ); } else { return HttpNotFound(); } }
public async Task<ActionResult> StaffersEdit( UserInput model ) { var carriers = await db.Carriers.OrderBy( c => c.Title ).ToListAsync<Carrier>(); var carriersView = new Collection<CarrierView>(); foreach ( var carrier in carriers ) { carriersView.Add( new CarrierView( carrier ) ); } var tshirtsizes = await db.TShirtSizes.OrderBy( c => c.Number ).ToListAsync<TShirtSize>(); var tshirtsizesView = new Collection<TShirtSizeView>(); foreach ( var size in tshirtsizes ) { tshirtsizesView.Add( new TShirtSizeView( size ) ); } var grades = await db.Grades.OrderBy( c => c.Number ).ToListAsync<Grade>(); var gradesView = new Collection<GradeView>(); foreach ( var grade in grades ) { gradesView.Add( new GradeView( grade ) ); } var choices = await db.StaffChoices.OrderBy( c => c.Title ).ToListAsync<StaffChoice>(); var choicesView = new Collection<StaffChoiceView>(); foreach ( var choice in choices ) { choicesView.Add( new StaffChoiceView( choice ) ); } ViewBag.Choices = new SelectList( choicesView, "RID", "Title" ); ViewBag.Grades = new SelectList( gradesView, "RID", "Title" ); ViewBag.Sizes = new SelectList( tshirtsizesView, "RID", "Size" ); ViewBag.Carriers = new SelectList( carriersView, "RID", "Title" ); if ( ModelState.IsValid ) { var name = HttpContext.User.Identity.Name; var User = await db.Users.FirstOrDefaultAsync( c => c.UserName == name ); if ( User != null ) { if ( User.Retreater ) { return HttpNotFound(); } else if ( User.RetreaterPending ) { return HttpNotFound(); } User.StafferPending = true; User.Personal.FirstName = model.Personal.FirstName; User.Personal.LastName = model.Personal.LastName; User.Personal.Email = model.Personal.Email; User.Personal.Phone = new Models.Phone(); User.Personal.Phone.Number = model.Personal.Phone.Number; User.Personal.Phone.Carrier = await db.Carriers.FindAsync( model.Personal.Phone.Carrier ); User.Personal.Hobbies = model.Personal.Hobbies; User.Personal.TShirtSize = await db.TShirtSizes.FindAsync( model.Personal.TShirtSize ); User.Staff.PreviousAttended = model.Staff.PreviousAttended; User.Staff.PreviousPositions = model.Staff.PreviousPositions; User.Staff.PreviousTalk = model.Staff.PreviousTalk; User.Staff.InterestedTalk = model.Staff.InterestedTalk; User.Staff.LeadershipPosition = model.Staff.LeadershipPosition; User.Staff.FirstChoice = await db.StaffChoices.FindAsync( model.Staff.FirstChoice ); User.Staff.SecondChoice = await db.StaffChoices.FindAsync( model.Staff.SecondChoice ); User.Staff.ThirdChoice = await db.StaffChoices.FindAsync( model.Staff.ThirdChoice ); User.Staff.AdditionalComments = model.Staff.AdditionalComments; User.School.College = model.School.College; User.School.Grade = await db.Grades.FindAsync( model.School.Grade ); User.Medical.Allergies = model.Medical.Allergies; User.Medical.HealthConditions = model.Medical.HealthConditions; User.Emergency.FirstName = model.Emergency.FirstName; User.Emergency.LastName = model.Emergency.LastName; User.Emergency.Email = model.Emergency.Email; User.Emergency.Phone = new Models.Phone(); User.Emergency.Phone.Number = model.Emergency.Phone.Number; User.Emergency.Phone.Carrier = await db.Carriers.FindAsync( model.Emergency.Phone.Carrier ); User.Transportation.TransportSelf = model.Transportation.TransportSelf; await db.SaveChangesAsync(); var userView = new UserInput( User ); this.Mail.From = this.From; this.Mail.Subject = "ChattAwakening Staffer Application Edit"; this.Mail.Body = User.Personal.FirstName + ", <br /><br />We are emailing you to confirm that you have edited your application. If you would like to furthur review, edit, or delete your application at any time, please go to <a href=\"http://utccatholic.org/Awakening/Staffers\">http://utccatholic.org/Awakening/Staffers</a>. <br />Please place our address in your contact list so we are not placed in your spam folder! We will be emailing you as we get closer to March 28th! <br /> If you have any questions, comments, and/or concerns, please email us back!<br /> <br /> Thank you, <br />ChattAwakening - UTC Catholic"; this.Mail.IsBodyHtml = true; this.Mail.To.Add( User.Personal.Email ); this.Mail.Bcc.Add( "[email protected], [email protected], [email protected]" ); client.Credentials = Credentials; client.Send( this.Mail ); return View( "Staffers", userView ); } else { return HttpNotFound(); } } else { return View( "Staffers", model ); } }
public UserView( UserInput User ) : base() { this.Roles = new Collection<RoleView>(); foreach ( var role in User.Roles ) { this.Roles.Add( new RoleView( role ) ); } this.Fee = User.Fee; this.FeePaid = User.FeePaid; this.Personal = new PersonalView( User.Personal ); this.School = new SchoolView( User.School ); this.Medical = new MedicalView( User.Medical ); this.Religion = new ReligionView( User.Religion ); this.Emergency = new EmergencyView( User.Emergency ); this.Transportation = new TransportationView( User.Transportation ); this.Staff = new StaffView( User.Staff ); this.Position = User.Position; if ( User.ApplicationStamp != null ) this.ApplicationStamp = User.ApplicationStamp; }
public async Task StafferAppSubmit(UserInput model) { var User = await this.User(); if ( User.Retreater ) { Clients.Caller.errorBack( "You are already attending this retreat." ); } else if ( User.Staffer ) { Clients.Caller.errorBack( "You are already staffing this retreat." ); } else if ( User.RetreaterPending ) { Clients.Caller.errorBack( "You have already submitted your retreat application." ); } else if ( User.StafferPending ) { Clients.Caller.errorBack( "You have already submitted your staffer application." ); } else { User.StafferPending = true; User.Personal.FirstName = model.Personal.FirstName; User.Personal.LastName = model.Personal.LastName; User.Personal.Email = model.Personal.Email; User.Personal.Phone = new Models.Phone(); User.Personal.Phone.Number = model.Personal.Phone.Number; User.Personal.Phone.Carrier = await db.Carriers.FindAsync( model.Personal.Phone.Carrier ); User.Personal.Hobbies = model.Personal.Hobbies; User.Personal.TShirtSize = await db.TShirtSizes.FindAsync( model.Personal.TShirtSize ); User.Staff.PreviousAttended = model.Staff.PreviousAttended; User.Staff.PreviousPositions = model.Staff.PreviousPositions; User.Staff.PreviousTalk = model.Staff.PreviousTalk; User.Staff.InterestedTalk = model.Staff.InterestedTalk; User.Staff.LeadershipPosition = model.Staff.LeadershipPosition; User.Staff.FirstChoice = await db.StaffChoices.FindAsync( model.Staff.FirstChoice ); User.Staff.SecondChoice = await db.StaffChoices.FindAsync( model.Staff.SecondChoice ); User.Staff.ThirdChoice = await db.StaffChoices.FindAsync( model.Staff.ThirdChoice ); User.Staff.AdditionalComments = model.Staff.AdditionalComments; User.School.College = model.School.College; User.School.Grade = await db.Grades.FindAsync( model.School.Grade ); User.Medical.Allergies = model.Medical.Allergies; User.Medical.HealthConditions = model.Medical.HealthConditions; User.Emergency.FirstName = model.Emergency.FirstName; User.Emergency.LastName = model.Emergency.LastName; User.Emergency.Email = model.Emergency.Email; User.Emergency.Phone = new Models.Phone(); User.Emergency.Phone.Number = model.Emergency.Phone.Number; User.Emergency.Phone.Carrier = await db.Carriers.FindAsync( model.Emergency.Phone.Carrier ); User.Transportation.TransportSelf = model.Transportation.TransportSelf; await db.SaveChangesAsync(); var userView = new UserInput( User ); Clients.Caller.submitStaffBack( userView ); var message = new MailMessage( "*****@*****.**", "*****@*****.**" ); message.Body = "We have received a new application for ChattAwakening. The new applicant is a Staffer by the name of " + User.Personal.FirstName + " " + User.Personal.LastName + ". For more details, please go to: http://utccatholic.org/awakening/admin"; var client = new SmtpClient( "mail.utccatholic.org", 465 ); client.EnableSsl = true; client.Send( message ); } }