Example #1
0
        /// <summary>
        ///
        /// </summary>
        protected override void ExcuteSelf()
        {
            if (!_VaildateSuccess)
            {
                return;
            }
            string          employeeNameFailEmail = "";
            List <Employee> employeeList          =
                _GetEmployee.GetEmployeeByBasicCondition("", EmployeeTypeEnum.All, -1, -1, false);

            //_MailBody = new MailBody();
            //_MailBody.Body = _Mail.Content;
            foreach (Employee employee in employeeList)
            {
                if (employee.EmployeeType == EmployeeTypeEnum.DimissionEmployee ||
                    employee.EmployeeType == EmployeeTypeEnum.BorrowedEmployee)
                {
                    continue;
                }
                if (employee.EmployeeDetails == null)
                {
                    continue;
                }
                if (!employee.EmployeeDetails.Birthday.Month.Equals(_CurrDate.Month) ||
                    !employee.EmployeeDetails.Birthday.Day.Equals(_CurrDate.Day))
                {
                    continue;
                }
                try
                {
                    SendEmailToEmployee(employee);
                }
                catch
                {
                    if (string.IsNullOrEmpty(employeeNameFailEmail))
                    {
                        employeeNameFailEmail = employee.Account.Name;
                    }
                    else
                    {
                        employeeNameFailEmail += "," + employee.Account.Name;
                    }
                }
                employee.EmployeeDetails = null;
            }
            if (!string.IsNullOrEmpty(employeeNameFailEmail))
            {
                throw new Exception("发送邮件失败。以下" + employeeNameFailEmail.Split(',').Length + "位员工没有获得系统生日祝贺:" +
                                    employeeNameFailEmail);
            }
        }
        protected override void ExcuteSelf()
        {
            List <Employee> employeeList =
                _GetEmployee.GetEmployeeByBasicCondition("", EmployeeTypeEnum.All, -1, -1, false);

            _MailBodyListToHR = new List <MailBody>();
            foreach (Employee employee in employeeList)
            {
                if (employee.EmployeeType == EmployeeTypeEnum.DimissionEmployee ||
                    employee.EmployeeType == EmployeeTypeEnum.BorrowedEmployee)
                {
                    continue;
                }
                if (employee.EmployeeDetails != null)
                {
                    if (DateTime.Compare(employee.EmployeeDetails.ProbationTime, _CurrDate.AddDays(_Days)) == 0)
                    {
                        //试用期到期n天提醒人事
                        new AutoRemindServerUtility(_GetDiyProcess).CreateHREmail(employee.Account.Id, _MailBodyListToHR,
                                                                                  employee.Account.Name, ",");
                    }
                }
                employee.EmployeeDetails = null;
            }
            if (_MailBodyListToHR.Count > 0)
            {
                try
                {
                    //发给人事邮件
                    SendEmailToHR(_MailBodyListToHR);
                }
                catch
                {
                    throw new Exception("人力资源部邮件提醒发送失败");
                }
            }
        }