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(); } }
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); }
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); } }
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); }
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)); } }
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)); }
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); }
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); }
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); }
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(); }
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); }
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 } }
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)); } }
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); } }
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); } }
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); } }
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"; } } }