public static void SendEmailToEmployee(PTODao ptoDao, PTO pto, List<PTO_Detail> listPTO_Detail, bool? isManager, string ccMail="") { try { EmployeeDao empDao = new EmployeeDao(); string template=""; if (pto.DeleteFlag) template = GetTemplateForDeletion; else if(isManager.HasValue) template = isManager.Value ? GetTemplateForManager : GetTemplateForEmployee; string sTemplate = string.Empty; string sFooter = GetEmailFooter(); sTemplate = template + sFooter; //PTO pto = ptoDao.GetPTOById(id); Employee emp = empDao.GetById(pto.Submitter); Employee manager = empDao.GetById(pto.SubmitTo); string actor = CommonFunc.GetEmployeeFullName(manager); sTemplate = sTemplate.Replace(Constants.PTO_EMAIL_FIELD_PTO_REASON, HttpUtility.HtmlEncode(pto.Reason)); sTemplate = sTemplate.Replace(Constants.PTO_EMAIL_FIELD_PTO_STATUS_NAME, pto.PTO_Status.Name); sTemplate = sTemplate.Replace(Constants.PTO_EMAIL_FIELD_PTO_TYPE_NAME, pto.PTO_Type.Name); string sPTO_ID = ""; string sAction = ""; string sEmailSubject = ""; string sEmpName = CommonFunc.GetEmployeeFullName(emp, Constants.FullNameFormat.FirstMiddleLast); string toEmail = pto.Employee.OfficeEmail; if (pto.DeleteFlag) { sEmailSubject = String.Format(Constants.PTO_EMAIL_SUBJECT_DELETE, pto.ID); } else if (pto.Status_ID == Constants.PTO_STATUS_NEW) { sPTO_ID = "Your PTO (" + pto.ID + ")"; sAction = "submitted to"; sEmailSubject = String.Format(Constants.PTO_EMAIL_SUBJECT_NEW, pto.ID); } else if (pto.Status_ID == Constants.PTO_STATUS_APPROVED) { sPTO_ID = "The " + pto.ID; sAction = "approved by"; sEmailSubject = String.Format(Constants.PTO_EMAIL_SUBJECT_APPROVE_REJECT, pto.ID, "approved"); } else if (pto.Status_ID == Constants.PTO_STATUS_REJECTED) { sPTO_ID = "The " + pto.ID; sAction = "rejected by"; sEmailSubject = String.Format(Constants.PTO_EMAIL_SUBJECT_APPROVE_REJECT, pto.ID, "rejected"); } else if (pto.Status_ID == Constants.PTO_STATUS_CONFIRM) { sPTO_ID = "The " + pto.ID; sAction = "approved by"; sEmailSubject = String.Format(Constants.PTO_EMAIL_SUBJECT_APPROVE_REJECT, pto.ID, "approved"); } else if (pto.Status_ID == Constants.PTO_STATUS_VERIFIED) { sPTO_ID = "The " + pto.ID; sAction = "verified by"; actor = CommonFunc.GetEmployeeFullName(CommonFunc.GetEmployeeByUserName(HttpContext.Current.User.Identity.Name), Constants.FullNameFormat.FirstMiddleLast); sEmailSubject = String.Format(Constants.PTO_EMAIL_SUBJECT_VERIFIED, pto.ID); } if (!isManager.HasValue) { toEmail = HttpContext.Current.User.Identity.Name + Constants.LOGIGEAR_EMAIL_DOMAIN; } else if (isManager.Value) { if(!pto.DeleteFlag) sEmailSubject = String.Format(Constants.PTO_EMAIL_SUBJECT_TO_MANAGER, sEmpName); toEmail = pto.Employee1.OfficeEmail; } var empUser = CommonFunc.GetEmployeeByUserName(HttpContext.Current.User.Identity.Name); string recipent = ""; if (!isManager.HasValue) recipent = empDao.FullName(empUser.ID, Constants.FullNameFormat.FirstMiddleLast); else if (isManager.Value) recipent = empDao.FullName(manager.ID, Constants.FullNameFormat.FirstMiddleLast); else recipent = sEmpName; string commentTemplate = "<br/><b>{0}</b>: <i>{1}</i>"; sTemplate = sTemplate.Replace(Constants.PTO_EMAIL_FIELD_MANAGER_NAME, actor); sTemplate = sTemplate.Replace(Constants.PTO_EMAIL_FIELD_EMPLOYEE_NAME, sEmpName); sTemplate = sTemplate.Replace(Constants.PTO_EMAIL_FIELD_EMPLOYEE_SUBMIT_DATE, pto.CreateDate.ToString(Constants.DATETIME_FORMAT_VIEW)); sTemplate = sTemplate.Replace(Constants.PTO_EMAIL_FIELD_PTO_ID, sPTO_ID); sTemplate = sTemplate.Replace(Constants.PTO_EMAIL_FIELD_PTO_REAL_ID, pto.ID); sTemplate = sTemplate.Replace(Constants.PTO_EMAIL_FIELD_PTO_ACTION, sAction); sTemplate = sTemplate.Replace(Constants.PTO_EMAIL_FIELD_PTO_USER, empDao.FullName(empUser.ID, Constants.FullNameFormat.FirstMiddleLast)); sTemplate = sTemplate.Replace(Constants.PTO_EMAIL_FIELD_PTO_PTO_ID, pto.ID); sTemplate = sTemplate.Replace(Constants.PTO_EMAIL_FIELD_PTO_RECIPENT, recipent); sTemplate = sTemplate.Replace(Constants.PTO_PM_COMMENT_FIELD, string.IsNullOrEmpty(pto.ManagerComment) ? "" : string.Format(commentTemplate, "Manager comment (" + CommonFunc.GetEmployeeFullName(pto.Employee1, Constants.FullNameFormat.FirstMiddleLast) + ")", HttpUtility.HtmlEncode(pto.ManagerComment))); sTemplate = sTemplate.Replace(Constants.PTO_HR_COMMENT_FIELD, string.IsNullOrEmpty(pto.HRComment) ? "" : string.Format(commentTemplate, "HR comment", HttpUtility.HtmlEncode(pto.HRComment))); string sDetail = ""; //List<PTO_Detail> listPTO_Detail = ptoDao.GetPTO_DetailByPTO_ID(pto.ID).OrderBy(p => p.DateOff).ToList(); foreach (PTO_Detail detail in listPTO_Detail) { if (pto.PTO_Type.IsHourType) { sDetail += detail.DateOff.Value.ToString(Constants.DATETIME_FORMAT_VIEW) + ": " + (detail.HourFrom < 10 ? "0" + detail.HourFrom : detail.HourFrom.ToString()) + ":00 » " + (detail.HourTo < 10 ? "0" + detail.HourTo : detail.HourTo.ToString()) + ":00<br/>"; } else { sDetail += "From " + detail.DateOffFrom.Value.ToString(Constants.DATETIME_FORMAT_VIEW); sDetail += " to " + detail.DateOffTo.Value.ToString(Constants.DATETIME_FORMAT_VIEW); sDetail += "<br/>"; } } sTemplate = sTemplate.Replace(Constants.PTO_EMAIL_FIELD_PTO_DETAIL, sDetail); string host = ConfigurationManager.AppSettings["mailserver_host"]; string port = ConfigurationManager.AppSettings["mailserver_port"]; string from = Constants.CRM_MAIL_FROM_ADDRESS; string fromName = Constants.PTO_SENDER_NAME; WebUtils.SendMail(host, port, from, fromName, toEmail, ccMail, sEmailSubject, sTemplate); } catch { } }
public Message Swap(string id1, string id2) { Message msg = null; STTDao sttDao = new STTDao (); EmployeeDao empDao =new EmployeeDao (); try { if (id1.IsSttId()) { STT obj1 = sttDao.GetById(id1); string tmp = obj1.LocationCode; if (id2.IsSttId()) { STT obj2 = sttDao.GetById(id2); obj1.LocationCode = obj2.LocationCode; obj2.LocationCode = tmp; } else { Employee obj2 = empDao.GetById(id2); obj1.LocationCode = obj2.LocationCode; obj2.LocationCode = tmp; } } else { Employee obj1 = empDao.GetById(id1); string tmp = obj1.LocationCode; if (id2.IsSttId()) { STT obj2 = sttDao.GetById(id2); obj1.LocationCode = obj2.LocationCode; obj2.LocationCode = tmp; } else { Employee obj2 = empDao.GetById(id2); obj1.LocationCode = obj2.LocationCode; obj2.LocationCode = tmp; } } msg = new Message(MessageConstants.I0001, MessageType.Info, "Work Location", "swapped"); dbContext.SubmitChanges(); } catch { msg = new Message(MessageConstants.E0033, MessageType.Error); } return msg; }