public ActionResult Administrator(FormCollection collection) { UserAccountClient uac = new UserAccountClient(); UserAccount account = uac.GetByPartitionAndRowKey(UserAccountClient.GetPartitionKeyForEmail(collection["email"].ToLower()), collection["email"].ToLower()); if (account == null) { uac.AddNewItem(new UserAccount { PartitionKey = UserAccountClient.GetPartitionKeyForEmail(collection["email"].ToLower()), RowKey = collection["email"].ToLower(), FirstName = collection["firstname"], LastName = collection["lastname"], Email = collection["email"], Password = collection["password"], ProfileType = "administrator" }); //AdminProfileClient apc = new AdminProfileClient(); //apc.AddNewItem(new AdminProfile { RowKey = collection["email"].ToLower(), PhoneNumber = collection["phonenumber"] }); AdminAccountClient aac = new AdminAccountClient(); aac.AddNewItem(new AdminAccount { RowKey = collection["email"].ToLower(), PhoneNumber = collection["phonenumber"], PhoneExtension = collection["extension"] }); } else { ViewBag.ErrorMessage = "There is an account already associated with this email. Please log in instead."; return(View()); } SendVerificationEmail(collection["email"].ToLower(), collection["firstname"]); EmailManager emailManager = new EmailManager(); string str = "<p>Full name: " + collection["firstname"] + " " + collection["lastname"] + "</p><p>Email: " + collection["email"] + "</p><p>Phone Number: " + collection["phonenumber"] + "</p><p>" + collection["extension"] + "</p>"; emailManager.SendMail("*****@*****.**", "Admin", "*****@*****.**", "HS Admin", str); return(RedirectToAction("ThankYou")); }
public ActionResult Index(IEnumerable <string> firstname, IEnumerable <string> lastname, IEnumerable <string> email) { if (AuthTokens[0] == "demo") { ViewBag.DemoNextStep = NextStep("!"); return(View()); } if (firstname != null && lastname != null && email != null) { if (firstname.Count() == lastname.Count() && firstname.Count() == email.Count()) { CounselorInviteClient cic = new CounselorInviteClient(); AdminAccountClient aac = new AdminAccountClient(); UserAccountClient uac = new UserAccountClient(); AdminAccount admin = aac.GetByPartitionAndRowKey("admin", AuthTokens[1].ToLower()); UserAccount user = uac.GetByPartitionAndRowKey(UserAccountClient.GetPartitionKeyForEmail(AuthTokens[1].ToLower()), AuthTokens[1].ToLower()); string school = admin.School; for (var i = 0; i < firstname.Count(); i++) { string emailLower = email.ElementAt(i).ToLower(); string guid = ShortGuidGenerator.NewGuid(); cic.AddNewItem(new CounselorInvite { FirstName = firstname.ElementAt(i), LastName = lastname.ElementAt(i), Email = emailLower, School = school, RowKey = guid }); SendInviteEmail(email.ElementAt(i).ToLower(), firstname.ElementAt(i) + " " + lastname.ElementAt(i), user.FirstName + " " + user.LastName, guid); } return(View()); } } ViewBag.ErrorMessage = "error"; return(View()); }
public ActionResult SubmitSchool(FormCollection collection) { if (AuthTokens[0] == "demo") { ViewBag.DemoNextStep = NextStep("!"); return(View()); } string admin = AuthTokens[1]; AdminAccountClient aac = new AdminAccountClient(); AdminAccount adminAccount = aac.GetByPartitionAndRowKey("admin", admin); UserAccountClient uac = new UserAccountClient(); UserAccount user = uac.GetByPartitionAndRowKey(UserAccountClient.GetPartitionKeyForEmail(admin), admin); string rowkey = Regex.Replace(collection["schoolphone"], @"[^0-9]", ""); string phone = rowkey.Substring(0, 3) + "-" + rowkey.Substring(3, 3) + "-" + rowkey.Substring(6); PendingSchoolClient psc = new PendingSchoolClient(); psc.AddNewItem(new PendingSchool { Admin = admin, SchoolName = collection["schoolname"], Address = collection["schooladdress1"], City = collection["schoolcity"], State = collection["schoolstate"], ZipCode = collection["schoolzip"], OfficialID = collection["schoolid"], PhoneNumber = phone, RowKey = rowkey }); adminAccount.SchoolSelected = true; adminAccount.School = rowkey; adminAccount.RequestStatus = ""; aac.Update(adminAccount); EmailManager emailManager = new EmailManager(); string body = "<div>Admin name: " + user.FirstName + " " + user.LastName + "</div><div>Admin phone number and extension:" + adminAccount.PhoneNumber + " x " + adminAccount.PhoneExtension + "</div><div>Admin Email: " + adminAccount.RowKey + "</div>" + "<div>School name: " + collection["schoolname"] + "</div><div>School address" + collection["schooladdress1"] + " " + collection["schoolcity"] + " " + collection["schoolstate"] + " " + collection["schoolzip"] + "</div>" + "<div>School phone number: " + phone + "</div>"; emailManager.SendMail("*****@*****.**", "Admin", "*****@*****.**", "School request", body); return(RedirectToAction("SchoolSubmitted")); }
public ActionResult Groups(IEnumerable <string> year, IEnumerable <string> grade, IEnumerable <string> counselor, IEnumerable <string> groupname) { if (AuthTokens[0] == "demo") { ViewBag.DemoNextStep = NextStep("!"); return(View()); } if (year != null && grade != null && counselor != null && groupname != null) { if (year.Count() == grade.Count() && year.Count() == counselor.Count() && year.Count() == groupname.Count()) { AdminAccountClient aac = new AdminAccountClient(); AccessCodeClient acc = new AccessCodeClient(); AdminAccount admin = aac.GetByPartitionAndRowKey("admin", AuthTokens[1].ToLower()); string school = admin.School; for (var i = 0; i < year.Count(); i++) { acc.AddNewItem(new AccessCode { RowKey = ShortGuidGenerator.NewGuid(), Code = PinCodeGenerator.NewPin(), Year = year.ElementAt(i), Grade = grade.ElementAt(i), Counselor = counselor.ElementAt(i), GroupName = groupname.ElementAt(i), School = school }); } ViewBag.CurrentYear = AccessCodeClient.CurrentGradYear(); return(View()); } } ViewBag.ErrorMessage = "error"; ViewBag.CurrentYear = AccessCodeClient.CurrentGradYear(); return(View()); }
public ActionResult SubmitSchool() { if (AuthTokens[0] == "demo") { ViewBag.DemoNextStep = NextStep("!"); } AdminAccountClient aac = new AdminAccountClient(); AdminAccount adminAccount = aac.GetByPartitionAndRowKey("admin", AuthTokens[1]); if (adminAccount.SchoolSelected) { return(RedirectToAction("Index")); } return(View()); }
public ActionResult ChangeRole(string counselor) { if (AuthTokens[0] == "demo") { return(RedirectToAction("Index", "AdminPortal"));; } string currentAdminEmail = AuthTokens[1]; AdminAccountClient aac = new AdminAccountClient(); CounselorAccountClient cac = new CounselorAccountClient(); UserAccountClient uac = new UserAccountClient(); SchoolAccountClient sac = new SchoolAccountClient(); AdminAccount admin = aac.GetByPartitionAndRowKey("admin", currentAdminEmail); CounselorAccount counselorAccount = cac.GetByPartitionAndRowKey("counselor", counselor); UserAccount currentAdmin = uac.GetByPartitionAndRowKey(UserAccountClient.GetPartitionKeyForEmail(currentAdminEmail), currentAdminEmail); UserAccount newAdmin = uac.GetByPartitionAndRowKey(UserAccountClient.GetPartitionKeyForEmail(counselor), counselor); SchoolAccount school = sac.GetByPartitionAndRowKey("school", admin.School); if (admin != null && counselorAccount != null && currentAdmin != null && newAdmin != null && school != null) { aac.AddNewItem(new AdminAccount { RowKey = counselor, PhoneNumber = counselorAccount.PhoneNumber, PhoneExtension = counselorAccount.PhoneExtension, School = school.RowKey, SchoolSelected = true, ConnectionToSchoolConfirmed = true }); cac.AddNewItem(new CounselorAccount { RowKey = currentAdminEmail, PhoneNumber = admin.PhoneNumber, PhoneExtension = admin.PhoneExtension, School = school.RowKey }); currentAdmin.ProfileType = "counselor"; uac.Update(currentAdmin); newAdmin.ProfileType = "administrator"; uac.Update(newAdmin); school.Admin = counselor; sac.Update(school); aac.Delete(admin); cac.Delete(counselorAccount); } return(RedirectToAction("LogOut", "Account")); }
public ActionResult Counselor(FormCollection collection) { string adminEmail = ""; UserAccountClient uac = new UserAccountClient(); CounselorInviteClient cic = new CounselorInviteClient(); SchoolAccountClient sac = new SchoolAccountClient(); UserAccount account = uac.GetByPartitionAndRowKey(UserAccountClient.GetPartitionKeyForEmail(collection["email"].ToLower()), collection["email"].ToLower()); CounselorInvite invite = cic.GetByPartitionAndRowKey("invite", collection["invite"]); SchoolAccount school = sac.GetByPartitionAndRowKey("school", collection["school"]); if (invite != null) { if (invite.Email == collection["email"].ToLower()) { if (account == null) { uac.AddNewItem(new UserAccount { PartitionKey = UserAccountClient.GetPartitionKeyForEmail(collection["email"].ToLower()), RowKey = collection["email"].ToLower(), FirstName = collection["firstname"], LastName = collection["lastname"], Email = collection["email"], Password = collection["password"], ProfileType = "counselor", EmailConfirmed = true }); CounselorAccountClient сac = new CounselorAccountClient(); AdminAccountClient aac = new AdminAccountClient(); AdminAccount admin = aac.GetBySchool(collection["school"]); if (admin != null) { adminEmail = admin.RowKey; } сac.AddNewItem(new CounselorAccount { RowKey = collection["email"].ToLower(), PhoneNumber = collection["phonenumber"], PhoneExtension = collection["extension"], School = collection["school"] }); cic.Delete(invite); } else { ViewBag.Invite = invite; ViewBag.ErrorMessage = "There is an account already associated with this email. Please log in instead."; return(View()); } } else { ViewBag.Invite = invite; ViewBag.EmailMatch = "Email has to match"; return(View()); } } else { return(RedirectToAction("Index", "Home")); } string sessionkey = ClientSession.GetClientSessionKey("user", collection["email"].ToLower(), collection["firstname"] + " " + collection["lastname"], "counselor"); Response.Cookies["sessionkey"].Value = sessionkey; Response.Cookies["sessionkey"].Expires = DateTime.UtcNow.AddDays(7); Response.Cookies["sessionusername"].Value = collection["email"].ToLower(); Response.Cookies["sessionusername"].Expires = DateTime.UtcNow.AddDays(7); Response.Cookies["cbnvm"].Value = "1"; Response.Cookies["cbnvm"].Expires = DateTime.UtcNow.AddDays(7); SendCongratulationsEmailToCounselor(collection["email"], collection["firstname"] + " " + collection["lastname"]); SendUpdateEmailToAdmin(adminEmail, collection["firstname"] + " " + collection["lastname"]); EmailManager emailManager = new EmailManager(); string schooStr = ""; if (school != null) { schooStr = "<p>School name: " + school.SchoolName + "</p>"; } string str = "<p>Full name: " + collection["firstname"] + " " + collection["lastname"] + "</p><p>Email: " + collection["email"] + "</p><p>Phone Number: " + collection["phonenumber"] + "</p><p>" + collection["extension"] + "</p>" + schooStr; emailManager.SendMail("*****@*****.**", "Admin", "*****@*****.**", "HS Counselor", str); TempData["counselor"] = true; return(RedirectToAction("Index", "CounselorPortal")); }
public HttpResponse AddSchoolPost(string rowkey) { if (AuthTokens[0] == "demo") { Response.ContentType = "application/json"; Response.Write("{\"result\": \"done\"}"); Response.End(); return(null); } string response = ""; SchoolAccountClient sac = new SchoolAccountClient(); SchoolAccount school = sac.GetByPartitionAndRowKey("school", rowkey); if (school != null) { AdminAccountClient aac = new AdminAccountClient(); AdminAccount admin = aac.GetByPartitionAndRowKey("admin", AuthTokens[1].ToLower()); if (school.Admin != null && school.Admin != "") { response = "{\"result\": \"exist\"}"; } else { if (admin.SchoolSelected && !admin.ConnectionToSchoolConfirmed) { response = "{\"result\": \"not confirm\"}"; } else if (admin.ConnectionToSchoolConfirmed) { response = "{\"result\": \"dup\"}"; } else { admin.School = school.RowKey; admin.SchoolSelected = true; aac.Update(admin); UserAccountClient uac = new UserAccountClient(); UserAccount user = uac.GetByPartitionAndRowKey(UserAccountClient.GetPartitionKeyForEmail(admin.RowKey), admin.RowKey); EmailManager emailManager = new EmailManager(); string body = "<div>Admin name: " + user.FirstName + " " + user.LastName + "</div><div>Admin phone number and extension:" + admin.PhoneNumber + " x " + admin.PhoneExtension + "</div><div>Admin Email: " + admin.RowKey + "</div>" + "<div>School name: " + school.SchoolName + "</div><div>School address" + school.Address + " " + school.City + " " + school.State + " " + school.ZipCode + "</div>" + "<div>School phone number: " + school.PhoneNumber + "</div>"; emailManager.SendMail("*****@*****.**", "Admin", "*****@*****.**", "Admin request", body); response = "{\"result\": \"done\"}"; } } } else { response = "{\"result\": \"error\"}"; } //if (school != null) //{ // //AdminProfileClient apc = new AdminProfileClient(); // //AdminProfile admin = apc.GetByPartitionAndRowKey("adminProfile", AuthTokens[1].ToLower()); // if (admin != null) // { // TeacherToSchoolConnectionClient ttscc = new TeacherToSchoolConnectionClient(); // TeacherToSchoolConnection connection = ttscc.GetByPartitionAndRowKey(rowkey, admin.RowKey); // SchoolToTeacherConnectionClient sttcc = new SchoolToTeacherConnectionClient(); // SchoolToTeacherConnection s2tconnection = sttcc.GetByPartitionAndRowKey(admin.RowKey, rowkey); // if (connection == null) // { // ttscc.AddNewItem(new TeacherToSchoolConnection { PartitionKey = rowkey, RowKey = admin.RowKey }); // sttcc.AddNewItem(new SchoolToTeacherConnection { PartitionKey = admin.RowKey, RowKey = rowkey }); // response = "{\"result\": \"done\"}"; // } // else // { // response = "{\"result\": \"already exist\"}"; // } // } // else // { // response = "{\"result\": \"fail\"}"; // } //} //else //{ // response = "{\"result\": \"fail\"}"; //} Response.ContentType = "application/json"; Response.Write(response); Response.End(); return(null); }
public ActionResult LogIn(FormCollection collection) { string accessurl = collection["accessurl"]; UserAccountClient uac = new UserAccountClient(); UserAccount account = uac.Logon(collection["email"].ToLower(), collection["password"]); if (account == null) { if (accessurl != null) { ViewBag.AccessCode = accessurl; } ViewBag.InvalidEmail = collection["email"].ToLower(); return(View()); } else if (account.EmailConfirmed == false) { ViewBag.VerifyEmail = collection["email"].ToLower(); ViewBag.ResendConfirmationEmail = true; return(View()); } if (account.ProfileType == "su") { SaveSessionCookie(collection["email"].ToLower(), account.FirstName + " " + account.LastName, account.ProfileType); } else if (account.ProfileType == "administrator") { AdminAccountClient aac = new AdminAccountClient(); AdminAccount admin = aac.GetByPartitionAndRowKey("admin", account.RowKey); SaveSessionCookie(collection["email"].ToLower(), account.FirstName + " " + account.LastName, account.ProfileType); if (admin.SchoolSelected) { return(RedirectToAction("Index", "AdminPortal")); } else { return(RedirectToAction("AddSchool", "AdminPortal")); } } else if (account.ProfileType == "counselor") { CounselorAccountClient cac = new CounselorAccountClient(); CounselorAccount counselor = cac.GetByPartitionAndRowKey("counselor", account.RowKey); if (counselor.Active) { SaveSessionCookie(collection["email"].ToLower(), account.FirstName + " " + account.LastName, account.ProfileType); return(RedirectToAction("Index", "CounselorPortal")); } else { ViewBag.ErrorMessage = "Not Active"; return(View()); } } else if (account.ProfileType == "student") { StudentAccountClient sac = new StudentAccountClient(); StudentAccount student = sac.GetByPartitionAndRowKey(StudentAccountClient.GetPartitionKeyForEmail(account.Email), account.Email); AccessCodeClient acc = new AccessCodeClient(); AccessCode accessCode = acc.GetByPartitionAndRowKey("accesscode", accessurl); if (accessCode != null && accessCode.Year == AccessCodeClient.CurrentGradYear()) { if (student.Active) { if (student.School != accessCode.School) { TempData["activeschool"] = true; } else if (student.Year == accessCode.Year) { TempData["sameyear"] = true; } else { student.Year = accessCode.Year; student.Grade = accessCode.Grade; student.Counselor = accessCode.Counselor; student.GroupName = accessCode.GroupName; student.AssessmentComplete = false; sac.Update(student); } } else { if (student.School != accessCode.School) { student.School = accessCode.School; student.Year = accessCode.Year; student.Grade = accessCode.Grade; student.Counselor = accessCode.Counselor; student.GroupName = accessCode.GroupName; student.AssessmentComplete = false; sac.Update(student); } else { TempData["inactive"] = true; } } } else { TempData["invalid"] = true; } SaveSessionCookie(collection["email"].ToLower(), account.FirstName + " " + account.LastName, account.ProfileType); //StudentProfileClient spc = new StudentProfileClient(); //StudentProfile student = spc.GetByPartitionAndRowKey(StudentProfileClient.GetPartitionKeyForEmail(account.Email), account.Email); Response.Cookies["firstname"].Value = account.FirstName; Response.Cookies["firstname"].Expires = DateTime.UtcNow.AddDays(7); Response.Cookies["lastname"].Value = account.LastName; Response.Cookies["lastname"].Expires = DateTime.UtcNow.AddDays(7); Response.Cookies["email"].Value = account.Email; Response.Cookies["email"].Expires = DateTime.UtcNow.AddDays(7); Response.Cookies["gender"].Value = student.Gender; Response.Cookies["gender"].Expires = DateTime.UtcNow.AddDays(7); Response.Cookies["clr"].Value = "1"; Response.Cookies["clr"].Expires = DateTime.UtcNow.AddDays(7); Response.Cookies["cbnvm"].Value = "1"; Response.Cookies["cbnvm"].Expires = DateTime.UtcNow.AddDays(7); AssessmentDimensionClient adc = new AssessmentDimensionClient(); AssessmentInterestClient aic = new AssessmentInterestClient(); //AssessmentDimensionsRatingClient adrc = new AssessmentDimensionsRatingClient(); //AssessmentInterestRatingClient airc = new AssessmentInterestRatingClient(); JavaScriptSerializer jss = new JavaScriptSerializer(); List <AssessmentInterest> importantThingRatings = new List <AssessmentInterest>(aic.GetAllCurrentByStudent(student.School, account.RowKey, student.Year, student.Grade)); //List<AssessmentInterestRating> importantThingRatings = new List<AssessmentInterestRating>(airc.GetAllBySchoolAndStudent(student.School, account.RowKey)); Response.Cookies["interests"].Value = jss.Serialize(importantThingRatings.Where(x => x.Value == "1").Select(x => x.Interest).ToList()); Response.Cookies["interests"].Expires = DateTime.UtcNow.AddDays(7); for (var i = 0; i < dimensions.Length; i++) { //AssessmentDimensionsRating dimensionsRating = adrc.GetByPartitionAndRowKey(student.School, account.Email + dimensions[i]); AssessmentDimension dimensionsRating = adc.GetByPartitionAndRowKey(student.School, account.Email + student.Year + student.Grade + dimensions[i]); if (dimensionsRating != null) { Response.Cookies[dimensions[i]].Value = dimensionsRating.Value; Response.Cookies[dimensions[i]].Expires = DateTime.UtcNow.AddDays(7); if (i == 0) { Response.Cookies["question1"].Value = (dimensionsRating.Misc != null ? dimensionsRating.Misc : dimensionsRating.Value); Response.Cookies["question1"].Expires = DateTime.UtcNow.AddDays(7); } } } return(RedirectToAction("Index", "StudentPortal")); } return(RedirectToAction("Index", "Home")); }