本文整理汇总了C#中Model.GetApproverByLevel方法的典型用法代码示例。如果您正苦于以下问题:C# Model.GetApproverByLevel方法的具体用法?C# Model.GetApproverByLevel怎么用?C# Model.GetApproverByLevel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Model
的用法示例。
在下文中一共展示了Model.GetApproverByLevel方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ManageApprovedAppraisal
private static bool ManageApprovedAppraisal(Model.DTO.Appraisal.Appraisal appraisal, int taskId, Model.DTO.Core.Employee manager, out string message)
{
bool boo_success = false;
message = string.Empty;
List<Model.DTO.Core.Task.Task> lst_completed_tasks = new List<Model.DTO.Core.Task.Task>();
List<Model.DTO.Core.Task.Task> lst_new_tasks = new List<Model.DTO.Core.Task.Task>();
List<System.Net.Mail.MailMessage> lst_email_messages;
appraisal.AddTrail(CreateAppraisalTrail(appraisal, manager,
appraisal.Status.Id == Model.PMSConstants.STATUS_ID_PENDING_LEVEL_1_APPROVAL ? new Model.DTO.Master.Action() { Id = PMS.Model.PMSConstants.ACTION_ID_APPRAISAL_APPROVED_LEVEL_1 } : new Model.DTO.Master.Action() { Id = PMS.Model.PMSConstants.ACTION_ID_APPRAISAL_APPROVED_LEVEL_2 }));
if (appraisal.Status.Id == Model.PMSConstants.STATUS_ID_PENDING_LEVEL_1_APPROVAL)
{
lst_email_messages = GenerateEmailMessageForApprovedAppraisal(appraisal, 1);
appraisal.Status = new Model.DTO.Master.Status() { Id = Model.PMSConstants.STATUS_ID_PENDING_LEVEL_2_APPROVAL };
StringBuilder sb_task_name = new StringBuilder("Pending Level 2 Manager Approval For ");
sb_task_name.Append(appraisal.Employee.PreferredName);
sb_task_name.Append("'s Appraisal.");
string str_task_address = null;
if (appraisal.Stage.Id == Model.PMSConstants.STAGE_ID_GOAL_SETTING) { str_task_address = "/Stage1Approval/KeyPerformanceIndicators"; }
if (appraisal.Stage.Id == Model.PMSConstants.STAGE_ID_PROGRESS_REVIEW) { str_task_address = "/Stage2Approval/KeyPerformanceIndicators"; }
lst_new_tasks.Add(CreateNewTaskForAppraisal(appraisal.Id,
Model.PMSConstants.STATUS_CORE_ID_OPEN,
sb_task_name.ToString(),
str_task_address,
Model.Mappers.CoreMapper.MapApproverDTOToOwnerDTO(appraisal.GetApproverByLevel(2))));
}
else
{
lst_email_messages = GenerateEmailMessageForApprovedAppraisal(appraisal, 2);
appraisal.Status = new Model.DTO.Master.Status() { Id = Model.PMSConstants.STATUS_ID_APPROVED };
}
lst_completed_tasks.Add(new Model.DTO.Core.Task.Task() { Id = taskId, Status = new Model.DTO.Core.Master.Status() { Id = Model.PMSConstants.STATUS_CORE_ID_COMPLETED } });
if (Model.PMSModel.UpdateAppraisalAndTask(appraisal, lst_completed_tasks, lst_new_tasks, out message))
{
boo_success = true;
SendEmailNotification(lst_email_messages);
}
else
{
boo_success = false;
}
return boo_success;
}
示例2: GenerateEmailMessageToEmployeeForApprovedAppraisal
private static System.Net.Mail.MailMessage GenerateEmailMessageToEmployeeForApprovedAppraisal(Model.DTO.Appraisal.Appraisal appraisal, int approvalLevel)
{
StringBuilder sb_subject = new StringBuilder("Your appraisal is approved by your level ");
sb_subject.Append(approvalLevel);
sb_subject.Append(" manager.");
System.Net.Mail.MailMessage obj_email_message = new System.Net.Mail.MailMessage()
{
Subject = sb_subject.ToString(),
From = new System.Net.Mail.MailAddress(ConfigurationManager.AppSettings["emailsenderaddress"], ConfigurationManager.AppSettings["emailsendername"]),
IsBodyHtml = true
};
StringBuilder sb_body = new StringBuilder();
sb_body.Append("<p>Dear ");
sb_body.Append(appraisal.Employee.PreferredName);
sb_body.Append(", </p>");
if (approvalLevel == 1)
{
sb_body.Append("<p>Your Level 1 Manager has concurred with your goals.</p>");
}
else
{
sb_body.Append("<p>Your Level 2 Manager has approved your ");
sb_body.Append(appraisal.Stage.Name.ToLower());
sb_body.Append(" document and you may view them at <a style='font-style:italic;' href='");
sb_body.Append(ConfigurationManager.AppSettings["pmsweburl"]);
sb_body.Append("'>eHR Portal</a>. Your ");
sb_body.Append(appraisal.Stage.Name);
sb_body.Append(" Phase is now completed.</p>");
}
sb_body.Append("<br />");
sb_body.Append("<p><span style='font-style:italic; font-size:small;'>This is a computer generated email. Please do not reply.</span></p>");
obj_email_message.Body = sb_body.ToString();
if (appraisal.Employee.OfficeEmailAddress != null && Lib.Utility.Common.IsValidEmail(appraisal.Employee.OfficeEmailAddress))
obj_email_message.To.Add(appraisal.Employee.OfficeEmailAddress);
if (approvalLevel == 2 && appraisal.GetApproverByLevel(1).OfficeEmailAddress!=null)
{
obj_email_message.CC.Add(appraisal.GetApproverByLevel(1).OfficeEmailAddress);
}
return obj_email_message;
}
示例3: GenerateEmailMessageForApprovedAppraisal
private static List<System.Net.Mail.MailMessage> GenerateEmailMessageForApprovedAppraisal(Model.DTO.Appraisal.Appraisal appraisal, int approvalLevel)
{
Model.DTO.Appraisal.Stage obj_appraisal_current_stage = appraisal.AppraisalStages.Where(rec => rec.StageId == appraisal.Stage.Id).Single();
List<System.Net.Mail.MailMessage> lst_messages = new List<System.Net.Mail.MailMessage>();
System.Net.Mail.MailMessage temp = new System.Net.Mail.MailMessage();
if (approvalLevel == 1)
{
temp = GenerateEmailMessageToEmployeeForApprovedAppraisal(appraisal, approvalLevel);
if(temp!=null)
lst_messages.Add(temp);
StringBuilder sb_subject = new StringBuilder("Approval required for ");
sb_subject.Append(appraisal.Employee.PreferredName);
sb_subject.Append("'s performance appraisal.");
System.Net.Mail.MailMessage obj_email_message = new System.Net.Mail.MailMessage()
{
Subject = sb_subject.ToString(),
From = new System.Net.Mail.MailAddress(ConfigurationManager.AppSettings["emailsenderaddress"], ConfigurationManager.AppSettings["emailsendername"]),
IsBodyHtml = true
};
StringBuilder sb_body = new StringBuilder();
sb_body.Append("<p>Dear ");
sb_body.Append(appraisal.GetApproverByLevel(2).PreferredName);
sb_body.Append(", </p>");
sb_body.Append("<p>");
sb_body.Append(appraisal.GetApproverByLevel(1).PreferredName);
sb_body.Append(", has reviewed and approved the ");
sb_body.Append(appraisal.Stage.Name.ToLower());
sb_body.Append(" document for ");
sb_body.Append(appraisal.Employee.PreferredName);
sb_body.Append(" and it is now ready for your approval via <a style='font-style:italic;' href='");
sb_body.Append(ConfigurationManager.AppSettings["pmsweburl"]);
sb_body.Append("'>eHR Portal</a>.</p>");
sb_body.Append("<p>Please note that the submission deadline for Level 2 Manager's approval is <u>");
sb_body.Append(Convert.ToDateTime(obj_appraisal_current_stage.Level2ApprovalDeadline).ToString("dd/MM/yyyy"));
sb_body.Append("</u>. Upon approval, the ");
sb_body.Append(appraisal.Stage.Name);
sb_body.Append(" Phase will be completed and will be submitted to HR.</p>");
sb_body.Append("<br />");
sb_body.Append("<p><span style='font-style:italic; font-size:small;'>This is a computer generated email. Please do not reply.</span></p>");
obj_email_message.Body = sb_body.ToString();
if (appraisal.GetApproverByLevel(2).OfficeEmailAddress != null && Lib.Utility.Common.IsValidEmail(appraisal.GetApproverByLevel(2).OfficeEmailAddress))
obj_email_message.To.Add(appraisal.GetApproverByLevel(2).OfficeEmailAddress);
lst_messages.Add(obj_email_message);
}
if (approvalLevel == 2)
{
temp = GenerateEmailMessageToEmployeeForApprovedAppraisal(appraisal, approvalLevel);
if (temp != null)
lst_messages.Add(temp);
}
return lst_messages;
}
示例4: GenerateEmailMessageForRejectedAppraisal
private static System.Net.Mail.MailMessage GenerateEmailMessageForRejectedAppraisal(Model.DTO.Appraisal.Appraisal appraisal, int approvalLevel)
{
StringBuilder sb_subject = new StringBuilder("Your appraisal is rejected by your level ");
sb_subject.Append(approvalLevel);
sb_subject.Append(" manager.");
System.Net.Mail.MailMessage obj_email_message = new System.Net.Mail.MailMessage()
{
Subject = sb_subject.ToString(),
From = new System.Net.Mail.MailAddress(ConfigurationManager.AppSettings["emailsenderaddress"], ConfigurationManager.AppSettings["emailsendername"]),
IsBodyHtml = true
};
StringBuilder sb_body = new StringBuilder();
sb_body.Append("<p>Dear ");
sb_body.Append(appraisal.Employee.PreferredName);
sb_body.Append(", </p>");
sb_body.Append("<p>Your Level ");
sb_body.Append(approvalLevel);
sb_body.Append(" Manager has reviewed your ");
sb_body.Append(appraisal.Stage.Name.ToLower());
sb_body.Append(" document and has returned to you for your further inputs via the <a style='font-style:italic;' href='");
sb_body.Append(ConfigurationManager.AppSettings["pmsweburl"]);
sb_body.Append("'>eHR Portal</a>.</p>");
if (approvalLevel == 1)
{
Model.DTO.Appraisal.Stage obj_appraisal_current_stage = appraisal.AppraisalStages.Where(rec => rec.StageId == appraisal.Stage.Id).Single();
sb_body.Append("<p>Please note that the submission deadline for Employees' KPIs for Managers' review is <u>");
sb_body.Append(Convert.ToDateTime(obj_appraisal_current_stage.SubmissionDeadline).ToString("dd/MM/yyyy"));
sb_body.Append("</u>.</p>");
}
if (approvalLevel == 2)
{
sb_body.Append("<p>Please submit your revised ");
sb_body.Append(appraisal.Stage.Name.ToLower());
sb_body.Append(" document for your Level 1 Manager's review urgently.</p>");
}
sb_body.Append("<br />");
sb_body.Append("<p><span style='font-style:italic; font-size:small;'>This is a computer generated email. Please do not reply.</span></p>");
obj_email_message.Body = sb_body.ToString();
obj_email_message.To.Add(appraisal.Employee.OfficeEmailAddress);
if (approvalLevel == 2)
{
obj_email_message.CC.Add(appraisal.GetApproverByLevel(approvalLevel).OfficeEmailAddress);
}
return obj_email_message;
}
示例5: GenerateEmailMessageForAppraisalSubmission
private static System.Net.Mail.MailMessage GenerateEmailMessageForAppraisalSubmission(Model.DTO.Appraisal.Appraisal appraisal)
{
Model.DTO.Appraisal.Stage obj_appraisal_current_stage = appraisal.AppraisalStages.Where(rec => rec.StageId == appraisal.Stage.Id).Single();
StringBuilder sb_subject = new StringBuilder("Approval required for ");
sb_subject.Append(appraisal.Employee.PreferredName);
sb_subject.Append("'s performance appraisal.");
System.Net.Mail.MailMessage obj_email_message = new System.Net.Mail.MailMessage()
{
Subject = sb_subject.ToString(),
From = new System.Net.Mail.MailAddress(ConfigurationManager.AppSettings["emailsenderaddress"], ConfigurationManager.AppSettings["emailsendername"]),
IsBodyHtml = true
};
StringBuilder sb_body = new StringBuilder();
sb_body.Append("<p>Dear ");
sb_body.Append(appraisal.GetApproverByLevel(1).PreferredName);
sb_body.Append(", </p>");
sb_body.Append("<p>The ");
sb_body.Append(appraisal.Stage.Name.ToLower());
sb_body.Append(" document of ");
sb_body.Append(appraisal.Employee.PreferredName);
sb_body.Append(" is now ready for your review and approval via the <a style='font-style:italic;' href='");
sb_body.Append(ConfigurationManager.AppSettings["pmsweburl"]);
sb_body.Append("'>eHR Portal</a>.</p>");
sb_body.Append("<p>Please note that the submission date for Level 1 Managers' approval is <u>");
sb_body.Append(Convert.ToDateTime(obj_appraisal_current_stage.Level1ApprovalDeadline).ToString("dd/MM/yyyy"));
sb_body.Append("</u>.</p><br />");
sb_body.Append("<p><span style='font-style:italic; font-size:small;'>This is a computer generated email. Please do not reply.</span></p>");
obj_email_message.Body = sb_body.ToString();
obj_email_message.To.Add(appraisal.GetApproverByLevel(1).OfficeEmailAddress);
return obj_email_message;
}