public EmployeeDescription(PublicUserInfo info, Double rate, Project proj)
 {
     this.Employee = info;
     this.HourlyRate = rate;
     this.Project = proj;
 }
 public void RelationsFromEmployeeDescriptionMustExist2()
 {
     User manager = new User() { PublicUserInfo = new PublicUserInfo() { Login = "******" } };
     Project project = new Project() { Manager = manager.PublicUserInfo };
     Dao.SetProject(project);
     EmployeeDescription employeeDescription = new EmployeeDescription() { Project = project, Employee = null };
     Dao.SetEmployeeDescription(employeeDescription);
 }
 public void GetLastSummariesReturnsLastSummaries()
 {
     User user = new User { PublicUserInfo = new PublicUserInfo { Login = "******" } };
     Project project = new Project { Manager = user.PublicUserInfo };
     EmployeeDescription empDesc = new EmployeeDescription { Employee = user.PublicUserInfo, Project = project };
     Summary sum1 = new Summary { Date = new DateTime(2012, 10, 01), EmployeeDescription = empDesc };
     Summary sum2 = new Summary { Date = new DateTime(2012, 09, 01), EmployeeDescription = empDesc };
     Summary sum3 = new Summary { Date = new DateTime(2013, 01, 01), EmployeeDescription = empDesc };
     Dao.SetUser(user);
     Dao.SetProject(project);
     Dao.SetEmployeeDescription(empDesc);
     Dao.SetSummary(sum1);
     Dao.SetSummary(sum2);
     Dao.SetSummary(sum3);
     var sums = Dao.GetLastSummaries(empDesc, 2);
     Assert.AreEqual(sum3, sums[0]);
     Assert.AreEqual(sum1, sums[1]);
     Assert.AreEqual(2, sums.Count);
 }
 public void RelationsFromProjectMustExist()
 {
     Project project = new Project() { Manager = null };
     Dao.SetProject(project);
 }
 private void PrepareForRemoving(String Login)
 {
     PublicUserInfo userInfo = new PublicUserInfo() { Login = "******" };
     User user = new User() { PublicUserInfo = userInfo };
     Project project = new Project() { Manager = userInfo };
     EmployeeDescription employeeDescription = new EmployeeDescription() { Employee = userInfo, Project = project };
     Contract contract = new Contract() { Creator = userInfo, Employee = userInfo, Project = project };
     WorkRecord record = new WorkRecord { EmployeeDescription = employeeDescription, MinutesWorked = 12 };
     Summary summary = new Summary { EmployeeDescription = employeeDescription };
     Dao.SetUser(user);
     Assert.IsFalse(Dao.GetEmployeeDescriptions(user).Count > 0);
     Assert.IsFalse(Dao.GetRecords(user).Count > 0);
     Assert.IsFalse(Dao.GetSummaries(user).Count > 0);
     Assert.IsFalse(Dao.GetContracts(user).Count > 0);
     Dao.SetProject(project);
     Dao.SetEmployeeDescription(employeeDescription);
     Dao.SetRecord(record);
     Dao.SetSummary(summary);
     Dao.SetContract(contract);
     Assert.IsTrue(Dao.GetEmployeeDescriptions(user).Count > 0);
     Assert.IsTrue(Dao.GetRecords(user).Count > 0);
     Assert.IsTrue(Dao.GetContracts(user).Count > 0);
     Assert.IsTrue(Dao.GetSummaries(user).Count > 0);
 }
 public void RemovedRecordIsRemovedPermanently()
 {
     PublicUserInfo userInfo = new PublicUserInfo() { Login = "******" };
     Project project = new Project() { Manager = userInfo };
     EmployeeDescription employeeDescription = new EmployeeDescription() { Employee = userInfo, Project = project };
     WorkRecord workRecord = new WorkRecord() { EmployeeDescription = employeeDescription };
     User user = new User() { PublicUserInfo = userInfo };
     Dao.SetUser(user);
     Dao.SetProject(project);
     Dao.SetEmployeeDescription(employeeDescription);
     Dao.SetRecord(workRecord);
     Assert.IsTrue(Dao.GetRecordsOfEmployee(employeeDescription).Count > 0);
     Dao.RemoveRecord(workRecord);
     Assert.IsFalse(Dao.GetRecordsOfEmployee(employeeDescription).Count > 0);
 }
 public void TestGetContractsOfManager()
 {
     var robinHood = new User { PublicUserInfo = new PublicUserInfo { Login = "******", Name = "Robin" } };
     Dao.SetUser(robinHood);
     Project project = new Project() { Manager = robinHood.PublicUserInfo };
     Dao.SetProject(project);
     Contract contract = new Contract
     {
         Creator = robinHood.PublicUserInfo,
         Employee = robinHood.PublicUserInfo,
         Project = project
     };
     Dao.SetContract(contract);
     Assert.AreEqual(1, Dao.GetContractsOfManager(robinHood).Count);
     Assert.AreEqual(contract, Dao.GetContractsOfManager(robinHood)[0]);
 }
 public void TestSetHourlyRate()
 {
     var robinHood = new User { PublicUserInfo = new PublicUserInfo { Login = "******", Name = "Robin" } };
     var project = new Project() { Manager = robinHood.PublicUserInfo };
     var desc = new EmployeeDescription { HourlyRate = 100, Employee = robinHood.PublicUserInfo, Project = project };
     Dao.SetUser(robinHood);
     Dao.SetProject(project);
     Dao.SetEmployeeDescription(desc);
     Dao.SetHourlyRate(desc, 200);
     Assert.AreEqual(200, Dao.GetEmployeeDescriptions(robinHood)[0].HourlyRate);
 }