/// <summary> /// Send notice to role /// </summary> /// <param name="list">change information</param> private List <int> SendRoleNotice() { List <int> _users = new List <int>(); string sql = @"SELECT AD_User.ad_user_ID, AD_User_Roles.AD_Role_ID FROM AD_User_Roles INNER JOIN ad_user ON (AD_User_Roles.AD_User_ID =AD_User.AD_User_ID) WHERE AD_User_Roles.AD_Role_ID IN (SELECT AD_Role_ID FROM R_RequestTypeUpdates WHERE AD_Role_ID IS NOT NULL AND R_RequestType_ID=" + _req.GetR_RequestType_ID() + @" AND IsActive ='Y' ) AND AD_User_Roles.AD_User_ID NOT IN (SELECT u.AD_User_ID FROM RV_RequestUpdates_Only ru INNER JOIN AD_User u ON (ru.AD_User_ID=u.AD_User_ID) LEFT OUTER JOIN AD_User_Roles r ON (u.AD_User_ID =r.AD_User_ID) WHERE ru.R_Request_ID=" + _req.GetR_Request_ID() + @" ) AND ad_user.email IS NOT NULL"; DataSet _ds = DB.ExecuteDataset(sql, null, null); if (_ds != null && _ds.Tables[0].Rows.Count > 0) { _users = validateUsers(_ds); } return(_users); }
} // findSalesRep /** * Find SalesRep/User based on Request Type and Question. * @param request request * @return SalesRep_ID user */ private int FindSalesRep(MRequest request) { String QText = request.GetSummary(); if (QText == null) { QText = ""; } else { QText = QText.ToUpper(); } // MRequestProcessorRoute[] routes = m_model.GetRoutes(false); for (int i = 0; i < routes.Length; i++) { MRequestProcessorRoute route = routes[i]; // Match first on Request Type if ((request.GetR_RequestType_ID() == route.GetR_RequestType_ID()) && (route.GetR_RequestType_ID() != 0)) { return(route.GetAD_User_ID()); } // Match on element of keyword String keyword = route.GetKeyword(); if (keyword != null) { StringTokenizer st = new StringTokenizer(keyword.ToUpper(), " ,;\t\n\r\f"); while (st.HasMoreElements()) { if (QText.IndexOf(st.NextToken()) != -1) { return(route.GetAD_User_ID()); } } } } // for all routes return(m_model.GetSupervisor_ID()); } // findSalesRep
protected override string DoIt() { _req = new MRequest(GetCtx(), GetRecord_ID(), null); // check mail template if found on request or request type. mailText_ID = _req.GetR_MailText_ID(); if (mailText_ID == 0) { MRequestType reqType = new MRequestType(GetCtx(), _req.GetR_RequestType_ID(), null); if (reqType.GetR_MailText_ID() > 0) { mailText_ID = reqType.GetR_MailText_ID(); } } if (mailText_ID == 0) { GetReqHistory(); if (_reqAction == null) { return(Msg.GetMsg(GetCtx(), "R_NoReqChanges")); } string changedValues = _reqAction.GetChangedValues(); bool _changed = false; sendInfo = new List <String>(); if (!string.IsNullOrEmpty(changedValues)) { string[] strValues = changedValues.Split(','); if (strValues.Length > 0) { for (int i = 0; i < strValues.Length; i++) { _changed = true; sendInfo.Add(strValues[i]); } } } #region commented // //if (_req.GetR_RequestType_ID() != _reqAction.GetR_RequestType_ID() && _reqAction.GetR_RequestType_ID() > 0) //{ // _changed = true; // sendInfo.Add("R_RequestType_ID"); //} //if (_req.GetR_Group_ID() != _reqAction.GetR_Group_ID() && _reqAction.GetR_Group_ID() > 0) //{ // _changed = true; // sendInfo.Add("R_Group_ID"); //} //if (_req.GetR_Category_ID() != _reqAction.GetR_Category_ID() && _reqAction.GetR_Category_ID() > 0) //{ // _changed = true; // sendInfo.Add("R_Category_ID"); //} //if (_req.GetR_Status_ID() != _reqAction.GetR_Status_ID() && _reqAction.GetR_Status_ID() > 0) //{ // _changed = true; // sendInfo.Add("R_Status_ID"); //} //if (_req.GetR_Resolution_ID() != _reqAction.GetR_Resolution_ID() && _reqAction.GetR_Resolution_ID() > 0) //{ // _changed = true; // sendInfo.Add("R_Resolution_ID"); //} //// //if (_req.GetSalesRep_ID() != _reqAction.GetSalesRep_ID() && _reqAction.GetSalesRep_ID() > 0) //{ // _changed = true; // sendInfo.Add("SalesRep_ID"); //} //// //if (_req.GetPriority() != _reqAction.GetPriority() && !string.IsNullOrEmpty(_reqAction.GetPriority())) //{ // _changed = true; // sendInfo.Add("Priority"); //} //if (_req.GetPriorityUser() != _reqAction.GetPriorityUser() && !string.IsNullOrEmpty(_reqAction.GetPriorityUser())) //{ // _changed = true; // sendInfo.Add("PriorityUser"); //} //if (_req.GetSummary() != _reqAction.GetSummary() && !string.IsNullOrEmpty(_reqAction.GetSummary())) //{ // _changed = true; // sendInfo.Add("Summary"); //} #endregion if (sendInfo.Count > 0 && _changed) { prepareNotificMsg(sendInfo); // For Role Changes Thread thread = new Thread(new ThreadStart(() => SendNotices(sendInfo))); thread.Start(); return(Msg.GetMsg(GetCtx(), "R_EmailBackgrndRun")); } else { return(Msg.GetMsg(GetCtx(), "R_NoReqChanges")); } } else { prepareNotificMsg(sendInfo); // For Role Changes Thread thread = new Thread(new ThreadStart(() => SendNotices(sendInfo))); thread.Start(); return(Msg.GetMsg(GetCtx(), "R_EmailBackgrndRun")); } return(""); }