public string GetSeniorManagementTeamMemberId() { string str_id = null; if (!Lib.Utility.Common.IsNullOrEmptyList(Appraisal.Reviewers)) { Model.DTO.Appraisal.Reviewer obj_reviewer = Appraisal.Reviewers.Where(rec => rec.SMT == true).SingleOrDefault(); if (obj_reviewer != null) { str_id = Convert.ToString(obj_reviewer.EmployeeId); } } return(str_id); }
public string GetSeniorManagementTeamMemberName() { string str_name = null; if (!Lib.Utility.Common.IsNullOrEmptyList(Appraisal.Reviewers)) { Model.DTO.Appraisal.Reviewer obj_reviewer = Appraisal.Reviewers.Where(rec => rec.SMT == true).SingleOrDefault(); if (obj_reviewer != null) { str_name = obj_reviewer.PreferredName; } } return(str_name); }
public JsonResult SaveProfile(string reviewers, int apprid) { string message = string.Empty; List <Model.DTO.Appraisal.Reviewer> lst_reviewers = null; Model.DTO.Appraisal.Appraisal obj_appraisal = Model.PMSModel.GetAppraisalById(apprid); if (!string.IsNullOrEmpty(reviewers)) { string[] reviewarray = reviewers.Split('|'); if (!Lib.Utility.Common.IsNullOrEmptyList(reviewarray)) { List <string> lst_temp = new List <string>(); lst_reviewers = new List <Model.DTO.Appraisal.Reviewer>(); foreach (string str_reviewer in reviewarray) { if (Lib.Utility.Common.IsNullOrEmptyList(lst_temp.Where(rec => rec.Equals(str_reviewer)))) { lst_temp.Add(str_reviewer); } } foreach (string str_reviewer_id in lst_temp) { // 1. add GetEmployeeById in model // 2. add MapEmployeeDTOToReviewerDTO in pmsmapper Model.DTO.Appraisal.Reviewer obj_reviewer = Model.Mappers.PMSMapper.MapEmployeeDTOToReviewerDTO(Model.PMSModel.GetEmployeeById(Convert.ToInt32(str_reviewer_id))); obj_reviewer.Appraisal = new Model.DTO.Appraisal.Appraisal() { Id = apprid }; obj_reviewer.SMT = false; lst_reviewers.Add(obj_reviewer); } } } if (!Business.AppraisalManager.ManageChangeReviewerMember(obj_appraisal, lst_reviewers, out message)) { return(Json(message)); } return(Json(message)); }
public JsonResult SaveProfileSMT(string smt, int appraisalId) { string message = string.Empty; Model.DTO.Appraisal.Reviewer obj_reviewer = null; if (!string.IsNullOrEmpty(smt)) { Model.DTO.Appraisal.Appraisal obj_appraisal = Model.PMSModel.GetAppraisalById(appraisalId); obj_reviewer = Model.Mappers.PMSMapper.MapEmployeeDTOToReviewerDTO(Model.PMSModel.GetEmployeeById(Convert.ToInt32(smt))); obj_reviewer.Appraisal = new Model.DTO.Appraisal.Appraisal() { Id = appraisalId }; obj_reviewer.SMT = true; if (!Business.AppraisalManager.ManageChangeSMTMember(obj_appraisal, obj_reviewer, out message)) { return(Json(message)); } } return(Json(message)); }
public static List<Model.DTO.Appraisal.Appraisal> CreateAppraisalsForUpdateCycle(List<Model.DTO.Core.Employee> participants, List<Model.DTO.Cycle.Stage> stages, Model.DTO.Core.Security.User user) { List<Model.DTO.Appraisal.Appraisal> lst_appraisals = null; if (!Lib.Utility.Common.IsNullOrEmptyList(participants)) { lst_appraisals = new List<Model.DTO.Appraisal.Appraisal>(); foreach (Model.DTO.Core.Employee obj_participant in participants) { Model.DTO.Appraisal.Appraisal obj_appraisal = new Model.DTO.Appraisal.Appraisal() { Stage = new Model.DTO.Master.Stage() { Id = Model.PMSConstants.STAGE_ID_PRE_CYCLE }, Status = new Model.DTO.Master.Status() { Id = Model.PMSConstants.STATUS_ID_NEW }, Employee = obj_participant, Department = Model.Mappers.CoreMapper.MapDepartmentDTOToMasterDepartmentDTO(obj_participant.Department), Locked = true }; obj_appraisal.AddAppraisalSection(new Model.DTO.Appraisal.Section() { SectionId = Model.PMSConstants.SECTION_ID_KPI }); obj_appraisal.AddAppraisalSection(new Model.DTO.Appraisal.Section() { SectionId = Model.PMSConstants.SECTION_ID_CORE_VALUES }); int flag = CheckStageDate(stages[1], stages[2], stages[3]); switch (flag) { case 1: foreach (Model.DTO.Cycle.Stage obj_cycle_stage in stages) { Model.DTO.Appraisal.Stage obj_appraisal_stage = new Model.DTO.Appraisal.Stage() { StageId = obj_cycle_stage.StageId, StartDate = obj_cycle_stage.StartDate, EndDate = obj_cycle_stage.EndDate, SubmissionDeadline = obj_cycle_stage.SubmissionDeadline, Level1ApprovalDeadline = obj_cycle_stage.Level1ApprovalDeadline, Level2ApprovalDeadline = obj_cycle_stage.Level2ApprovalDeadline }; obj_appraisal.AddAppraisalStage(obj_appraisal_stage); } break; case 2: case 3: foreach (Model.DTO.Cycle.Stage obj_cycle_stage in stages.Where(sec=>sec.StageId>eHR.PMS.Model.PMSConstants.STAGE_ID_PRE_CYCLE)) { Model.DTO.Appraisal.Stage obj_appraisal_stage = new Model.DTO.Appraisal.Stage() { StageId = obj_cycle_stage.StageId, StartDate = obj_cycle_stage.StartDate, EndDate = obj_cycle_stage.EndDate, SubmissionDeadline = obj_cycle_stage.SubmissionDeadline, Level1ApprovalDeadline = obj_cycle_stage.Level1ApprovalDeadline, Level2ApprovalDeadline = obj_cycle_stage.Level2ApprovalDeadline }; obj_appraisal.AddAppraisalStage(obj_appraisal_stage); } break; case 4: case 5: case 6: case 7: foreach (Model.DTO.Cycle.Stage obj_cycle_stage in stages.Where(sec => (sec.StageId == eHR.PMS.Model.PMSConstants.STAGE_ID_GOAL_SETTING || sec.Id == eHR.PMS.Model.PMSConstants.STAGE_ID_FINAL_YEAR))) { Model.DTO.Appraisal.Stage obj_appraisal_stage = new Model.DTO.Appraisal.Stage() { StageId = obj_cycle_stage.StageId, StartDate = obj_cycle_stage.StartDate, EndDate = obj_cycle_stage.EndDate, SubmissionDeadline = obj_cycle_stage.SubmissionDeadline, Level1ApprovalDeadline = obj_cycle_stage.Level1ApprovalDeadline, Level2ApprovalDeadline = obj_cycle_stage.Level2ApprovalDeadline }; obj_appraisal.AddAppraisalStage(obj_appraisal_stage); } break; default: break; } if (obj_participant.Level1Approver != null) { obj_appraisal.AddApprover(Model.Mappers.PMSMapper.MapEmployeeDTOToApproverDTO(obj_participant.Level1Approver, 1)); } if (obj_participant.Level2Approver != null) { obj_appraisal.AddApprover(Model.Mappers.PMSMapper.MapEmployeeDTOToApproverDTO(obj_participant.Level2Approver, 2)); } if (obj_participant.SMPEmploeeId != null && obj_participant.SMPEmploeeId > 0) { Model.DTO.Appraisal.Reviewer obj_reviewer = new Model.DTO.Appraisal.Reviewer() { EmployeeId = obj_participant.SMPEmploeeId, Appraisal = obj_appraisal, SMT = true }; obj_appraisal.AddReviewer(obj_reviewer); } Model.DTO.Appraisal.Trail obj_trail = new Model.DTO.Appraisal.Trail() { Appraisal = obj_appraisal, Stage = new Model.DTO.Master.Stage() { Id = PMS.Model.PMSConstants.STAGE_ID_PRE_CYCLE }, Action = new Model.DTO.Master.Action() { Id = PMS.Model.PMSConstants.ACTION_ID_APPRAISAL_CREATED }, ActionTimestamp = DateTime.Now, Actioner = Model.Mappers.CoreMapper.MapUserDTOToEmployeeDTO(user) }; obj_appraisal.AddTrail(obj_trail); lst_appraisals.Add(obj_appraisal); } } return lst_appraisals; }
public static List<Model.DTO.Appraisal.Appraisal> CreateAppraisalsForNewCycle(List<Model.DTO.Core.Employee> participants, List<Model.DTO.Cycle.Stage> stages, Model.DTO.Core.Security.User user) { List<Model.DTO.Appraisal.Appraisal> lst_appraisals = null; if (!Lib.Utility.Common.IsNullOrEmptyList(participants)) { lst_appraisals = new List<Model.DTO.Appraisal.Appraisal>(); foreach (Model.DTO.Core.Employee obj_participant in participants) { Model.DTO.Appraisal.Appraisal obj_appraisal = new Model.DTO.Appraisal.Appraisal() { Stage = new Model.DTO.Master.Stage() { Id = Model.PMSConstants.STAGE_ID_PRE_CYCLE }, Status = new Model.DTO.Master.Status() { Id = Model.PMSConstants.STATUS_ID_NEW }, Employee = obj_participant, Department = Model.Mappers.CoreMapper.MapDepartmentDTOToMasterDepartmentDTO(obj_participant.Department), Locked = true }; obj_appraisal.AddAppraisalSection(new Model.DTO.Appraisal.Section() { SectionId = Model.PMSConstants.SECTION_ID_KPI }); obj_appraisal.AddAppraisalSection(new Model.DTO.Appraisal.Section() { SectionId = Model.PMSConstants.SECTION_ID_CORE_VALUES }); foreach (Model.DTO.Cycle.Stage obj_cycle_stage in stages) { Model.DTO.Appraisal.Stage obj_appraisal_stage = new Model.DTO.Appraisal.Stage() { StageId = obj_cycle_stage.StageId, StartDate = obj_cycle_stage.StartDate, EndDate = obj_cycle_stage.EndDate, SubmissionDeadline = obj_cycle_stage.SubmissionDeadline, Level1ApprovalDeadline = obj_cycle_stage.Level1ApprovalDeadline, Level2ApprovalDeadline = obj_cycle_stage.Level2ApprovalDeadline }; obj_appraisal.AddAppraisalStage(obj_appraisal_stage); } if (obj_participant.Level1Approver != null) { obj_appraisal.AddApprover(Model.Mappers.PMSMapper.MapEmployeeDTOToApproverDTO(obj_participant.Level1Approver, 1)); } if (obj_participant.Level2Approver != null) { obj_appraisal.AddApprover(Model.Mappers.PMSMapper.MapEmployeeDTOToApproverDTO(obj_participant.Level2Approver, 2)); } Model.DTO.Appraisal.Trail obj_trail = new Model.DTO.Appraisal.Trail() { Appraisal = obj_appraisal, Stage = new Model.DTO.Master.Stage() { Id = PMS.Model.PMSConstants.STAGE_ID_PRE_CYCLE }, Action = new Model.DTO.Master.Action() { Id = PMS.Model.PMSConstants.ACTION_ID_APPRAISAL_CREATED }, ActionTimestamp = DateTime.Now, Actioner = Model.Mappers.CoreMapper.MapUserDTOToEmployeeDTO(user) }; obj_appraisal.AddTrail(obj_trail); if (obj_participant.SMPEmploeeId != null && obj_participant.SMPEmploeeId > 0) { Model.DTO.Appraisal.Reviewer obj_reviewer = new Model.DTO.Appraisal.Reviewer() { EmployeeId = obj_participant.SMPEmploeeId, Appraisal = obj_appraisal, SMT = true }; obj_appraisal.AddReviewer(obj_reviewer); } lst_appraisals.Add(obj_appraisal); } } return lst_appraisals; }
public static bool ManageChangeSMTMember(Model.DTO.Appraisal.Appraisal appraisal, Model.DTO.Appraisal.Reviewer smtMember, out string message) { message = string.Empty; bool result = false; Model.DTO.Appraisal.Reviewer oldMember=new Model.DTO.Appraisal.Reviewer(); result=Model.PMSModel.UpdateSMTMember(appraisal,smtMember,out message,out oldMember); // no sending of email notification if it is SMT change //if (result) //{ // List<System.Net.Mail.MailMessage> lst_email_messages=new List<System.Net.Mail.MailMessage>(); // if(smtMember.EmployeeId!=oldMember.EmployeeId && smtMember.OfficeEmailAddress!=null && IsValidEmail(smtMember.OfficeEmailAddress)) // lst_email_messages.Add(GenerateEmailMessageForChangeSMTPerson(appraisal, smtMember, oldMember)); // SendEmailNotification(lst_email_messages); //} return result; }