Example #1
0
        public void UpdateEmail()
        {
            Applicant target = NHibernateHelper.DaoFactory.GetApplicantDao().GetById(StaticProperties.ExistingApplicantID, false);

            string originalEmail = target.Email;

            target.Email = StaticProperties.TestString;

            Assert.IsTrue(ValidateBO <Applicant> .isValid(target)); //make sure the target is valid before saving

            using (var ts = new TransactionScope())
            {
                target = NHibernateHelper.DaoFactory.GetApplicantDao().SaveOrUpdate(target);

                ts.CommitTransaction();
            }

            //Get the target back out of the database
            Applicant targetDB = NHibernateHelper.DaoFactory.GetApplicantDao().GetById(StaticProperties.ExistingApplicantID, false);

            //Make sure the email was changed
            Assert.AreEqual <string>(targetDB.Email, StaticProperties.TestString);

            //Change it back
            targetDB.Email = originalEmail;

            Assert.IsTrue(ValidateBO <Applicant> .isValid(targetDB)); //make sure the target is valid before saving

            using (var ts = new TransactionScope())
            {
                NHibernateHelper.DaoFactory.GetApplicantDao().SaveOrUpdate(targetDB);

                ts.CommitTransaction();
            }
        }
Example #2
0
        public void SaveDeleteTest()
        {
            CommitteeMember member = new CommitteeMember();

            MemberType mtype = NHibernateHelper.DaoFactory.GetMemberTypeDao().GetById((int)MemberTypes.CommitteeMember, false);

            //member.Email = StaticProperties.TestString;
            //member.UserID = StaticProperties.ExistingUserID;
            member.AssociatedPosition = NHibernateHelper.DaoFactory.GetPositionDao().GetById(StaticProperties.ExistingPositionID, false);
            member.DepartmentMember   = NHibernateHelper.DaoFactory.GetDepartmentMemberDao().GetById(1, false);
            member.MemberType         = mtype;

            //Make sure the file is valid
            Assert.IsTrue(ValidateBO <CommitteeMember> .isValid(member), "CommitteeMember not valid: " + member.getValidationResultsAsString(member));

            Assert.IsTrue(member.IsTransient()); //file is not saved

            using (var ts = new TransactionScope())
            {
                member = NHibernateHelper.DaoFactory.GetCommitteeMemberDao().SaveOrUpdate(member);

                ts.CommitTransaction();
            }

            Assert.IsFalse(member.IsTransient());

            CommitteeMember memberDB = new CommitteeMember();

            //Get a new file using the saved file's ID
            memberDB = NHibernateHelper.DaoFactory.GetCommitteeMemberDao().GetById(member.ID, false);

            //Make sure they are the same
            Assert.AreEqual(member, memberDB);

            this.TestContext.WriteLine("Member Created had ID = {0}", memberDB.ID);

            //Now delete the file
            using (var ts = new TransactionScope())
            {
                NHibernateHelper.DaoFactory.GetCommitteeMemberDao().Delete(member);

                ts.CommitTransaction();
            }

            //Make sure it is deleted
            bool isDeleted = false;

            try
            {
                member = NHibernateHelper.DaoFactory.GetCommitteeMemberDao().GetById(memberDB.ID, false);
                member.IsTransient();
            }
            catch (NHibernate.ObjectNotFoundException)
            {
                isDeleted = true;
            }

            Assert.IsTrue(isDeleted);
        }
Example #3
0
    private bool UploadReferences(int referenceID, byte[] uploadedFile)
    {
        FileType referenceFileType = daoFactory.GetFileTypeDao().GetFileTypeByName(STR_LetterOfRec);

        Reference selectedReference = daoFactory.GetReferenceDao().GetById(referenceID, false);

        //If there is already a reference file, we need to delete it
        if (selectedReference.ReferenceFile != null)
        {
            using (var ts = new TransactionScope())
            {
                int fileID = selectedReference.ReferenceFile.ID;

                daoFactory.GetFileDao().Delete(selectedReference.ReferenceFile);
                selectedReference.ReferenceFile = null;

                //Delete the file from the file system
                System.IO.FileInfo fileToDelete = new System.IO.FileInfo(FilePath + fileID.ToString());
                fileToDelete.Delete();

                daoFactory.GetReferenceDao().SaveOrUpdate(selectedReference);

                ts.CommitTransaction();
            }
        }

        File file = new File();

        file.FileName = selectedReference.FullName + ".pdf";
        file.FileType = referenceFileType;

        using (var ts = new TransactionScope())
        {
            file = daoFactory.GetFileDao().Save(file);

            ts.CommitTransaction();
        }

        if (ValidateBO <File> .isValid(file))
        {
            SaveReferenceWithWatermark(uploadedFile, file.ID.ToString());

            selectedReference.ReferenceFile = file;

            using (var ts = new TransactionScope())
            {
                daoFactory.GetReferenceDao().SaveOrUpdate(selectedReference);

                ts.CommitTransaction();
            }

            return(true);
        }
        else
        {
            return(false);
        }
    }
Example #4
0
        public void SaveDeleteTest()
        {
            CAESDO.Recruitment.Core.Domain.File file = new CAESDO.Recruitment.Core.Domain.File();

            FileType ftype = NHibernateHelper.DaoFactory.GetFileTypeDao().GetById(StaticProperties.ExistingFileTypeID, false);

            file.FileType = ftype;
            file.FileName = StaticProperties.TestString;
            file.Label    = string.Empty;

            //Make sure the file is valid
            Assert.IsTrue(ValidateBO <CAESDO.Recruitment.Core.Domain.File> .isValid(file), "File Not Valid");

            Assert.IsTrue(file.IsTransient()); //file is not saved

            using (var ts = new TransactionScope())
            {
                file = NHibernateHelper.DaoFactory.GetFileDao().SaveOrUpdate(file);

                ts.CommitTransaction();
            }

            Assert.IsFalse(file.IsTransient()); //file should now be saved

            CAESDO.Recruitment.Core.Domain.File fileDB = new CAESDO.Recruitment.Core.Domain.File();

            //Get a new file using the saved file's ID
            fileDB = NHibernateHelper.DaoFactory.GetFileDao().GetById(file.ID, false);

            //Make sure they are the same
            Assert.AreEqual(file, fileDB);

            this.TestContext.WriteLine("File Created had ID = {0}", fileDB.ID);

            //Now delete the file
            using (var ts = new TransactionScope())
            {
                NHibernateHelper.DaoFactory.GetFileDao().Delete(file);

                ts.CommitTransaction();
            }

            //Make sure it is deleted
            bool isDeleted = false;

            try
            {
                file = NHibernateHelper.DaoFactory.GetFileDao().GetById(fileDB.ID, false);
                file.IsTransient();
            }
            catch (NHibernate.ObjectNotFoundException)
            {
                isDeleted = true;
            }

            Assert.IsTrue(isDeleted);
        }
Example #5
0
        public void ValidateAllTest()
        {
            List <CAESDO.Recruitment.Core.Domain.File> f = NHibernateHelper.DaoFactory.GetFileDao().GetAll();

            foreach (CAESDO.Recruitment.Core.Domain.File file in f)
            {
                Assert.IsTrue(ValidateBO <CAESDO.Recruitment.Core.Domain.File> .isValid(file));
            }
        }
Example #6
0
        private void ValidateResults(Reference reference)
        {
            this.TestContext.WriteLine("PositionID = {0}", reference.ID);

            foreach (ValidationResult res in ValidateBO <Reference> .GetValidationResults(reference))
            {
                this.TestContext.WriteLine("Key = {0}, Message = {1}", res.Key, res.Message);
            }
            Assert.IsTrue(ValidateBO <Reference> .isValid(reference));
        }
Example #7
0
        public void SaveDeleteProfile()
        {
            Applicant applicant = NHibernateHelper.DaoFactory.GetApplicantDao().GetById(StaticProperties.ExistingApplicantID, false);

            Profile target = new Profile();

            target.AssociatedApplicant = applicant; //associate with the applicant
            target.Address1            = StaticProperties.TestString;
            target.City      = StaticProperties.TestString;
            target.State     = StaticProperties.TestString;
            target.FirstName = StaticProperties.TestString;
            target.LastName  = StaticProperties.TestString;

            //Validate before saving
            Assert.IsTrue(ValidateBO <Profile> .isValid(target), "Target Profile not valid");

            using (var ts = new TransactionScope())
            {
                target = NHibernateHelper.DaoFactory.GetProfileDao().Save(target); //save the target

                ts.CommitTransaction();
            }

            this.TestContext.WriteLine("Profile created: ID={0}", target.ID);

            Assert.IsNotNull(target);
            Assert.IsFalse(target.IsTransient()); //make sure that target is saved to the database

            Profile targetDB = NHibernateHelper.DaoFactory.GetProfileDao().GetById(target.ID, false);

            Assert.IsNotNull(targetDB);
            Assert.AreEqual <Profile>(target, targetDB);

            //Now delete the new profile
            using (var ts = new TransactionScope())
            {
                NHibernateHelper.DaoFactory.GetProfileDao().Delete(target);

                ts.CommitTransaction();
            }
            //Make sure it is deleted
            bool isDeleted = false;

            try
            {
                targetDB = NHibernateHelper.DaoFactory.GetProfileDao().GetById(target.ID, false);
                targetDB.IsTransient(); //check to see if its in the db
            }
            catch (NHibernate.ObjectNotFoundException)
            {
                isDeleted = true;
            }

            Assert.IsTrue(isDeleted);
        }
Example #8
0
        public void SaveDeleteApplication()
        {
            Application target = new Application();

            target.AppliedPosition   = NHibernateHelper.DaoFactory.GetPositionDao().GetById(StaticProperties.ExistingPositionID, false);
            target.AssociatedProfile = NHibernateHelper.DaoFactory.GetProfileDao().GetById(StaticProperties.ExistingProfileID, false);
            //target.ReferSource = NHibernateHelper.DaoFactory.GetReferSourceDao().GetUniqueByExample(new ReferSource("Internet"));

            target.Email       = StaticProperties.TestString;
            target.LastUpdated = DateTime.Now;
            target.Submitted   = false;

            Assert.IsTrue(ValidateBO <Application> .isValid(target));

            Assert.IsTrue(target.IsTransient());

            using (var ts = new TransactionScope())
            {
                target = NHibernateHelper.DaoFactory.GetApplicationDao().SaveOrUpdate(target);

                ts.CommitTransaction();
            }

            Assert.IsFalse(target.IsTransient());

            Application targetDB = NHibernateHelper.DaoFactory.GetApplicationDao().GetById(target.ID, false);

            Assert.AreEqual <Application>(target, targetDB);

            this.TestContext.WriteLine("Application Created had ID = {0}", target.ID);

            using (var ts = new TransactionScope())
            {
                NHibernateHelper.DaoFactory.GetApplicationDao().Delete(target);

                ts.CommitTransaction();
            }

            //Make sure it is deleted
            bool isDeleted = false;

            try
            {
                target = NHibernateHelper.DaoFactory.GetApplicationDao().GetById(targetDB.ID, false);
                target.IsTransient();
            }
            catch (NHibernate.ObjectNotFoundException)
            {
                isDeleted = true;
            }

            Assert.IsTrue(isDeleted);
        }
Example #9
0
        public void ValidateAllTest()
        {
            List <Applicant> applicants = NHibernateHelper.DaoFactory.GetApplicantDao().GetAll();

            Assert.IsFalse(applicants.Count == 0);

            foreach (Applicant app in applicants)
            {
                Assert.IsTrue(ValidateBO <Applicant> .isValid(app));

                this.TestContext.WriteLine("Applicant ID = {0}, Email = {1}", app.ID, app.Email);
            }
        }
        public void SaveDeleteTest()
        {
            ChangeTracking tracking = new ChangeTracking();

            ChangeType ctype = NHibernateHelper.DaoFactory.GetChangeTypeDao().GetById((int)ChangeTypes.Update, false);

            tracking.ObjectChanged   = StaticProperties.TestString;
            tracking.ObjectChangedID = StaticProperties.ExistingProfileID.ToString();
            tracking.ChangeType      = ctype;

            Assert.IsTrue(ValidateBO <ChangeTracking> .isValid(tracking), "Tracking Object Not Valid");

            Assert.IsTrue(tracking.IsTransient());

            using (var ts = new TransactionScope())
            {
                tracking = NHibernateHelper.DaoFactory.GetChangeTrackingDao().SaveOrUpdate(tracking);

                ts.CommitTransaction();
            }

            Assert.IsFalse(tracking.IsTransient());

            ChangeTracking trackingDB = NHibernateHelper.DaoFactory.GetChangeTrackingDao().GetById(tracking.ID, false);

            Assert.AreEqual <ChangeTracking>(tracking, trackingDB);

            this.TestContext.WriteLine("Tracking Created had ID = {0}", trackingDB.ID);

            using (var ts = new TransactionScope())
            {
                NHibernateHelper.DaoFactory.GetChangeTrackingDao().Delete(tracking);

                ts.CommitTransaction();
            }

            ////Make sure it is deleted
            bool isDeleted = false;

            try
            {
                tracking = NHibernateHelper.DaoFactory.GetChangeTrackingDao().GetById(trackingDB.ID, false);
                tracking.IsTransient();
            }
            catch (NHibernate.ObjectNotFoundException)
            {
                isDeleted = true;
            }

            Assert.IsTrue(isDeleted);
        }
Example #11
0
        public void ValidateAllTest()
        {
            List <CommitteeMember> cList = NHibernateHelper.DaoFactory.GetCommitteeMemberDao().GetAll();

            Assert.AreNotEqual <int>(0, cList.Count); //should be at least on committeemember

            //Make sure every committeeMember in the database is valid
            foreach (CommitteeMember c in cList)
            {
                Assert.IsTrue(ValidateBO <CommitteeMember> .isValid(c));

                //this.TestContext.WriteLine("CommitteeMemberID = {0}, UserID = {1}, MemberType = {2}", c.ID, c.UserID, c.MemberType.Type);
            }
        }
        private void TrackChanges(List <ChangedProperty> changeList, object target, object id, ChangeTypes changeType)
        {
            ITrackable trackableObject = target as ITrackable;

            if (trackableObject == null || trackableObject.isTracked() == false)
            {
                return;
            }

            if (HttpContext.Current == null)
            {
                return;
            }

            ChangeTracking trackChange = new ChangeTracking();

            if (trackableObject.arePropertiesTracked())
            {
                trackChange.AppendProperties(changeList, trackChange);
            }

            trackChange.ChangeType = new NHibernateDaoFactory().GetChangeTypeDao().GetById((int)changeType, false);

            trackChange.UserName        = HttpContext.Current.User.Identity.Name;
            trackChange.ObjectChanged   = target.GetType().Name;
            trackChange.ObjectChangedID = id == null ? null : id.ToString();

            //Now we have a tracking object with the changed properties added to its change list
            //Make sure it is valid
            if (ValidateBO <ChangeTracking> .isValid(trackChange))
            {
                //Don't put this in a transaction becuase we are already in a transaction from the save/update/delete
                new NHibernateDaoFactory().GetChangeTrackingDao().SaveOrUpdate(trackChange);
            }

            //System.IO.StreamWriter writer = new System.IO.StreamWriter(HttpContext.Current.Server.MapPath("RecruitmentTracking.txt"),true);

            //writer.WriteLine("ChangeID {0} => Object type {1} with ID {2} was modified as follows", Guid.NewGuid(), target.GetType().Name, id.ToString());

            //foreach (ChangedProperty change in changeList)
            //{
            //    //trackChange.PropertyChanged = change.type.Name;
            //    //trackChange.PropertyChangedValue = change.NewValue;

            //    writer.WriteLine("--- Property {0} was changed to {1}", change.PropertyChanged, change.PropertyChangedValue);
            //}

            //writer.Close();
        }
Example #13
0
        private static Reference Save(Reference reference)
        {
            // Validate before saving
            Assert.IsTrue(ValidateBO <Reference> .isValid(reference), "Test Wrangler not valid");

            using (var ts = new TransactionScope())
            {
                // TODO: Implement GetReferenceDao()

                // position = NHibernateHelper.DaoFactory.GetReferenceDao().SaveOrUpdate(reference);
            }

            // Verify save happened
            Assert.IsNotNull(reference);
            Assert.IsFalse(reference.IsTransient(), "Position not persisted by NHibernate to database");
            return(reference);
        }
Example #14
0
        public void ValidateAllTest()
        {
            List <Profile> pList = NHibernateHelper.DaoFactory.GetProfileDao().GetAll();

            Assert.AreNotEqual <int>(0, pList.Count);

            foreach (Profile p in pList)
            {
                this.TestContext.WriteLine("Profile ID = {0}, Associated with Applicant ID = {1}", p.ID, p.AssociatedApplicant.ID);

                foreach (ValidationResult res in ValidateBO <Profile> .GetValidationResults(p))
                {
                    this.TestContext.WriteLine("Key = {0}, Message = {1}", res.Key, res.Message);
                }

                Assert.IsTrue(ValidateBO <Profile> .isValid(p)); //profile is valid
            }
        }
Example #15
0
        public void ValidateAllTest()
        {
            List <Application> appList = NHibernateHelper.DaoFactory.GetApplicationDao().GetAll();

            Assert.AreNotEqual <int>(0, appList.Count);

            foreach (Application app in appList)
            {
                this.TestContext.WriteLine("PositionID = {0}", app.ID);

                foreach (ValidationResult res in ValidateBO <Application> .GetValidationResults(app))
                {
                    this.TestContext.WriteLine("Key = {0}, Message = {1}", res.Key, res.Message);
                }

                Assert.IsTrue(ValidateBO <Application> .isValid(app));
            }
        }
Example #16
0
    private bool UploadFiles(int applicationID, int fileTypeID, byte[] uploadedFile)
    {
        FileType    selectedFileType    = daoFactory.GetFileTypeDao().GetById(fileTypeID, false);
        Application selectedApplication = daoFactory.GetApplicationDao().GetById(applicationID, false);

        //For all fileTypes except for Publications we should remove existing files
        if (selectedFileType.FileTypeName != STR_Publication && selectedFileType.FileTypeName != STR_LetterOfRec)
        {
            RemoveAllFilesOfType(selectedApplication, selectedFileType.FileTypeName);
        }

        File file = new File();

        file.FileName = selectedFileType.FileTypeName + ".pdf";
        file.FileType = selectedFileType;

        using (var ts = new TransactionScope())
        {
            file = daoFactory.GetFileDao().Save(file);

            ts.CommitTransaction();
        }

        if (ValidateBO <File> .isValid(file))
        {
            System.IO.File.WriteAllBytes(FilePath + file.ID.ToString(), uploadedFile);

            selectedApplication.Files.Add(file);

            using (var ts = new TransactionScope())
            {
                daoFactory.GetApplicationDao().SaveOrUpdate(selectedApplication);

                ts.CommitTransaction();
            }

            return(true);
        }
        else
        {
            return(false);
        }
    }
Example #17
0
        private bool ValidateConfiguration()
        {
            string msg = "";

            if (!ValidateBO.IsInt32(this.txtMaximumRetryCount.Text))
            {
                msg += OBBO.dom();
            }
            if (!ValidateBO.IsInt32(this.txtTimerLength.Text))
            {
                msg += OBBO.mok();
            }
            if (msg.Length > 0)
            {
                System.Windows.Forms.Form iForm = new InfoMessageForm(msg, OBBO.er());
                iForm.ShowDialog();
                return(false);
            }
            return(true);
        }
Example #18
0
        public void FileTypeTest()
        {
            List <CAESDO.Recruitment.Core.Domain.File> files = NHibernateHelper.DaoFactory.GetFileDao().GetAll();

            Assert.AreNotEqual <int>(files.Count, 0); //Make sure we got more than one file

            foreach (CAESDO.Recruitment.Core.Domain.File f in files)
            {
                //Make sure each file is valid
                Assert.IsTrue(ValidateBO <CAESDO.Recruitment.Core.Domain.File> .isValid(f), "Validation of File ID = {0} failed", f.ID);

                //Make sure each filetypeID is a pos integer with a database association
                Assert.IsTrue(f.FileType.ID > 0);
                Assert.IsFalse(f.FileType.IsTransient());

                Assert.IsFalse(string.IsNullOrEmpty(f.FileType.FileTypeName));

                this.TestContext.WriteLine("FileID = {0}, FileName = {1}, FileTypeID = {2}", f.ID, f.FileName, f.FileType.ID);
            }
        }
Example #19
0
    private bool UploadPublications(int applicationID, byte[] uploadedFile)
    {
        FileType    publicationsFileType = daoFactory.GetFileTypeDao().GetFileTypeByName(STR_Publication);
        Application selectedApplication  = daoFactory.GetApplicationDao().GetById(applicationID, false);

        File publication = new File();

        publication.FileName = publicationsFileType.FileTypeName + ".pdf";
        publication.FileType = publicationsFileType;

        using (var ts = new TransactionScope())
        {
            publication = daoFactory.GetFileDao().Save(publication);

            ts.CommitTransaction();
        }

        if (ValidateBO <File> .isValid(publication))
        {
            System.IO.File.WriteAllBytes(FilePath + publication.ID.ToString(), uploadedFile);

            selectedApplication.Files.Add(publication);

            using (var ts = new TransactionScope())
            {
                daoFactory.GetApplicationDao().SaveOrUpdate(selectedApplication);

                ts.CommitTransaction();
            }

            return(true);
        }
        else
        {
            return(false);
        }
    }
Example #20
0
        private void UploadReferences()
        {
            FileType referenceFileType = FileTypeBLL.GetByName(STR_LetterOfRec);

            if (fileUploadReference.HasFile)
            {
                if (FileBLL.IsPostedFilePDF(fileUploadReference.PostedFile))
                {
                    File file = new File();

                    file.FileName = fileUploadReference.FileName;
                    file.FileType = referenceFileType;

                    using (var ts = new TransactionScope())
                    {
                        FileBLL.EnsurePersistent(file, true);

                        ts.CommitTransaction();
                    }

                    if (ValidateBO <File> .isValid(file))
                    {
                        SaveReferenceWithWatermark(fileUploadReference, file.ID.ToString());

                        currentReference.ReferenceFile = file;

                        using (var ts = new TransactionScope())
                        {
                            ReferenceBLL.EnsurePersistent(currentReference);

                            ts.CommitTransaction();
                        }

                        //Send confirmation email after success -- if there are errors, ignore
                        try
                        {
                            System.Net.Mail.SmtpClient mail = new System.Net.Mail.SmtpClient();

                            string subject = "Reference Upload Confirmation";

                            StringBuilder bodyText = new StringBuilder();

                            bodyText.AppendFormat("Your reference letter for {0}, who applied to the {1} position at the University of California, has been successfully received.", currentReference.AssociatedApplication.AssociatedProfile.FullName, currentReference.AssociatedApplication.AppliedPosition.PositionTitle);
                            bodyText.AppendFormat("  We appreciate your comments.", currentReference.AssociatedApplication.AssociatedProfile.LastName);

                            MailMessage message = new MailMessage(currentReference.AssociatedApplication.AppliedPosition.HREmail, currentReference.Email, subject, bodyText.ToString());
                            message.IsBodyHtml = true;

                            mail.Send(message); //Send the message
                        }
                        catch (Exception) { } //Continue on failure

                        Response.Redirect(UploadReferenceSuccessURL);
                    }
                    else
                    {
                        lblUploadStatus.Text = "There was an unexpected error uploading your file";
                    }
                }
                else
                {
                    lblUploadStatus.Text = "Please upload a file in PDF format";
                }
            }
        }
Example #21
0
 private bool Verify()
 {
     return(ValidateBO.IsInt32(txtMaximumRetryCount.Text) && ValidateBO.IsInt32(txtTimerLength.Text));
 }