// GET api/<controller>/5 public TEEscalationMatrixModel Get(int id) { TEESCALATIONMATRIX item = db.TEESCALATIONMATRIces.Find(id); TEEscalationMatrixModel model = new TEEscalationMatrixModel(); TETransformEntityNModel translator = new TETransformEntityNModel(); model = translator.TransformAtoB(item, model); if (item.QueueID != null) { TEQueue q = db.TEQueues.Find(item.QueueID.Value); if (q != null) { model.Queue = new TEQueue { Uniqueid = q.Uniqueid, QueueName = q.QueueName, QueueID = q.QueueID, } } ; } if (item.ManagerID != null) { TEEmpBasicInfo mgr = db.TEEmpBasicInfoes.Find(item.ManagerID.Value); if (mgr != null) { model.Manager = new TEEmpBasicInfo { Uniqueid = mgr.Uniqueid, FirstName = mgr.FirstName, LastName = mgr.LastName, Mobile = mgr.Mobile, OfficialEmail = mgr.OfficialEmail, } } ; } if (item.Priority != null) { int picklistid = Convert.ToInt32(item.Priority); TEPickListItem p = db.TEPickListItems.Find(picklistid); if (p != null) { model.PriorityName = p.Description; } } return(model); }
public IEnumerable <TEQueueDepartmentModel> GetTEQueueDepartmentBYiD(int Uniqueid) { //return db.TEQueueDepartments.Where(x=>x.IsDeleted==false); var y = (from tqd in db.TEQueueDepartments join tq in db.TEQueues on tqd.QueueID equals tq.Uniqueid join td in db.TEDepartments on tqd.DepartmentID equals td.Uniqueid join tc in db.TELineOfBusinesses on tqd.TELineOfBussiness equals tc.Uniqueid join tca in db.TECategories on tqd.CategoryID equals tca.Uniqueid join tsf in db.TESubFunctions on tqd.SubfunctionID equals tsf.Uniqueid where (tqd.Uniqueid == Uniqueid) // && (uob.Project == cnt.proj) //&&(uob.Uniqueid==cnt.Unitid) orderby tqd.Uniqueid select new { tqd.Uniqueid, tqd.QueueID, tq.QueueName, tqd.DepartmentID, td.Name, tqd.TELineOfBussiness, tcName = tc.Name, tqd.CategoryID, tcaName = tca.Name, tqd.SubfunctionID, tsfname = tsf.Name, tqd.SLACritical, tqd.SLAHigh, tqd.SLALow, tqd.SLAMedium, tqd.AUTOASSIGNMENT, tqd.AUTOCOMMUNICATION, tqd.Default_assignee }); List <TEQueueDepartmentModel> list = new List <TEQueueDepartmentModel>(); foreach (var item in y) { TEEmpBasicInfo defaultAssignee = null; if (item.Default_assignee > 0) { db.Configuration.ProxyCreationEnabled = false; defaultAssignee = db.TEEmpBasicInfoes.Find(item.Default_assignee); } list.Add(new TEQueueDepartmentModel() { Uniqueid = item.Uniqueid, QueueID = item.QueueID, QueueName = item.QueueName, DepartmentID = item.DepartmentID, DepartmentName = item.Name, TELineOfBussiness = item.TELineOfBussiness, CompanyName = item.tcName, CategoryID = item.CategoryID, CategoryName = item.tcaName, SubfunctionID = item.SubfunctionID, SubfunctionName = item.tsfname, SLACritical = item.SLACritical, SLAHigh = item.SLAHigh, SLALow = item.SLALow, SLAMedium = item.SLAMedium, TEEmpDefaultAssignee = defaultAssignee, AUTOASSIGNMENT = item.AUTOASSIGNMENT, AUTOCOMMUNICATION = item.AUTOCOMMUNICATION, }); } return(list); }
// GET api/<controller> public IEnumerable <TEEscalationMatrixModel> Get() { db.Configuration.ProxyCreationEnabled = false; List <TEESCALATIONMATRIX> list = db.TEESCALATIONMATRIces.Where(x => x.IsDeleted == false).ToList(); List <TEEscalationMatrixModel> result = new List <TEEscalationMatrixModel>(); foreach (var item in list) { TEEscalationMatrixModel model = new TEEscalationMatrixModel(); TETransformEntityNModel translator = new TETransformEntityNModel(); model = translator.TransformAtoB(item, model); if (item.QueueID != null) { TEQueue q = db.TEQueues.Find(item.QueueID.Value); if (q != null) { model.Queue = new TEQueue { Uniqueid = q.Uniqueid, QueueName = q.QueueName, QueueID = q.QueueID, } } ; } if (model.Queue == null) { model.Queue = new TEQueue(); } if (item.ManagerID != null) { TEEmpBasicInfo mgr = db.TEEmpBasicInfoes.Find(item.ManagerID.Value); if (mgr != null) { model.Manager = new TEEmpBasicInfo { Uniqueid = mgr.Uniqueid, FirstName = mgr.FirstName, LastName = mgr.LastName, Mobile = mgr.Mobile, OfficialEmail = mgr.OfficialEmail, } } ; } if (model.Manager == null) { model.Manager = new TEEmpBasicInfo(); } if (item.Priority != null) { int picklistid = Convert.ToInt32(item.Priority); TEPickListItem p = db.TEPickListItems.Find(picklistid); if (p != null) { model.PriorityName = p.Description; } } result.Add(model); } return(result); }
public string TEEscalationMails() { DateTime Today = System.DateTime.Today; int cnt = 0; List <TEComplainceModel> teissueresult = Mgr.GetIssues().Where(x => !IssuesStatus.EscalationStatus.Contains(x.Status)).ToList(); List <TEComplainceModel> escalatedissueresult = new List <TEComplainceModel>(); List <TEEmpBasicInfo> ManagerList = new List <TEEmpBasicInfo>(); foreach (TEComplainceModel item in teissueresult) { DateTime EscalationDate = System.DateTime.Today; TEQueueDepartment Escalation = db.TEQueueDepartments.Where(x => x.QueueID == item.QueueID && x.CategoryID == item.CategoryID).FirstOrDefault(); try { if (Escalation != null) { if (item.PriorityName == "Normal") { EscalationDate = item.CreatedOn.AddDays(Convert.ToDouble(Escalation.SLAMedium)); item.issuePriority = 3; } else if (item.PriorityName == "Critical") { EscalationDate = item.CreatedOn.AddDays(Convert.ToDouble(Escalation.SLAHigh)); item.issuePriority = 2; } else if (item.PriorityName == "Emergency") { EscalationDate = item.CreatedOn.AddDays(Convert.ToDouble(Escalation.SLACritical)); item.issuePriority = 1; } } if (Today > EscalationDate) { TimeSpan difference = Today - item.CreatedOn.Date; item.Age = Convert.ToInt32(difference.TotalDays); UserProfile Assige = new UserProfile(); Assige = db.UserProfiles.Where(x => x.UserId == item.AssignedTo).FirstOrDefault(); string AssigneUserId = Convert.ToString(item.AssignedTo); TEEmpBasicInfo AssigneBasic = null; if (Assige != null) { AssigneBasic = new TEEmpBasicInfo(); AssigneBasic = db.TEEmpBasicInfoes.Where(x => x.UserId == Assige.UserName).FirstOrDefault(); } TEEmpAssignmentDetail AssigneDetails = null; if (AssigneBasic != null) { AssigneDetails = new TEEmpAssignmentDetail(); AssigneDetails = db.TEEmpAssignmentDetails.Where(x => x.TEEmpBasicInfo == AssigneBasic.Uniqueid && x.IsDeleted == false && x.Status == "Active").FirstOrDefault(); } if (AssigneDetails != null) { TEEmpBasicInfo ManagerBasic = db.TEEmpBasicInfoes.Find(AssigneDetails.TEEmpBasicInfo_ReportingTo); if (ManagerBasic != null) { item.AssigneManagerId = ManagerBasic.Uniqueid; item.AssigneManagerName = ManagerBasic.FirstName + " " + ManagerBasic.LastName; ManagerList.Add(ManagerBasic); } } escalatedissueresult.Add(item); } } catch (Exception ex) { return(ex.Message); } } ManagerList = ManagerList.Distinct().Where(a => a.OfficialEmail != null).ToList(); foreach (TEEmpBasicInfo basicitem in ManagerList) { EmailSendModel SendDetails = new EmailSendModel(); var potemp1 = db.TEEmailTemplates.Where(x => x.ModuleName == "TicketEscalation").FirstOrDefault(); string bodytag = ""; foreach (TEComplainceModel item in escalatedissueresult.OrderBy(x => x.issuePriority).ThenByDescending(x => x.Age).Where(x => x.AssigneManagerId == basicitem.Uniqueid).ToList()) { try { bodytag = bodytag + "<tr style='font-size: 9pt !important;'><td style='text-align:right;'>@ticket number@</td><td>@Category@</td><td>@Requestor Name@</td><td>@Requestor Date@</td><td>@Priority@</td><td>@Resolution Date@</td><td style='text-align:right;'>@Age@</td><td>@Technician name@</td><td>@Description@</td></tr>"; bodytag = bodytag.Replace("@ticket number@", item.Uniqueid.ToString()); bodytag = bodytag.Replace("@Requestor Name@", (item.RaisedByName)); bodytag = bodytag.Replace("@Requestor Date@", item.CreatedOn == null ? "" : String.Format("{0:dd-MM-yyyy}", item.CreatedOn)); bodytag = bodytag.Replace("@Manager Name@", item.AssigneManagerName); bodytag = bodytag.Replace("@Category@", item.Categoryname); bodytag = bodytag.Replace("@Priority@", item.PriorityName); bodytag = bodytag.Replace("@Resolution Date@", item.Estimated_Close_date == null ? "" : String.Format("{0:dd-MM-yyyy}", item.Estimated_Close_date)); bodytag = bodytag.Replace("@Description@", item.Descritpion); bodytag = bodytag.Replace("@Technician name@", item.AssignToName); bodytag = bodytag.Replace("@Age@", item.Age.ToString()); } catch (Exception ex) { return(ex.Message); } } SendDetails.Subject = potemp1.Subject; SendDetails.Html = potemp1.EmailTemplate.Replace("@bodytag@", bodytag); SendDetails.Html = SendDetails.Html.Replace("@Manager Name@", basicitem.FirstName + " " + basicitem.LastName); SendDetails.To = basicitem.OfficialEmail; EmailMgr.SendEmail(SendDetails); } return("Success"); }