//View Candidate Resume public ActionResult CandidateView(int qenid) { ResumeModel model = new ResumeModel(); try { qendidateList personal = db.qendidateLists.Where(ex => ex.qenID == qenid).FirstOrDefault(); qenSecondary s = db.qenSecondaries.Where(ex => ex.qenID == qenid).FirstOrDefault(); qenHigherSecondary hs = db.qenHigherSecondaries.Where(ex => ex.qenID == qenid).FirstOrDefault(); qendidateGraduation g = db.qendidateGraduations.Where(ex => ex.qenID == qenid).FirstOrDefault(); qendidatePGraduation pg = db.qendidatePGraduations.Where(ex => ex.qenID == qenid).FirstOrDefault(); List <qenEmpDetail> emp = db.qenEmpDetails.Where(ex => ex.qenID == qenid).ToList(); List <qendidatePHD> phd = db.qendidatePHDs.Where(ex => ex.qenID == qenid).ToList(); List <qenReference> refrences = db.qenReferences.Where(ex => ex.qenID == qenid).ToList(); model.personainfo = personal; AcademicModel academic = new AcademicModel(); academic.graduation = g != null ? g : new qendidateGraduation(); academic.hsecondary = hs != null ? hs : new qenHigherSecondary(); academic.secondary = s != null ? s : new qenSecondary(); academic.pgraduation = pg != null ? pg : new qendidatePGraduation(); model.employmentinfo = emp != null ? emp : new List <qenEmpDetail>(); model.refrences = refrences != null ? refrences : new List <qenReference>(); model.phdinfo = phd != null ? phd : new List <qendidatePHD>(); } catch (Exception e) { BaseUtil.CaptureErrorValues(e); } return(View(model)); }
//==================================================================================// // Get Academic information // // // // Gets the academic information if it is not empty. // // // // Note: If the User ID is -1 then it is being checked out by the user. // // If not then it is being checked by the admin. // //==================================================================================// public static AcademicModel GetAcademicdData(AcademicModel academic, int UserId) { // If the User ID is -1 then it is being checked out by the user. We will then // get the current user ID. if (UserId == -1) { UserId = WebSecurity.CurrentUserId; } try { using (ITintheDTestTableEntities context = new ITintheDTestTableEntities()) { // Put everything we find in the database in the var variable. All the // information will be gotten using the User ID. var ExistingAcademic = from r in context.ProspectiveAcademic where r.AcademicId == UserId select r; // If the user has some information then edit it. // Otherwise return nothing. if (ExistingAcademic.Count() > 0) { academic.AccountStatus = ExistingAcademic.FirstOrDefault().Status; academic.AcademyName = ExistingAcademic.FirstOrDefault().AcademyName; academic.AcademyAddress = ExistingAcademic.FirstOrDefault().AcademyAddress; academic.PrimaryContactName = ExistingAcademic.FirstOrDefault().PrimaryContactName; academic.PrimaryTitle = ExistingAcademic.FirstOrDefault().PrimaryTitle; academic.PrimaryTelephone = ExistingAcademic.FirstOrDefault().PrimaryTelephone; academic.PrimaryEmailAddress = ExistingAcademic.FirstOrDefault().PrimaryEmailAddress; academic.SecondaryContactName = ExistingAcademic.FirstOrDefault().SecondaryContactName; academic.SecondaryTitle = ExistingAcademic.FirstOrDefault().SecondaryTitle; academic.SecondaryTelephone = ExistingAcademic.FirstOrDefault().SecondaryTelephone; academic.SecondaryEmailAddress = ExistingAcademic.FirstOrDefault().SecondaryEmailAddress; academic.ImageUploaded = ExistingAcademic.FirstOrDefault().ImageUploaded; academic.AcademicInstitutionTextField = ExistingAcademic.FirstOrDefault().AcademicInstitutionTextField; // Return the modal that is filled with information from the database. return (academic); } else { return (null); } } } catch { return (null); } }
// GET: Dynamic Academic page. public ActionResult DisplayAcademicPage() { AcademicModel currentAcademic = new AcademicModel(); currentAcademic = DatabaseHelper.GetAcademicdData(currentAcademic, WebSecurity.GetUserId(User.Identity.Name)); return View(currentAcademic); }
public void SaveInvalidAcademic() { //arrange IFlowManager flowManager = serviceProvider.GetRequiredService <IFlowManager>(); var user = new UserModel { UserName = "******", EntityState = LogicBuilder.Domain.EntityStateType.Added }; flowManager.FlowDataCache.Request = new SaveEntityRequest { Entity = user }; flowManager.Start("saveuser"); Assert.True(user.UserId > 1); var academic = new AcademicModel { UserId = user.UserId, EntityState = LogicBuilder.Domain.EntityStateType.Added, AttendedPriorColleges = true, FromDate = new DateTime(), ToDate = new DateTime(), GraduationStatus = null, EarnedCreditAtCmc = true, LastHighSchoolLocation = null, NcHighSchoolName = "NCSCHOOL1", Institutions = new List <InstitutionModel> { new InstitutionModel { EntityState = LogicBuilder.Domain.EntityStateType.Added, HighestDegreeEarned = "BD", StartYear = "2015", EndYear = null, InstitutionName = "Florida Institution 1", InstitutionState = "FL", MonthYearGraduated = new DateTime(2020, 10, 10) } } }; flowManager.FlowDataCache.Request = new SaveEntityRequest { Entity = academic }; //act System.Diagnostics.Stopwatch stopWatch = System.Diagnostics.Stopwatch.StartNew(); flowManager.Start("saveacademic"); stopWatch.Stop(); this.output.WriteLine("Saving valid academic = {0}", stopWatch.Elapsed.TotalMilliseconds); //assert Assert.False(flowManager.FlowDataCache.Response.Success); Assert.Equal(5, flowManager.FlowDataCache.Response.ErrorMessages.Count); }
public ActionResult DisplayAcademic() { AcademicModel academic = new AcademicModel(); if (DatabaseHelper.GetAcademicdData(academic, -1) == null) { TempData["RegistrationMessage"] = "Academic institution registration form."; } return View(academic); }
public ActionResult DisplayEditRole(int id, string role) { AcademicModel academic = new AcademicModel(); if (DatabaseHelper.GetAcademicdData(academic, id) == null) { TempData["RegistrationMessage"] = "Academic institution registration form."; } return RedirectToAction("User", "Admin", new { id }); }
public void SaveAcademic() { //arrange IFlowManager flowManager = serviceProvider.GetRequiredService <IFlowManager>(); var academic = flowManager.EnrollmentRepository.GetAsync <AcademicModel, Academic> ( s => s.UserId == 1, null, new LogicBuilder.Expressions.Utils.Expansions.SelectExpandDefinition { ExpandedItems = new System.Collections.Generic.List <LogicBuilder.Expressions.Utils.Expansions.SelectExpandItem> { new LogicBuilder.Expressions.Utils.Expansions.SelectExpandItem { MemberName = "Institutions" } } } ).Result.Single(); academic.LastHighSchoolLocation = "FL"; InstitutionModel institution = academic.Institutions.First(); institution.EndYear = "2222"; academic.EntityState = LogicBuilder.Domain.EntityStateType.Modified; institution.EntityState = LogicBuilder.Domain.EntityStateType.Modified; flowManager.FlowDataCache.Request = new SaveEntityRequest { Entity = academic }; //act System.Diagnostics.Stopwatch stopWatch = System.Diagnostics.Stopwatch.StartNew(); flowManager.Start("saveacademic"); stopWatch.Stop(); this.output.WriteLine("Saving valid academic = {0}", stopWatch.Elapsed.TotalMilliseconds); //assert Assert.True(flowManager.FlowDataCache.Response.Success); Assert.Empty(flowManager.FlowDataCache.Response.ErrorMessages); AcademicModel model = (AcademicModel)((SaveEntityResponse)flowManager.FlowDataCache.Response).Entity; Assert.Equal("FL", model.LastHighSchoolLocation); Assert.Equal("2222", model.Institutions.First().EndYear); }
public void MapIValidatableListModelToAcademic_WhenFormArrayIsNotRequired() { //arrange ObservableCollection <IValidatable> properties = serviceProvider.GetRequiredService <IFieldsCollectionBuilder>().CreateFieldsCollection ( Descriptors.AcademicForm, typeof(AcademicModel) ).Properties; IDictionary <string, IValidatable> propertiesDictionary = properties.ToDictionary(property => property.Name); propertiesDictionary["UserId"].Value = 1; propertiesDictionary["LastHighSchoolLocation"].Value = "NC"; propertiesDictionary["NcHighSchoolName"].Value = "NCSCHOOL1"; propertiesDictionary["FromDate"].Value = new DateTime(2019, 5, 20); propertiesDictionary["ToDate"].Value = new DateTime(2021, 5, 20); propertiesDictionary["GraduationStatus"].Value = "DP"; propertiesDictionary["EarnedCreditAtCmc"].Value = true; //act AcademicModel academicModel = serviceProvider.GetRequiredService <IEntityStateUpdater>().GetUpdatedModel ( (AcademicModel)null, new Dictionary <string, object>(), properties, Descriptors.AcademicForm.FieldSettings ); //assert Assert.Equal(1, academicModel.UserId); Assert.Equal("NC", academicModel.LastHighSchoolLocation); Assert.Equal("NCSCHOOL1", academicModel.NcHighSchoolName); Assert.Equal(new DateTime(2019, 5, 20), academicModel.FromDate); Assert.Equal(new DateTime(2021, 5, 20), academicModel.ToDate); Assert.Equal("DP", academicModel.GraduationStatus); Assert.True(academicModel.EarnedCreditAtCmc); Assert.Empty(academicModel.Institutions); }
public void MapIValidatableListModelToAcademic_WhenSingleValueFieldIsNotDefauly() { //arrange ObservableCollection <IValidatable> properties = serviceProvider.GetRequiredService <IFieldsCollectionBuilder>().CreateFieldsCollection ( Descriptors.AcademicForm, typeof(AcademicModel) ).Properties; IDictionary <string, IValidatable> propertiesDictionary = properties.ToDictionary(property => property.Name); propertiesDictionary["NcHighSchoolName"].Value = null; //act AcademicModel academicModel = serviceProvider.GetRequiredService <IEntityStateUpdater>().GetUpdatedModel ( (AcademicModel)null, new Dictionary <string, object>(), properties, Descriptors.AcademicForm.FieldSettings ); //assert Assert.Null(academicModel.NcHighSchoolName); }
// POST: Dynamic Academic page. public ActionResult StoreAcademicPage(AcademicModel academic) { bool edit = false; if (academic.AcademicInstitutionTextField == null) { academic = DatabaseHelper.GetAcademicdData(academic, WebSecurity.GetUserId(User.Identity.Name)); academic.AcademicInstitutionTextField = ""; if (DatabaseHelper.StoreAcademicData(academic, ref edit)) { TempData["Message"] = "Successfully deleted your information as an academic institution."; return RedirectToAction("Index", "AcademicInstitution"); } else { TempData["Message"] = "Failed to delete your information as an academic institution."; return RedirectToAction("Index", "AcademicInstitution"); } } else { AcademicModel currentAcademic = new AcademicModel(); currentAcademic = DatabaseHelper.GetAcademicdData(currentAcademic, WebSecurity.GetUserId(User.Identity.Name)); string newTextField = academic.AcademicInstitutionTextField; academic = currentAcademic; academic.AcademicInstitutionTextField = newTextField; if (DatabaseHelper.StoreAcademicData(academic, ref edit)) { TempData["Message"] = "Successfully entered your information as an academic institution."; return RedirectToAction("Index", "AcademicInstitution"); } else { TempData["Message"] = "Failed to enter your information as an academic institution."; return RedirectToAction("Index", "AcademicInstitution"); } } }
public ActionResult StoreAcademic(AcademicModel academic) { if (ModelState.IsValid) { bool edit = false; if (academic.AccountStatus < 1) { academic.AccountStatus = 1; } else if (academic.AccountStatus > 3) { academic.AccountStatus = 3; } if (academic.AcademicInstitutionTextField == null && WebSecurity.GetUserId(academic.PrimaryEmailAddress) > 0) { AcademicModel oldAcademic = new AcademicModel(); string field = DatabaseHelper.GetAcademicdData(oldAcademic, WebSecurity.GetUserId(academic.PrimaryEmailAddress)).AcademicInstitutionTextField; academic.AcademicInstitutionTextField = field; } if (DatabaseHelper.StoreAcademicData(academic, ref edit)) { int ID = WebSecurity.GetUserId(academic.PrimaryEmailAddress); if (edit == true && ID != WebSecurity.CurrentUserId) { TempData["Message"] = "Successfully edited the user's information."; return RedirectToAction("User", "Admin", new { ID }); } if (edit == true) { TempData["Message"] = "Successfully edited your information."; return RedirectToAction("Manage", "Account"); } else { TempData["Message"] = "Thank you for registering to IT in the D. You will be contacted within 24-48 hours."; return RedirectToAction("ThankYou", "Home"); } } else { TempData["Message"] = "Registeration failed."; return RedirectToAction("DisplayAcademic", "Home"); } } TempData["Message"] = "Registeration failed."; return RedirectToAction("DisplayAcademic", "Home"); }
public void MapAcademicModelToIReadOnlyList() { //arrange AcademicModel academic = new AcademicModel { UserId = 1, LastHighSchoolLocation = "NC", NcHighSchoolName = "NCSCHOOL1", FromDate = new DateTime(2021, 5, 20), ToDate = new DateTime(2021, 5, 20), GraduationStatus = "DP", EarnedCreditAtCmc = true, Institutions = new List <InstitutionModel> { new InstitutionModel { InstitutionId = 1, InstitutionState = "FL", InstitutionName = "I1", StartYear = "2011", EndYear = "2013", HighestDegreeEarned = "CT" }, new InstitutionModel { InstitutionId = 2, InstitutionState = "GA", InstitutionName = "I1", StartYear = "2012", EndYear = "2014", HighestDegreeEarned = "DP" }, new InstitutionModel { InstitutionId = 3, InstitutionState = "FL", InstitutionName = "I2", StartYear = "2014", EndYear = "2015", HighestDegreeEarned = "MA" } } }; ObservableCollection <IReadOnly> properties = serviceProvider.GetRequiredService <IReadOnlyFieldsCollectionBuilder>().CreateFieldsCollection ( ReadOnlyDescriptors.AcademicForm, typeof(AcademicModel) ).Properties; //act serviceProvider.GetRequiredService <IReadOnlyPropertiesUpdater>().UpdateProperties ( properties, academic, ReadOnlyDescriptors.AcademicForm.FieldSettings ); //assert IDictionary <string, object> propertiesDictionary = properties.ToDictionary(property => property.Name, property => property.Value); Assert.Equal(1, propertiesDictionary["UserId"]); Assert.Equal("NC", propertiesDictionary["LastHighSchoolLocation"]); Assert.Equal("NCSCHOOL1", propertiesDictionary["NcHighSchoolName"]); Assert.Equal(new DateTime(2021, 5, 20), propertiesDictionary["FromDate"]); Assert.Equal(new DateTime(2021, 5, 20), propertiesDictionary["ToDate"]); Assert.Equal("2011", ((IEnumerable <InstitutionModel>)propertiesDictionary["Institutions"]).First().StartYear); }
public void MapIValidatableListModelToAcademic() { //arrange ObservableCollection <IValidatable> properties = serviceProvider.GetRequiredService <IFieldsCollectionBuilder>().CreateFieldsCollection ( Descriptors.AcademicForm, typeof(AcademicModel) ).Properties; IDictionary <string, IValidatable> propertiesDictionary = properties.ToDictionary(property => property.Name); propertiesDictionary["UserId"].Value = 1; propertiesDictionary["LastHighSchoolLocation"].Value = "NC"; propertiesDictionary["NcHighSchoolName"].Value = "NCSCHOOL1"; propertiesDictionary["FromDate"].Value = new DateTime(2019, 5, 20); propertiesDictionary["ToDate"].Value = new DateTime(2021, 5, 20); propertiesDictionary["GraduationStatus"].Value = "DP"; propertiesDictionary["EarnedCreditAtCmc"].Value = true; propertiesDictionary["Institutions"].Value = new ObservableCollection <InstitutionModel> ( new List <InstitutionModel> { new InstitutionModel { InstitutionId = 1, InstitutionState = "FL", InstitutionName = "I1", StartYear = "2011", EndYear = "2013", HighestDegreeEarned = "CT" }, new InstitutionModel { InstitutionId = 2, InstitutionState = "GA", InstitutionName = "I1", StartYear = "2012", EndYear = "2014", HighestDegreeEarned = "DP" }, new InstitutionModel { InstitutionId = 4, InstitutionState = "AL", InstitutionName = "I2", StartYear = "2016", EndYear = "2019", HighestDegreeEarned = "MA" } } ); //act AcademicModel academicModel = serviceProvider.GetRequiredService <IEntityStateUpdater>().GetUpdatedModel ( (AcademicModel)null, new Dictionary <string, object>(), properties, Descriptors.AcademicForm.FieldSettings ); //assert Assert.Equal(1, academicModel.UserId); Assert.Equal("NC", academicModel.LastHighSchoolLocation); Assert.Equal("NCSCHOOL1", academicModel.NcHighSchoolName); Assert.Equal(new DateTime(2019, 5, 20), academicModel.FromDate); Assert.Equal(new DateTime(2021, 5, 20), academicModel.ToDate); Assert.Equal("DP", academicModel.GraduationStatus); Assert.True(academicModel.EarnedCreditAtCmc); Assert.Equal("FL", academicModel.Institutions.First().InstitutionState); }
//==================================================================================// // Store Academic information // // // // Register the academic information if it is empty. Otherwise edit it. // // // // Note: If the edit is true then the account is being edited. // // Otherwise it is being registered. // //==================================================================================// public static bool StoreAcademicData(AcademicModel academic, ref bool edit) { int UserId = WebSecurity.GetUserId(academic.PrimaryEmailAddress); edit = false; try { ProspectiveAcademic CurrentAcademic; using (ITintheDTestTableEntities context = new ITintheDTestTableEntities()) { // Put everything we find in the database in the var variable. All the // information will be gotten using the User ID. var AcademicData = from r in context.ProspectiveAcademic where r.AcademicId == UserId select r; // If the user has some information then edit it. // Otherwise register the account. if (AcademicData.Count() > 0 && UserId > 0) { CurrentAcademic = AcademicData.FirstOrDefault(); CurrentAcademic.Status = academic.AccountStatus; CurrentAcademic.AcademyAddress = academic.AcademyAddress; CurrentAcademic.AcademyName = academic.AcademyName; CurrentAcademic.PrimaryContactName = academic.PrimaryContactName; CurrentAcademic.PrimaryEmailAddress = academic.PrimaryEmailAddress; CurrentAcademic.PrimaryTitle = academic.PrimaryTitle; CurrentAcademic.PrimaryTelephone = academic.PrimaryTelephone; CurrentAcademic.SecondaryContactName = academic.SecondaryContactName; CurrentAcademic.SecondaryEmailAddress = academic.SecondaryEmailAddress; CurrentAcademic.SecondaryTitle = academic.SecondaryTitle; CurrentAcademic.SecondaryTelephone = academic.SecondaryTelephone; CurrentAcademic.AcademicInstitutionTextField = academic.AcademicInstitutionTextField; CurrentAcademic.AcademicId = UserId; // Store the avatar if it is supplied. if (academic.ImageFile != null) { UserImage image = new UserImage(); using (MemoryStream ms = new MemoryStream()) { academic.ImageFile.InputStream.CopyTo(ms); image.FileContent = ms.ToArray(); image.FileName = Path.GetFileName(academic.ImageFile.FileName); image.ContentType = academic.ImageFile.ContentType; image.ContentLength = academic.ImageFile.ContentLength; DatabaseHelper.UploadImage(image, CurrentAcademic.AcademicId); CurrentAcademic.ImageUploaded = "Yes"; academic.ImageUploaded = "Yes"; } } edit = true; } else { CurrentAcademic = new ProspectiveAcademic(); CurrentAcademic.Status = academic.AccountStatus; CurrentAcademic.AcademyAddress = academic.AcademyAddress; CurrentAcademic.AcademyName = academic.AcademyName; CurrentAcademic.PrimaryContactName = academic.PrimaryContactName; CurrentAcademic.PrimaryEmailAddress = academic.PrimaryEmailAddress; CurrentAcademic.PrimaryTitle = academic.PrimaryTitle; CurrentAcademic.PrimaryTelephone = academic.PrimaryTelephone; CurrentAcademic.SecondaryContactName = academic.SecondaryContactName; CurrentAcademic.SecondaryEmailAddress = academic.SecondaryEmailAddress; CurrentAcademic.SecondaryTitle = academic.SecondaryTitle; CurrentAcademic.SecondaryTelephone = academic.SecondaryTelephone; CurrentAcademic.AcademicInstitutionTextField = academic.AcademicInstitutionTextField; context.AddToProspectiveAcademic(CurrentAcademic); } try { // If the account is edited then save changes. Otherwise register the account. if (edit == false) { WebSecurity.CreateUserAndAccount(academic.PrimaryEmailAddress, academic.Password); WebSecurity.Login(academic.PrimaryEmailAddress, academic.Password); DatabaseHelper.AddUserToRole(academic.PrimaryEmailAddress, "Educator"); CurrentAcademic.AcademicId = WebSecurity.GetUserId(academic.PrimaryEmailAddress); // Store the avatar if it is supplied. if (academic.ImageFile != null) { UserImage image = new UserImage(); using (MemoryStream ms = new MemoryStream()) { academic.ImageFile.InputStream.CopyTo(ms); image.FileContent = ms.ToArray(); image.FileName = Path.GetFileName(academic.ImageFile.FileName); image.ContentType = academic.ImageFile.ContentType; image.ContentLength = academic.ImageFile.ContentLength; DatabaseHelper.UploadImage(image, CurrentAcademic.AcademicId); CurrentAcademic.ImageUploaded = "Yes"; academic.ImageUploaded = "Yes"; } } else { CurrentAcademic.ImageUploaded = "No"; academic.ImageUploaded = "No"; } } context.SaveChanges(); return true; } catch (Exception ex) { return false; } } } catch { return false; } }
public void ShouldCorrectlySetEntityStatesForAddedObjectGraph() { //arrange DataFormSettingsDescriptor formDescriptor = Descriptors.AcademicForm; AcademicModel academicModel = null; ObservableCollection <IValidatable> modifiedProperties = CreateValidatablesFormSettings(formDescriptor, typeof(AcademicModel)); IDictionary <string, IValidatable> propertiesDictionary = modifiedProperties.ToDictionary(property => property.Name); propertiesDictionary["LastHighSchoolLocation"].Value = "NC"; propertiesDictionary["NcHighSchoolName"].Value = "NCSCHOOL1"; propertiesDictionary["FromDate"].Value = new DateTime(2019, 5, 20); propertiesDictionary["ToDate"].Value = new DateTime(2021, 5, 20); propertiesDictionary["GraduationStatus"].Value = "DP"; propertiesDictionary["EarnedCreditAtCmc"].Value = true; propertiesDictionary["Institutions"].Value = new ObservableCollection <InstitutionModel> ( new List <InstitutionModel> { new InstitutionModel { InstitutionId = 1, InstitutionState = "FL", InstitutionName = "I1", StartYear = "2011", EndYear = "2013", HighestDegreeEarned = "CT" }, new InstitutionModel { InstitutionId = 2, InstitutionState = "GA", InstitutionName = "I1", StartYear = "2012", EndYear = "2014", HighestDegreeEarned = "DP" }, new InstitutionModel { InstitutionId = 4, InstitutionState = "AL", InstitutionName = "I2", StartYear = "2016", EndYear = "2019", HighestDegreeEarned = "MA" } } ); AcademicModel currentAcademic = serviceProvider.GetRequiredService <IEntityStateUpdater>().GetUpdatedModel ( academicModel, academicModel.EntityToObjectDictionary ( serviceProvider.GetRequiredService <IMapper>(), formDescriptor.FieldSettings ), modifiedProperties, formDescriptor.FieldSettings ); Assert.Equal(LogicBuilder.Domain.EntityStateType.Added, currentAcademic.EntityState); Assert.Equal(LogicBuilder.Domain.EntityStateType.Added, currentAcademic.Institutions.Single(c => c.InstitutionId == 1).EntityState); Assert.Equal(LogicBuilder.Domain.EntityStateType.Added, currentAcademic.Institutions.Single(c => c.InstitutionId == 2).EntityState); Assert.Equal(LogicBuilder.Domain.EntityStateType.Added, currentAcademic.Institutions.Single(c => c.InstitutionId == 4).EntityState); Assert.Equal(3, currentAcademic.Institutions.Count); }