Пример #1
0
        public void GenerateEmailBodyForEstimationTeamTest()
        {
            DateTime dt = new DateTime(2011, 02, 14);

            CS_JobDescription csJobDescription = new CS_JobDescription()
                                                     {
                                                         Active = true,
                                                         NumberEmpties = 1,
                                                         NumberLoads = 2,
                                                         NumberEngines = 1
                                                     };

            CS_Division division = new CS_Division()
                                       {
                                           ID = 241,
                                           Active = true,
                                           Name = "005",
                                           Description = "White River, Ontario"
                                       };

            CS_JobDivision jobdivision = new CS_JobDivision()
                                          {
                                              Active = true,
                                              JobID = 243,
                                              DivisionID = 241,
                                              CS_Division = division
                                          };

            CS_Employee employee = new CS_Employee()
                                       {
                                           Active = true,
                                           Name = "Dcecilia",
                                           FirstName = "Test",
                                           DivisionID = 241
                                       };

            CS_Reserve reserve = new CS_Reserve()
                                     {
                                         Active = true,
                                         JobID = 243,
                                         Type = 2,
                                         CS_Employee = employee,
                                         DivisionID = 241
                                     };

            EntityCollection<CS_JobDivision> JobDivision = new EntityCollection<CS_JobDivision>();

            JobDivision.Add(jobdivision);

            CS_ScopeOfWork csScopeOfWork = new CS_ScopeOfWork()
            {
                Active = true,
                ScopeOfWork = "xxcxcxc",
                JobId = 243
            };

            EntityCollection<CS_Reserve> csReserves = new EntityCollection<CS_Reserve>();
            csReserves.Add(reserve);

            EntityCollection<CS_ScopeOfWork> scopeOfWorks = new EntityCollection<CS_ScopeOfWork>();
            scopeOfWorks.Add(csScopeOfWork);

            //Arrange
            FakeObjectSet<CS_Job> fakeJobObject = new FakeObjectSet<CS_Job>();
            fakeJobObject.AddObject
                (
                    new CS_Job()
                        {
                            ID = 243,
                            Active = true,
                            CreatedBy = "rbrandao",
                            CreationDate = DateTime.Now,
                            ModificationDate = DateTime.Now,
                            ModifiedBy = "Load",
                            Internal_Tracking = "000000025INT",
                            CS_ScopeOfWork = scopeOfWorks,
                            CS_JobDivision = JobDivision,
                            CS_Reserve = csReserves,
                            CS_CustomerInfo = new CS_CustomerInfo()
                                                  {
                                                      Active = true,
                                                      CS_Customer = new CS_Customer()
                                                                        {
                                                                            Active = true,
                                                                            Name = "Test Customer"
                                                                        },
                                                      CS_Division = division
                                                  },
                            CS_JobInfo = new CS_JobInfo()
                                             {
                                                 Active = true,
                                                 CS_JobAction = new CS_JobAction()
                                                                    {
                                                                        Active = true,
                                                                        Description = "Environmental Work, General - Undefined Scope of Work"
                                                                    },
                                                 CS_JobType = new CS_JobType()
                                                                    {
                                                                        Active = true,
                                                                        Description = "A"
                                                                    },
                                                 CS_PriceType = new CS_PriceType()
                                                 {
                                                     Active = true,
                                                     Acronym = "P"
                                                 },
                                                CS_Job_JobStatus = new EntityCollection<CS_Job_JobStatus>()
                                                                    {
                                                                        new CS_Job_JobStatus()
                                                                        {
                                                                            JobStatusId = (int)Globals.JobRecord.JobStatus.Bid,
                                                                            JobStartDate = new DateTime(2011,02,14),
                                                                            Active = true
                                                                        }
                                                                    }

                                             },
                            CS_JobDescription = csJobDescription
                        }
            );

            Mock<IUnitOfWork> mockUnitOfWork = new Mock<IUnitOfWork>();
            mockUnitOfWork.Setup(w => w.CreateObjectSet<CS_Job>()).Returns(fakeJobObject);

            JobModel jobModel = new JobModel(mockUnitOfWork.Object);

            string body = jobModel.GenerateEmailBodyForEstimationTeam(243);

            StringBuilder sb = new StringBuilder();

            sb.Append("<div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Proposal#:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" ##");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Job#:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" PA000000025INT");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Customer:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" Test Customer");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Division:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" 005");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("JobType:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" A");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("JobAction:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" Environmental Work, General - Undefined Scope of Work");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Scope Of Work:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append("xxcxcxc");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Job start date:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append("02/14/2011 00:00:00");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Employee:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" Dcecilia, Test");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Number Engines:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" 1");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Number Loads:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" 2");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Number Empties:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" 1");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("</div>");

            Assert.AreEqual(sb.ToString(), body);
        }
        public void TestIfEmployeeIsBeingUpdated()
        {
            // Arrange
            FakeObjectSet<CS_Employee> fakeEmployeeList = new FakeObjectSet<CS_Employee>();
            FakeObjectSet<CS_CallCriteria> fakeCallCriteriaList = new FakeObjectSet<CS_CallCriteria>();
            FakeObjectSet<CS_CallCriteriaValue> fakeCallCriteriaValueList = new FakeObjectSet<CS_CallCriteriaValue>();
            FakeObjectSet<CS_EmployeeCoverage> fakeEmployeeCoverageList = new FakeObjectSet<CS_EmployeeCoverage>();
            FakeObjectSet<CS_EmployeeOffCallHistory> fakeEmployeeOffCallList = new FakeObjectSet<CS_EmployeeOffCallHistory>();
            FakeObjectSet<CS_Settings> fakeSettingsList = new FakeObjectSet<CS_Settings>();
            FakeObjectSet<CS_CallLog> fakeCallLogList = new FakeObjectSet<CS_CallLog>();
            FakeObjectSet<CS_CallLogResource> fakeCallLogResourceList = new FakeObjectSet<CS_CallLogResource>();
            FakeObjectSet<CS_Resource> fakeResourceList = new FakeObjectSet<CS_Resource>();
            FakeObjectSet<CS_PhoneNumber> fakePhoneList = new FakeObjectSet<CS_PhoneNumber>();

            fakeEmployeeList.AddObject(
                new CS_Employee()
                {
                    ID = 1,
                    Active = true,
                    HasAddressChanges = false,
                    HasPhoneChanges = false,
                }
            );
            fakeEmployeeList.AddObject(
                new CS_Employee()
                {
                    ID = 2,
                    Active = true,
                    HasAddressChanges = false,
                    HasPhoneChanges = false,
                }
            );
            fakeSettingsList.AddObject(
                new CS_Settings()
                {
                    ID = (int)Globals.Configuration.Settings.AddressChangeNotification,
                    Description = "*****@*****.**"
                }
            );

            Mock<IUnitOfWork> mockUnitOfWork = new Mock<IUnitOfWork>();
            mockUnitOfWork.Setup(w => w.CreateObjectSet<CS_Employee>()).Returns(fakeEmployeeList);
            mockUnitOfWork.Setup(w => w.CreateObjectSet<CS_CallCriteria>()).Returns(fakeCallCriteriaList);
            mockUnitOfWork.Setup(w => w.CreateObjectSet<CS_CallCriteriaValue>()).Returns(fakeCallCriteriaValueList);
            mockUnitOfWork.Setup(w => w.CreateObjectSet<CS_EmployeeCoverage>()).Returns(fakeEmployeeCoverageList);
            mockUnitOfWork.Setup(w => w.CreateObjectSet<CS_EmployeeOffCallHistory>()).Returns(fakeEmployeeOffCallList);
            mockUnitOfWork.Setup(w => w.CreateObjectSet<CS_Settings>()).Returns(fakeSettingsList);
            mockUnitOfWork.Setup(w => w.CreateObjectSet<CS_CallLog>()).Returns(fakeCallLogList);
            mockUnitOfWork.Setup(w => w.CreateObjectSet<CS_CallLogResource>()).Returns(fakeCallLogResourceList);
            mockUnitOfWork.Setup(w => w.CreateObjectSet<CS_Resource>()).Returns(fakeResourceList);
            mockUnitOfWork.Setup(w => w.CreateObjectSet<CS_PhoneNumber>()).Returns(fakePhoneList);

            CS_Employee updateEmployee = new CS_Employee()
            {
                ID = 1,
                Address = "Testing Address"
            };

            CS_CallCriteria callCriteria = new CS_CallCriteria()
            {
                EmployeeID = 1,
                Active = true
            };

            IList<CS_CallCriteriaValue> callCriteriaValueList = new List<CS_CallCriteriaValue>();
            callCriteriaValueList.Add(new CS_CallCriteriaValue()
            {
                CallCriteriaTypeID = 1,
                Value = "testing",
                Active = true

            });

            CS_EmployeeCoverage coverage = new CS_EmployeeCoverage()
            {
                EmployeeID = 1,
                Active = true,
                CoverageStartDate = new DateTime(2011, 8, 29),
                Duration = 10,
                DivisionID = 1,
                CS_Employee = new CS_Employee() { ID = 1, Active = true, FullName = "Santos, Kleiton" },
                CS_Division = new CS_Division() { ID = 1, Active = true, Name = "001" }
            };

            CS_EmployeeOffCallHistory offCall = new CS_EmployeeOffCallHistory()
            {
                EmployeeID = 1,
                ProxyEmployeeID = 2,
                Active = true,
                OffCallStartDate = new DateTime(2011, 8, 29),
                OffCallEndDate = new DateTime(2011, 8, 31),
                OffCallReturnTime = new TimeSpan(10, 0, 0),
                CS_Employee = new CS_Employee() { ID = 1, Active = true, FullName = "Santos, Kleiton" },
                CS_Employee_Proxy = new CS_Employee() { ID = 2, Active = true, FullName = "Burton, Cynthia" }
            };

            // Act
            EmployeeModel model = new EmployeeModel(mockUnitOfWork.Object);
            model.SaveEmployee(updateEmployee, offCall, coverage, "system", true, true, new List<DataContext.VO.PhoneNumberVO>());

            // Assert
            Assert.AreEqual(1, fakeCallCriteriaList.Count());
            Assert.AreEqual(1, fakeCallCriteriaValueList.Count());
            Assert.AreEqual(1, fakeEmployeeOffCallList.Count());
            Assert.AreEqual(1, fakeEmployeeCoverageList.Count());
        }
        private IList<CS_Employee> MergeRVPList(CS_Employee selectedRVP, IList<CS_Employee> RVPList)
        {
            List<CS_Employee> returnList = new List<CS_Employee>();

            if (null != selectedRVP && selectedRVP.ID != 0)
                returnList.Add(selectedRVP);

            returnList.AddRange(RVPList);

            return returnList.OrderBy(e => e.FullName).ToList();
        }
Пример #4
0
        public void GenerateEmailBodyForInvoicingTeamTest()
        {
            DateTime dt = new DateTime(2011, 02, 14);

            TimeSpan timeSpan = new TimeSpan(10, 11, 59);

            CS_Country country = new CS_Country()
                                     {
                                         ID = 1,
                                         Active = true,
                                         Name = "USA"

                                     };

            CS_State state = new CS_State()
                                 {
                                     ID = 1,
                                     Active = true,
                                     Name = "Texas"
                                 };

            CS_City city = new CS_City()
                               {
                                   ID = 1,
                                   Active = true,
                                   Name = "Dalton"
                               };

            CS_LocationInfo locationInfo = new CS_LocationInfo()
                                            {
                                                Active = true,
                                                CountryID = 1,
                                                StateID = 1,
                                                CityID = 1,
                                                CS_Country = country,
                                                CS_State = state,
                                                CS_City = city
                                            };

            CS_Frequency frequency = new CS_Frequency()
                                         {
                                             Active = true,
                                             ID = 1,
                                             Description = "D"
                                         };

            CS_JobDescription csJobDescription = new CS_JobDescription()
            {
                Active = true,
                NumberEmpties = 1,
                NumberLoads = 2,
                NumberEngines = 1
            };

            CS_Division division = new CS_Division()
            {
                ID = 241,
                Active = true,
                Name = "005",
                Description = "White River, Ontario"
            };

            CS_JobDivision jobdivision = new CS_JobDivision()
            {
                Active = true,
                JobID = 243,
                DivisionID = 241,
                CS_Division = division
            };

            CS_Employee employee = new CS_Employee()
            {
                ID = 1,
                Active = true,
                Name = "Dcecilia",
                FirstName = "Test",
                DivisionID = 241
            };

            CS_Reserve reserve = new CS_Reserve()
            {
                Active = true,
                JobID = 243,
                Type = 2,
                CS_Employee = employee,
                DivisionID = 241
            };

            EntityCollection<CS_JobDivision> JobDivision = new EntityCollection<CS_JobDivision>();

            JobDivision.Add(jobdivision);

            CS_ScopeOfWork csScopeOfWork = new CS_ScopeOfWork()
            {
                Active = true,
                ScopeOfWork = "xxcxcxc",
                JobId = 243
            };

            EntityCollection<CS_Reserve> csReserves = new EntityCollection<CS_Reserve>();
            csReserves.Add(reserve);

            EntityCollection<CS_ScopeOfWork> scopeOfWorks = new EntityCollection<CS_ScopeOfWork>();
            scopeOfWorks.Add(csScopeOfWork);

            //Arrange
            FakeObjectSet<CS_Job> fakeJobObject = new FakeObjectSet<CS_Job>();
            fakeJobObject.AddObject
                (
                    new CS_Job()
                    {
                        ID = 243,
                        Active = true,
                        CreatedBy = "rbrandao",
                        CreationDate = DateTime.Now,
                        ModificationDate = DateTime.Now,
                        ModifiedBy = "Load",
                        //Internal_Tracking = "000000025INT",
                        Number = "000243",
                        CS_ScopeOfWork = scopeOfWorks,
                        CS_JobDivision = JobDivision,
                        CS_Reserve = csReserves,
                        CS_CustomerInfo = new CS_CustomerInfo()
                        {
                            Active = true,
                            CS_Customer = new CS_Customer()
                            {
                                Active = true,
                                Name = "American Test"
                            },
                            CS_Division = division,
                            CS_Contact1 = new CS_Contact()
                            {
                                ID = 1,
                                Active = true,
                                Name = "danilo",
                                LastName = "cecilia",
                            },
                            CS_Contact3 = new CS_Contact()
                                             {
                                                 ID = 1,
                                                 Active = true,
                                                 Name = "danilo",
                                                 LastName = "cecilia",
                                             },
                            //IsCustomer = true,
                            InitialCustomerContactId = 1,
                            BillToContactId = 1

                        },
                        CS_JobInfo = new CS_JobInfo()
                        {
                            Active = true,
                            InterimBill = true,
                            CS_Employee = employee,
                            EmployeeID = employee.ID,
                            CS_Frequency = frequency,
                            FrequencyID = 1,
                            CS_JobAction = new CS_JobAction()
                            {
                                Active = true,
                                Description = "Environmental Work, General - Undefined Scope of Work"
                            },
                            CS_JobType = new CS_JobType()
                            {
                                Active = true,
                                Description = "A"
                            },
                            InitialCallDate = dt,
                            InitialCallTime = timeSpan,
                            CS_PriceType = new CS_PriceType()
                                               {
                                                   Active = true,
                                                   Acronym = "P",
                                                   Description = "description test"
                                               },
                            CS_JobCategory = new CS_JobCategory()
                                                {
                                                    Active = true,
                                                    Description = "B"
                                                },
                            CS_Job_JobStatus = new EntityCollection<CS_Job_JobStatus>()
                            {
                                new CS_Job_JobStatus()
                                {
                                    Active = true,
                                    JobStatusId = (int)Globals.JobRecord.JobStatus.Active,
                                    JobStartDate = new DateTime(2011,02,14),
                                    JobCloseDate = new DateTime(2011,02,14)
                                }
                            }

                        },
                        CS_LocationInfo = locationInfo,
                        CS_JobDescription = csJobDescription
                    }
            );

            //Act
            Mock<IUnitOfWork> mockUnitOfWork = new Mock<IUnitOfWork>();
            mockUnitOfWork.Setup(w => w.CreateObjectSet<CS_Job>()).Returns(fakeJobObject);

            JobModel jobModel = new JobModel(mockUnitOfWork.Object);

            string body = jobModel.GenerateEmailBodyForInvoicingTeam(243);

            StringBuilder sb = new StringBuilder();

            sb.Append("<div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Job#:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" PA000243");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Customer:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" American Test");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Initial Customer Contact:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" danilo");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Bill to:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" cecilia, danilo");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Initial Call date:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" 02/14/2011");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Initial Call time:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" 10:11:59");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Price Type:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" description test");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Job Action:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" Environmental Work, General - Undefined Scope of Work");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Job Category:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" B");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Job Type:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" A");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Division:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" 005");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Interim Bill:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" Yes");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Requested By:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" Dcecilia, Test");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Frequency:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" D");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Country:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" USA");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("State:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" Texas");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("City:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" Dalton");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Number Engines:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" 1");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Number Loads:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" 2");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Number Empties:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" 1");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Scope Of Work:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append("xxcxcxc");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Job start date:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" 02/14/2011 00:00:00");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("<div style='width: 100%; display: inline-block;'>");
            sb.Append("<div style='text-align: right;width:30%; height:100% ;display: inline-block;float:left'><b>");
            sb.Append("Job end date:");
            sb.Append("</b></div>");
            sb.Append("<div style='text-align: left;width:68%; height:100% ;display: inline-block;float:right'>");
            sb.Append(" 02/14/2011 00:00:00");
            sb.Append("</div>");
            sb.Append("</div>");
            sb.Append("</div>");

            //Assert
            Assert.AreEqual(sb.ToString(), body);
        }
        public void Initialize()
        {
            // Step 1 - Clear Tables
            JobInfoDao.Singleton.ClearAll();
            ResourceDao.Singleton.ClearAll();
            EmployeeDao.Singleton.ClearAll();

            // Step 2 - Adding controlled data
            country = CountryDao.Singleton.Add(
                new CS_Country()
                {
                    Active = true,
                    Name = "USA",
                    CreatedBy = "Load",
                    CreationDate = DateTime.Now,
                    ModifiedBy = "Load",
                    ModificationDate = DateTime.Now
                });

            state = StateDao.Singleton.Add(
                new CS_State()
                {
                    Active = true,
                    Acronym = "TX",
                    Name = "Texas",
                    CountryID = country.ID,
                    CreatedBy = "Load",
                    CreationDate = DateTime.Now,
                    ModifiedBy = "Load",
                    ModificationDate = DateTime.Now
                });

            division = DivisionDao.Singleton.Add(
                new CS_Division()
                {
                    Active = true,
                    CountryID = country.ID,
                    Description = "DIV1",
                    StateID = state.ID,
                    Name = "001",
                    CreatedBy = "Load",
                    CreationDate = DateTime.Now,
                    ModifiedBy = "Load",
                    ModificationDate = DateTime.Now
                });

            employee1 = EmployeeDao.Singleton.Add(
                new CS_Employee()
                {
                    Active = true,
                    FirstName = "a",
                    Name = "b",
                    DivisionID = division.ID,
                    BusinessCardTitle = "Laborer",
                    CreatedBy = "Load",
                    CreationDate = DateTime.Now,
                    ModifiedBy = "Load",
                    ModificationDate = DateTime.Now
                });
            employee2 = EmployeeDao.Singleton.Add(
                new CS_Employee()
                {
                    Active = true,
                    FirstName = "c",
                    Name = "d",
                    DivisionID = division.ID,
                    BusinessCardTitle = "Regional Vice President",
                    CreatedBy = "Load",
                    CreationDate = DateTime.Now,
                    ModifiedBy = "Load",
                    ModificationDate = DateTime.Now
                });

            jobStatus = JobStatusDao.Singleton.Add(
                new CS_JobStatus()
                {
                    Active = true,
                    Description = "Active",
                    CreatedBy = "Load",
                    CreationDate = DateTime.Now,
                    ModifiedBy = "Load",
                    ModificationDate = DateTime.Now
                });
            priceType = PriceTypeDao.Singleton.Add(
                new CS_PriceType()
                {
                    Active = true,
                    Acronym = "X",
                    Description = "X",
                    CreatedBy = "Load",
                    CreationDate = DateTime.Now,
                    ModifiedBy = "Load",
                    ModificationDate = DateTime.Now
                });
            jobCategory = JobCategoryDao.Singleton.Add(
                new CS_JobCategory()
                {
                    Active = true,
                    Description = "X",
                    CreatedBy = "Load",
                    CreationDate = DateTime.Now,
                    ModifiedBy = "Load",
                    ModificationDate = DateTime.Now
                });
            jobType = JobTypeDao.Singleton.Add(
                new CS_JobType()
                {
                    Active = true,
                    Description = "X",
                    CreatedBy = "Load",
                    CreationDate = DateTime.Now,
                    ModifiedBy = "Load",
                    ModificationDate = DateTime.Now
                });
            jobAction = JobActionDao.Singleton.Add(
                new CS_JobAction()
                {
                    Active = true,
                    Description = "X",
                    CreatedBy = "Load",
                    CreationDate = DateTime.Now,
                    ModifiedBy = "Load",
                    ModificationDate = DateTime.Now
                });

            job = JobDao.Singleton.Add(
                new CS_Job()
                {
                    Active = true,
                    Number = "000001",
                    CreatedBy = "Load",
                    CreationDate = DateTime.Now,
                    ModifiedBy = "Load",
                    ModificationDate = DateTime.Now
                });
            jobInfo = JobInfoDao.Singleton.Add(
                new CS_JobInfo()
                {
                    Active = true,
                    JobID = job.ID,
                    JobStatusID = jobStatus.ID,
                    PriceTypeID = priceType.ID,
                    JobCategoryID = jobCategory.ID,
                    JobTypeID = jobType.ID,
                    JobActionID = jobAction.ID,
                    InitialCallDate = DateTime.Now,
                    InitialCallTime = new TimeSpan(0, 1, 10, 0, 0),
                    InterimBill = false,
                    ProjectManager = employee2.ID,
                    EmployeeID = employee2.ID,
                    CreatedBy = "Load",
                    CreationDate = DateTime.Now,
                    ModifiedBy = "Load",
                    ModificationDate = DateTime.Now
                });

            resource = ResourceDao.Singleton.Add(
                new CS_Resource()
                {
                    Active = true,
                    EmployeeID = employee1.ID,
                    JobID = job.ID,
                    CreatedBy = "Load",
                    CreationDate = DateTime.Now,
                    ModifiedBy = "Load",
                    ModificationDate = DateTime.Now
                });
        }
        private CS_Employee SetEmployeeInfo()
        {
            CS_Employee employee = null;
            if (_view.EmployeeId.HasValue)
            {
                employee = new CS_Employee();

                employee.ID = _view.EmployeeId.Value;
                employee.Address = _view.Address;
                employee.City = _view.City;
                employee.StateProvinceCode = _view.State;
                employee.CountryCode = _view.Country;
                employee.Address2 = _view.Address2;
                employee.PostalCode = _view.PostalCode;
                employee.DayAreaCode = _view.DayAreaCode;
                employee.DayPhone = _view.DayPhone;
                employee.HomeAreaCode = _view.HomeAreaCode;
                employee.HomePhone = _view.HomePhone;
                employee.FaxAreaCode = _view.FaxAreaCode;
                employee.FaxPhone = _view.FaxPhone;
                employee.MobileAreaCode = _view.MobileAreaCode;
                employee.MobilePhone = _view.MobilePhone;
                employee.OtherPhoneAreaCode = _view.OtherPhoneAreaCode;
                employee.OtherPhone = _view.OtherPhone;
                employee.IsDentonPersonal = _view.IsDentonPersonal;
                employee.IsKeyPerson = _view.IsKeyPerson;
            }
            return employee;
        }
Пример #7
0
        public string GenerateEmailBodyForContactPhoneChange(CS_Employee employee)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("Message from OneSource,");
            sb.AppendLine(string.Format("Employee {0}, has an address change.", employee.FullName));
            sb.AppendLine(string.Format("The new Day Phone number is {0} - {1}", employee.DayAreaCode, employee.DayPhone));
            sb.AppendLine(string.Format("The new Fax Phone number is {0} - {1}", employee.FaxAreaCode, employee.FaxPhone));
            sb.AppendLine(string.Format("The new Home Phone number is {0} - {1}", employee.HomeAreaCode, employee.HomePhone));
            sb.AppendLine(string.Format("The new Mobile Phone number is {0} - {1}", employee.MobileAreaCode, employee.MobilePhone));
            sb.AppendLine(string.Format("The new Other Phone number is {0} - {1}", employee.OtherPhoneAreaCode, employee.OtherPhone));
            sb.AppendLine("Please update your records in Ivantage.");
            sb.AppendLine("Thank you");

            return sb.ToString();
        }
Пример #8
0
        /// <summary>
        /// Saves the Employee Profile Maintenance
        /// </summary>
        /// <param name="employee">Employee Info</param>
        /// <param name="saveCriteria">Call Criteria Info</param>
        /// <param name="saveCriteriaValueList">New Call Criteria Value Info</param>
        /// <param name="offCall">Off Call Info</param>
        /// <param name="coverage">Coverage Info</param>
        /// <param name="username">Username</param>
        /// <param name="isCoverage">Indicates if the employee is in Coverage</param>
        /// <param name="isOffCall">Indicates if the employee is in Off Call</param>
        public void SaveEmployee(CS_Employee employee, CS_EmployeeOffCallHistory offCall, CS_EmployeeCoverage coverage, string username, bool isCoverage, bool isOffCall, List<PhoneNumberVO> additionalPhoneNumbersList)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                DateTime saveDate = DateTime.Now;
                CS_Employee oldEmployee = _employeeRepository.Get(e => e.ID == employee.ID);

                try
                {
                    // Update Employee Table
                    bool hasAddressChanges = false;
                    bool hasPhoneChanges = false;
                    if (null != oldEmployee)
                    {
                        // Saving Employee Info
                        if (IsNull(oldEmployee.Address) != IsNull(employee.Address))
                        {
                            oldEmployee.Address = employee.Address;
                            hasAddressChanges = true;
                        }
                        if (IsNull(oldEmployee.City) != IsNull(employee.City))
                        {
                            oldEmployee.City = employee.City;
                            hasAddressChanges = true;
                        }
                        if (IsNull(oldEmployee.StateProvinceCode) != IsNull(employee.StateProvinceCode))
                        {
                            oldEmployee.StateProvinceCode = employee.StateProvinceCode;
                            hasAddressChanges = true;
                        }
                        if (IsNull(oldEmployee.CountryCode) != IsNull(employee.CountryCode))
                        {
                            oldEmployee.CountryCode = employee.CountryCode;
                            hasAddressChanges = true;
                        }
                        if (IsNull(oldEmployee.Address2) != IsNull(employee.Address2))
                        {
                            oldEmployee.Address2 = employee.Address2;
                            hasAddressChanges = true;
                        }
                        if (IsNull(oldEmployee.PostalCode) != IsNull(employee.PostalCode))
                        {
                            oldEmployee.PostalCode = employee.PostalCode;
                            hasAddressChanges = true;
                        }
                        if (IsNull(oldEmployee.DayAreaCode) != IsNull(employee.DayAreaCode))
                        {
                            oldEmployee.DayAreaCode = employee.DayAreaCode;
                            hasPhoneChanges = true;
                        }
                        if (IsNull(oldEmployee.DayPhone) != IsNull(employee.DayPhone))
                        {
                            oldEmployee.DayPhone = employee.DayPhone;
                            hasPhoneChanges = true;
                        }
                        if (IsNull(oldEmployee.HomeAreaCode) != IsNull(employee.HomeAreaCode))
                        {
                            oldEmployee.HomeAreaCode = employee.HomeAreaCode;
                            hasPhoneChanges = true;
                        }
                        if (IsNull(oldEmployee.HomePhone) != IsNull(employee.HomePhone))
                        {
                            oldEmployee.HomePhone = employee.HomePhone;
                            hasPhoneChanges = true;
                        }
                        if (IsNull(oldEmployee.FaxAreaCode) != IsNull(employee.FaxAreaCode))
                        {
                            oldEmployee.FaxAreaCode = employee.FaxAreaCode;
                            hasPhoneChanges = true;
                        }
                        if (IsNull(oldEmployee.FaxPhone) != IsNull(employee.FaxPhone))
                        {
                            oldEmployee.FaxPhone = employee.FaxPhone;
                            hasPhoneChanges = true;
                        }
                        if (IsNull(oldEmployee.MobileAreaCode) != IsNull(employee.MobileAreaCode))
                        {
                            oldEmployee.MobileAreaCode = employee.MobileAreaCode;
                            hasPhoneChanges = true;
                        }
                        if (IsNull(oldEmployee.MobilePhone) != IsNull(employee.MobilePhone))
                        {
                            oldEmployee.MobilePhone = employee.MobilePhone;
                            hasPhoneChanges = true;
                        }
                        if (IsNull(oldEmployee.OtherPhoneAreaCode) != IsNull(employee.OtherPhoneAreaCode))
                        {
                            oldEmployee.OtherPhoneAreaCode = employee.OtherPhoneAreaCode;
                            hasPhoneChanges = true;
                        }
                        if (IsNull(oldEmployee.OtherPhone) != IsNull(employee.OtherPhone))
                        {
                            oldEmployee.OtherPhone = employee.OtherPhone;
                            hasPhoneChanges = true;
                        }

                        if (hasAddressChanges)
                            oldEmployee.HasAddressChanges = hasAddressChanges;

                        if (hasPhoneChanges)
                            oldEmployee.HasPhoneChanges = hasPhoneChanges;

                        oldEmployee.ModifiedBy = username;
                        oldEmployee.ModificationDate = saveDate;
                        //employee.ModificationID = null;
                        oldEmployee.IsKeyPerson = employee.IsKeyPerson;
                        oldEmployee.IsDentonPersonal = employee.IsDentonPersonal;
                        CS_Employee employeeToUpdate = new CS_Employee();
                        employeeToUpdate = oldEmployee;

                        _employeeRepository.Update(employeeToUpdate);
                    }
                }
                catch (Exception ex)
                {
                    Logger.Write(string.Format("An error occured while trying to updating Employee information.\n{0}\n{1}", ex, ex.InnerException));
                    throw new Exception("Error while updating Employee information", ex);
                }

                try
                {
                    // Send Email to Pam And Curry
                    if (null != oldEmployee)
                        if (oldEmployee.HasAddressChanges)
                            SendNotificationForAddressChange(oldEmployee);
                }
                catch (Exception ex)
                {
                    Logger.Write(string.Format("An error occured while trying to Send the email update for Address Change.\n{0}\n{1}", ex, ex.InnerException));
                    throw new Exception("Error while notifying Address changes", ex);
                }

                try
                {
                    //Send Email to Pam
                    if (null != oldEmployee)
                        if (oldEmployee.HasPhoneChanges)
                            SendNotificationForContactPhoneChange(oldEmployee);
                }
                catch (Exception ex)
                {
                    Logger.Write(string.Format("An error occured while trying to Send the email update for Phone Change.\n{0}\n{1}", ex, ex.InnerException));
                    throw new Exception("Error while notifying Phone changes", ex);
                }

                try
                {
                    // Update Off Call
                    if (offCall != null)
                    {
                        CS_EmployeeOffCallHistory oldOffCall = _employeeOffCallRepository.Get(e => e.EmployeeID == offCall.EmployeeID && e.Active);
                        if (oldOffCall == null)
                        {
                            offCall.Active = true;
                            offCall.CreatedBy = username;
                            offCall.CreationDate = saveDate;
                            //offCall.CreationID = null;
                            offCall.ModifiedBy = username;
                            offCall.ModificationDate = saveDate;
                            //offCall.ModificationID = null;

                            if (isOffCall)
                            {
                                _employeeOffCallRepository.Add(offCall);
                                _callLogModel.GenerateOffCalCallLog(offCall);
                            }
                        }
                        else
                        {
                            oldOffCall.EmployeeID = offCall.EmployeeID;
                            oldOffCall.ProxyEmployeeID = offCall.ProxyEmployeeID;
                            oldOffCall.OffCallStartDate = offCall.OffCallStartDate;
                            oldOffCall.OffCallEndDate = offCall.OffCallEndDate;
                            oldOffCall.OffCallReturnTime = offCall.OffCallReturnTime;
                            oldOffCall.Active = isOffCall;
                            oldOffCall.ModifiedBy = username;
                            oldOffCall.ModificationDate = saveDate;
                            //oldOffCall.ModificationID = null;

                            _employeeOffCallRepository.Update(oldOffCall);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Logger.Write(string.Format("An error occured while trying to Update Off Call Information.\n{0}\n{1}", ex, ex.InnerException));
                    throw new Exception("Error while updating Off Call information", ex);
                }

                try
                {
                    // Update Coverage
                    if (coverage != null)
                    {

                        CS_EmployeeCoverage oldCoverage = _employeeCoverageRepository.Get(e => e.EmployeeID == coverage.EmployeeID && e.Active);
                        if (oldCoverage == null)
                        {
                            coverage.Active = true;
                            coverage.CreatedBy = username;
                            coverage.CreationDate = saveDate;
                            //coverage.CreationID = null;
                            coverage.ModifiedBy = username;
                            coverage.ModificationDate = saveDate;
                            //coverage.ModificationID = null;

                            if (isCoverage)
                            {
                                int? jobId = this.GetJobIdFromResource(coverage.EmployeeID);

                                if (jobId.HasValue)
                                {
                                    JobModel jobModel = new JobModel(_unitOfWork);
                                    jobModel.AddDivisionToJob(coverage.DivisionID, jobId.Value, username);
                                }

                                _employeeCoverageRepository.Add(coverage);
                                _callLogModel.GenerateEmployeeCoverageCalCallLog(coverage);
                            }
                        }
                        else
                        {
                            oldCoverage.EmployeeID = coverage.EmployeeID;
                            oldCoverage.DivisionID = coverage.DivisionID;
                            oldCoverage.Duration = coverage.Duration;
                            oldCoverage.CoverageStartDate = coverage.CoverageStartDate;
                            oldCoverage.CoverageEndDate = coverage.CoverageEndDate;
                            oldCoverage.Active = isCoverage;
                            oldCoverage.ModifiedBy = username;
                            offCall.ModificationDate = saveDate;
                            //oldCoverage.ModificationID = null;

                            _employeeCoverageRepository.Update(oldCoverage);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Logger.Write(string.Format("An error occured while trying to Update Off Call Information.\n{0}\n{1}", ex, ex.InnerException));
                    throw new Exception("Error while updating Off Call information", ex);
                }

                try
                {
                    if (null != oldEmployee)
                    {
                        List<CS_PhoneNumber> oldPhoneList = ListAllPhonesByEmployee(oldEmployee.ID);
                        List<CS_PhoneNumber> newPhoneList = GetListFromPhoneVO(additionalPhoneNumbersList);

                        List<CS_PhoneNumber> removedPhoneList = oldPhoneList.Where(e => !newPhoneList.Any(f => f.ID == e.ID)).ToList();
                        List<CS_PhoneNumber> addedPhoneList = newPhoneList.Where(e => e.ID == 0).ToList();

                        for (int i = 0; i < removedPhoneList.Count; i++)
                        {
                            removedPhoneList[i].ModifiedBy = username;
                            removedPhoneList[i].ModificationDate = saveDate;
                            removedPhoneList[i].Active = false;
                        }

                        for (int i = 0; i < addedPhoneList.Count; i++)
                        {
                            addedPhoneList[i].EmployeeID = oldEmployee.ID;
                            addedPhoneList[i].CreatedBy = username;
                            addedPhoneList[i].CreationDate = saveDate;
                            //addedPhoneList[i].CreationID =
                            addedPhoneList[i].ModifiedBy = username;
                            addedPhoneList[i].ModificationDate = saveDate;
                            //addedPhoneList[i].ModificationID =
                            addedPhoneList[i].Active = true;
                        }

                        _phoneNumberRepository.UpdateList(removedPhoneList);
                        _phoneNumberRepository.AddList(addedPhoneList);
                    }
                }
                catch (Exception ex)
                {
                    Logger.Write(string.Format("An error occured while trying to Update Additional Contact Information.\n{0}\n{1}", ex, ex.InnerException));
                    throw new Exception("Error while updating Additional Contact Information", ex);
                }

                scope.Complete();
            }
        }
Пример #9
0
 private string GenerateEmailSubjectForContactPhoneChange(CS_Employee employee)
 {
     return string.Format("Employee contact number change for {0}", employee.FullName);
 }
Пример #10
0
 private string GenerateEmailSubjectForAddressChange(CS_Employee employee)
 {
     return string.Format("Employee address change, for {0}", employee.FullName);
 }
Пример #11
0
        private string GenerateEmailBodyForAddressChange(CS_Employee employee)
        {
            StringBuilder _addressChangeEmail = new StringBuilder();

            _addressChangeEmail.AppendLine("Message from OneSource,");
            _addressChangeEmail.AppendLine(string.Format("Employee {0}, has an address change.", employee.FullName));
            _addressChangeEmail.AppendLine(string.Format("The new address information is {0}, {1}, {2}, {3}.", employee.FullAddress, employee.City, employee.StateProvinceCode, employee.PostalCode));
            _addressChangeEmail.AppendLine("Please update your records in Ivantage and/or Fidelity.");
            _addressChangeEmail.AppendLine("Thank  you.");

            return _addressChangeEmail.ToString();
        }
Пример #12
0
        public void SendNotificationForContactPhoneChange(CS_Employee employee)
        {
            if (null != employee)
            {
                IList<CS_Email> emails = new List<CS_Email>();

                //Body
                string body = GenerateEmailBodyForContactPhoneChange(employee);

                //List receipts
                string receipts = _settingsModel.GetContactChangeNotificationEmails();

                //Subject
                string subject = GenerateEmailSubjectForContactPhoneChange(employee);

                if (!string.IsNullOrEmpty(receipts))
                    emails = _emailModel.SaveEmailList(receipts, subject, body, "System", Globals.Security.SystemEmployeeID);
            }
        }
        public void MustReturnEmployeeInfo()
        {
            //Arrange
            Mock<IEmployeeMaintenanceView> mockView = new Mock<IEmployeeMaintenanceView>();
            Mock<EmployeeModel> mockModel = new Mock<EmployeeModel>();
            System.Data.Objects.DataClasses.EntityCollection<CS_EmployeeEmergencyContact> employeeContacts = new System.Data.Objects.DataClasses.EntityCollection<CS_EmployeeEmergencyContact>();
            employeeContacts.Add(new CS_EmployeeEmergencyContact() { Active = true, EmployeeID = 1, FirstName = "Margie", LastName = "Simpson", HomeAreaCode = "11", HomePhone = "89431267" });
            CS_Employee employeeStub = new CS_Employee()
            {
                ID = 1,
                PersonID = "123",
                FirstName = "Danilo",
                Name = "Ruziska",
                HireDate = new DateTime(2011, 8, 31),
                Address = "Elm Street, 123",
                Address2 = "Third Floor",
                City = "Houston",
                StateProvinceCode = "TX",
                CountryCode = "USA",
                PostalCode = "12345",
                BusinessCardTitle = "Software Developer",
                CS_Division = new CS_Division() { ID = 1, Active = true, Name = "001" },
                PassportNumber = "12345abc",
                CS_EmployeeEmergencyContact = employeeContacts,
                HomeAreaCode = "11",
                HomePhone = "123456",
                MobileAreaCode = "12",
                MobilePhone = "34567",
                OtherPhoneAreaCode = "13",
                OtherPhone = "98765",
                IsDentonPersonal = true,
                DriversLicenseNumber = "123",
                DriversLicenseClass = "A",
                DriversLicenseStateProvinceCode = "TX",
                DriversLicenseExpireDate = new DateTime(2012, 12, 21)
            };

            mockView.SetupProperty(e => e.EmployeeId, 1);
            mockView.SetupProperty(e => e.EmployeeName, "");
            mockView.SetupProperty(e => e.HireDate, null);
            mockView.SetupProperty(e => e.PersonID, "");
            mockView.SetupProperty(e => e.Address, "");
            mockView.SetupProperty(e => e.Address2, "");
            mockView.SetupProperty(e => e.City, "");
            mockView.SetupProperty(e => e.State, "");
            mockView.SetupProperty(e => e.Country, "");
            mockView.SetupProperty(e => e.PostalCode, "");
            mockView.SetupProperty(e => e.Position, "");
            mockView.SetupProperty(e => e.EmployeeDivision, "");
            mockView.SetupProperty(e => e.PassportNumber, "");
            mockView.SetupProperty(e => e.EmployeeContacts, null);
            mockView.SetupProperty(e => e.HomePhone, "");
            mockView.SetupProperty(e => e.HomeAreaCode, "");
            mockView.SetupProperty(e => e.MobileAreaCode, "");
            mockView.SetupProperty(e => e.MobilePhone, "");
            mockView.SetupProperty(e => e.OtherPhoneAreaCode, "");
            mockView.SetupProperty(e => e.OtherPhone, "");
            mockView.SetupProperty(e => e.IsDentonPersonal, false);
            mockView.SetupProperty(e => e.DriversLicenseNumber, "");
            mockView.SetupProperty(e => e.DriversLicenseClass, "");
            mockView.SetupProperty(e => e.DriversLicenseState, "");
            mockView.SetupProperty(e => e.DriversLicenseExpireDate, null);
            mockModel.Setup(e => e.GetEmployee(1)).Returns(employeeStub);

            EmployeeMaintenancePresenter presenter = new EmployeeMaintenancePresenter(mockView.Object, mockModel.Object);
            //Act
            presenter.LoadEmployeeInfo();
            //Assert
            Assert.AreEqual("Danilo,Ruziska", mockView.Object.EmployeeName);
            Assert.AreEqual(new DateTime(2011, 8, 31), mockView.Object.HireDate);
            Assert.AreEqual("123", mockView.Object.PersonID);
            Assert.AreEqual("Software Developer", mockView.Object.Position);
            Assert.AreEqual("001", mockView.Object.EmployeeDivision);
            Assert.AreEqual("12345abc", mockView.Object.PassportNumber);
            Assert.AreEqual(1, mockView.Object.EmployeeContacts.Count);
            Assert.AreEqual("Elm Street, 123", mockView.Object.Address);
            Assert.AreEqual("Third Floor", mockView.Object.Address2);
            Assert.AreEqual("Houston", mockView.Object.City);
            Assert.AreEqual("TX", mockView.Object.State);
            Assert.AreEqual("USA", mockView.Object.Country);
            Assert.AreEqual("12345", mockView.Object.PostalCode);
            Assert.AreEqual("11", mockView.Object.HomeAreaCode);
            Assert.AreEqual("123456", mockView.Object.HomePhone);
            Assert.AreEqual("12", mockView.Object.MobileAreaCode);
            Assert.AreEqual("34567", mockView.Object.MobilePhone);
            Assert.AreEqual("13", mockView.Object.OtherPhoneAreaCode);
            Assert.AreEqual("98765", mockView.Object.OtherPhone);
            Assert.IsTrue(mockView.Object.IsDentonPersonal);
            Assert.AreEqual("123", mockView.Object.DriversLicenseNumber);
            Assert.AreEqual("A", mockView.Object.DriversLicenseClass);
            Assert.AreEqual("TX", mockView.Object.DriversLicenseState);
            Assert.AreEqual(new DateTime(2012, 12, 21), mockView.Object.DriversLicenseExpireDate);
        }