コード例 #1
0
        //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));
        }
コード例 #2
0
        //==================================================================================//
        //      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);
            }
        }
コード例 #3
0
        // GET: Dynamic Academic page.
        public ActionResult DisplayAcademicPage()
        {
            AcademicModel currentAcademic = new AcademicModel();

            currentAcademic = DatabaseHelper.GetAcademicdData(currentAcademic, WebSecurity.GetUserId(User.Identity.Name));

            return View(currentAcademic);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        public ActionResult DisplayAcademic()
        {
            AcademicModel academic = new AcademicModel();
            if (DatabaseHelper.GetAcademicdData(academic, -1) == null)
            {
                TempData["RegistrationMessage"] = "Academic institution registration form.";
            }

            return View(academic);
        }
コード例 #6
0
        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 });
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        // 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");
                }
            }
        }
コード例 #11
0
        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");
        }
コード例 #12
0
        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);
        }
コード例 #13
0
        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);
        }
コード例 #14
0
        //==================================================================================//
        //      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;
            }
        }
コード例 #15
0
        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);
        }