예제 #1
0
        //----------------------------------------------------Job Execute----------------------------------------------------//
        public void Execute(IJobExecutionContext context)
        {
            try
            {
                RemindersEntities db = new RemindersEntities();
                int emploeeLookupID  = db.Lookups.Where(x => x.Code == ((int)Lookups.employee).ToString()).FirstOrDefault().ID;
                int generalLookupID  = db.Lookups.Where(x => x.Code == ((int)Lookups.general).ToString()).FirstOrDefault().ID;
                List <RemindersViewModel> BirthDate = new List <RemindersViewModel>();
                BirthDate = db.Reminders.Where(x => x.TypeID == emploeeLookupID).Select(x => new RemindersViewModel {
                    Name = x.Employee.Name, BirthDate = x.BirthDate, Email = x.Employee.Email, Image = x.Image
                }).ToList();                                                                                                                                                                                                 //

                //Anniversary
                List <RemindersViewModel> EmployeeStartDate = new List <RemindersViewModel>();
                EmployeeStartDate = db.Reminders.Where(x => x.TypeID == emploeeLookupID).Select(x => new RemindersViewModel {
                    Name = x.Employee.Name, StartDate = x.StartDate, Email = x.Employee.Email, ImagePath = x.ImagePath, ID = x.ID
                }).ToList();

                //general
                List <RemindersViewModel> startDate = new List <RemindersViewModel>();
                startDate = db.Reminders.Where(x => x.TypeID == generalLookupID).Select(x => new RemindersViewModel {
                    StartDate = x.StartDate, Name = x.Name, BreifDescription = x.BreifDescription, ID = x.ID, Time = x.Time, EndDate = x.EndDate
                }).ToList();


                //For Send Email
                foreach (var item in BirthDate)
                {
                    var t = DateTime.Now.Date.AddDays(Convert.ToDouble(SettingService.SendBirthday()));
                    if (item.BirthDate.HasValue == true)
                    {
                        if (t.Day == item.BirthDate.Value.Day && t.Month == item.BirthDate.Value.Month)
                        {
                            bool res = SendEmailBirthday(item.Name, item.Email);//
                        }
                    }
                }
                foreach (var item in EmployeeStartDate)
                {
                    RemindersEntities dbESD = new RemindersEntities();
                    var t = DateTime.Now.Date.AddDays(Convert.ToDouble(SettingService.SendAnniversary()));
                    if (item.StartDate.HasValue == true)
                    {
                        if (t.Day == item.StartDate.Value.Day && t.Month == item.StartDate.Value.Month)
                        {
                            bool res = SendEmailEmployeeStartDate(item.Name, item.Email, item.ImagePath, item.ID);
                        }
                    }
                }
                foreach (var item in startDate)
                {
                    RemindersEntities dbSD = new RemindersEntities();
                    var t = DateTime.Now.Date.AddDays(Convert.ToDouble(SettingService.SendEvent()));
                    if (item.StartDate.HasValue == true)
                    {
                        if (t.Day == item.StartDate.Value.Day && t.Month == item.StartDate.Value.Month)
                        {
                            bool res = SendEmailGeneral(item.Name, item.BreifDescription, item.ID, item.Time.Value, item.EndDate.Value, item.StartDate.Value);
                        }
                    }
                }


                //For Send Reminder
                foreach (var item in BirthDate)
                {
                    var t = DateTime.Now.Date.AddDays(Convert.ToDouble(SettingService.BirthdayReminder()));
                    if (item.BirthDate.HasValue == true)
                    {
                        if (t.Day == item.BirthDate.Value.Day && t.Month == item.BirthDate.Value.Month)
                        {
                            bool res = RemindEmailBirthday(item.Name, item.BirthDate.Value);
                        }
                    }
                }
                foreach (var item in EmployeeStartDate)
                {
                    RemindersEntities dbESD = new RemindersEntities();
                    var t = DateTime.Now.Date.AddDays(Convert.ToDouble(SettingService.SendAnniversary()));
                    if (item.StartDate.HasValue == true)
                    {
                        if (t.Day == item.StartDate.Value.Day && t.Month == item.StartDate.Value.Month)
                        {
                            bool res = RemindEmailEmployeeStartDate(item.Name, item.StartDate.Value);
                        }
                    }
                }
                foreach (var item in startDate)
                {
                    RemindersEntities dbSD = new RemindersEntities();
                    var t = DateTime.Now.Date.AddDays(Convert.ToDouble(SettingService.EventReminder()));
                    if (item.StartDate.HasValue == true)
                    {
                        if (t.Day == item.StartDate.Value.Day && t.Month == item.StartDate.Value.Month)
                        {
                            bool res = RemindEmailGeneral(item.Name, item.BreifDescription, item.StartDate.Value, item.Time.Value);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }