private void LoadCodeDetailData(string CodeSetName) { i9Message RequestMessage = new i9Message(); RequestMessage.MsgBody = CodeSetName; RequestMessage.ToBizLayer = MobileMessageType.Admin; RequestMessage.ToBizLayerMsgType = AdminType.Code_GetCodeDetail_Admin; i9Message responseMsg = i9MessageManager.SendMessage(RequestMessage); if (responseMsg.ErrorStatus.IsError) { LogManager.Instance.LogMessage(responseMsg.ErrorStatus); //AppCommand.SendCommand(AppCommandType.Error, AppSubCommandType.DisplayError, ""); MessageBox.Show("Unable to get codes, please try again.", "Codes", MessageBoxButton.OK, MessageBoxImage.Information); this.DataContext = null; return; } if (responseMsg.HasTables()) { CodeDetailDataTable = responseMsg.MsgBodyDataSet.Tables[0]; this.DataContext = CodeDetailDataTable.DefaultView; } else { this.DataContext = null; } }
private static void WaitForMessage(ref i9Message ReturnMessage, CancellationToken ct) { DateTime StartTime = DateTime.Now; while (true) { if (ct.IsCancellationRequested) { return; } DateTime EndTime = DateTime.Now; TimeSpan span = EndTime.Subtract(StartTime); if (ReturnMessage != null) { break; } if (span.Seconds > MsgTimeOut) //Time needs to be configurable... { break; } Thread.Sleep(200); //Sleep alittle bit } }
//private static i9Message SendMessage_V2(i9Message MobileMsg) //{ // i9Message ReturnMessage = null; // DateTime StartTime = DateTime.Now; // Thread MsgThread = new Thread(delegate() // { // // Return value directly to local variable. // Thread.Sleep(15000); // ReturnMessage = SendMessageAsync(MobileMsg); // } // ); // ThreadMessages.Add(MobileMsg.MsgGUID, MsgThread); // MsgThread.Start(); // if (MsgThread.Join(10000)) // { // Console.WriteLine("New thread terminated."); // } // else // { // Console.WriteLine("Join timed out."); // ReturnMessage = new i9Message(); // ReturnMessage.ErrorStatus.IsError = true; // ReturnMessage.ErrorStatus.ErrorMsg = "User Canceled the Action"; // } // ThreadMessages.Remove(MobileMsg.MsgGUID); // tokenSource = null; // return ReturnMessage; //} //private static bool CancelMessage_V2(i9Message MobileMsg) //{ // bool Results = false; // if (MobileMsg == null) // { // foreach (KeyValuePair<string, Thread> kvp in ThreadMessages) // { // Thread t = kvp.Value; // t.Abort(); // Results = true; // } // } // else // { // if (ThreadMessages.ContainsKey(MobileMsg.MsgGUID)) // { // Thread t = ThreadMessages[MobileMsg.MsgGUID]; // t.Abort(); // Results = true; // } // } // return Results; //} private static bool CancelMessage_V1(i9Message MobileMsg) { bool Results = false; if (tokenSource != null) { tokenSource.Cancel(); } if (MobileMsg == null) { foreach (KeyValuePair <string, Thread> kvp in ThreadMessages) { kvp.Value.Abort(); Results = true; } } else { if (ThreadMessages.ContainsKey(MobileMsg.MsgGUID)) { Thread t = ThreadMessages[MobileMsg.MsgGUID]; t.Abort(); Results = true; } } return(Results); }
private i9Message GetEntireTable(i9Message RequestMessage) { string TableName = RequestMessage.MsgBody; i9Message response = new i9Message(); string sql = "SELECT * FROM " + TableName; string personnelID = RequestMessage.MessageSecurity.LoginPersonnelID; switch (TableName.ToUpper()) { case "i9SysPersonnel": //Leave out the password from the result set. sql = "SELECT BadgeNumber, i9SysPersonnelID, FirstName, LastName, MiddleName, OfficerORI, Officer FROM i9SysPersonnel"; break; //case "i9SecurityGroupTask": // sql = "SELECT * FROM i9SecurityGroupTask WHERE i9SysPersonnelID = " + SQLUtility.SQLString(personnelID); // break; //case "i9SecurityGroupModule": // sql = "SELECT * FROM i9SecurityGroupModule WHERE i9SysPersonnelID = " + SQLUtility.SQLString(personnelID); // break; default: sql = "SELECT * FROM " + TableName; break; } DataSet ss = new SQLAccess().GetDataSet(sql, TableName); response.MsgBodyDataSet = ss; return response; }
/// <summary> /// Process Mobile Message /// </summary> /// <param name="requestMessage"></param> /// <returns></returns> public i9Message ProcessMobileMessage(i9Message requestMessage) { i9Message responseMessage = new i9Message(); switch (requestMessage.ToBizLayerMsgType) { case SecurityType.Security_PersonnelGroupsGet: responseMessage = Security_GetPersonnelGroups(requestMessage); break; case SecurityType.Security_PersonnelGroupsSave: responseMessage = Security_SavePersonnelGroups(requestMessage); break; case SecurityType.Security_SecurityGroupsGet: responseMessage = Security_GetSecurityGroups(requestMessage); break; case SecurityType.Security_SecurityGroupSave: responseMessage = Security_SaveGroupItems(requestMessage); break; case SecurityType.Security_PersonnelGroupTaskGet: responseMessage = Security_PersonnelGroupTaskGet(requestMessage); break; default: responseMessage.ErrorStatus.IsError = true; responseMessage.ErrorStatus.ErrorMsg = "Unknown Message Type(" + DateTime.Now.ToString() + "): " + requestMessage.ToBizLayerMsgType; ServiceLogManager.LogThis("Unkown message type in the Security business layer : " + requestMessage.ToBizLayerMsgType, LogEventType.Info, "", ""); break; } return responseMessage; }
private i9Message AgencySave(i9Message requestMessage) { i9Message ResponseMessage = new i9Message(); try { if (requestMessage.MsgBodyDataSet != null) { if (requestMessage.MsgBodyDataSet.Tables.Count > 0) { SQLAccess da = new SQLAccess(); da.SaveDataTable(requestMessage.MsgBodyDataSet.Tables["i9Agency"]); ResponseMessage.ErrorStatus.IsError = false; } } } catch (Exception ex) { ServiceLogManager.LogThis("Error saving dataset", LogEventType.Error, ex, "", ""); ResponseMessage.ErrorStatus.IsError = true; ResponseMessage.ErrorStatus.ErrorMsg = ex.Message; } return ResponseMessage; }
public i9Message ProcessMobileMessage(i9Message mMessage) { i9Message response = new i9Message(); response.ErrorStatus.SetError(true, "un-processed message", new Exception()); switch (mMessage.ToBizLayerMsgType) { case LawType.Incident_New: response = NewIncident(mMessage); break; case LawType.Incident_Edit: response = EditIncident(mMessage); break; case LawType.Incident_Save: response = SaveIncident(mMessage); break; case LawType.Incident_Search: response = SearchIncident(mMessage); break; case LawType.Incident_Delete: response = DeleteIncident(mMessage); break; default: response.ErrorStatus.IsError = true; response.ErrorStatus.ErrorMsg = "Unknown Message Type(" + DateTime.Now.ToString() + "): " + mMessage.ToBizLayerMsgType; //response.ErrorStatus.SetError(true, "un-processed message", new Exception()); break; } return response; }
/// <summary> /// Process Mobile Message /// </summary> /// <param name="requestMessage"></param> /// <returns></returns> public i9Message ProcessMobileMessage(i9Message requestMessage) { i9Message responseMessage = new i9Message(); switch (requestMessage.ToBizLayerMsgType) { case AgencyType.Agency_GetList: responseMessage = GetList(requestMessage); break; case AgencyType.Agency_Delete: responseMessage = DeleteAgency(requestMessage); break; case AgencyType.Agency_GetDetail: responseMessage = GetDetail(requestMessage); break; case AgencyType.Agency_Save: responseMessage = AgencySave(requestMessage); break; default: responseMessage.ErrorStatus.IsError = true; responseMessage.ErrorStatus.ErrorMsg = "Unknown Message Type(" + DateTime.Now.ToString() + "): " + requestMessage.ToBizLayerMsgType; ServiceLogManager.LogThis("Unkown message type in the Agency business layer : " + requestMessage.ToBizLayerMsgType, LogEventType.Info, "", ""); break; } return responseMessage; }
public static i9Message SendMessage(string ToBizLayer, string ToBizLayerMsgType, string From) { i9Message MobileMsg = new i9Message(); MobileMsg.ToBizLayer = ToBizLayer; MobileMsg.ToBizLayerMsgType = ToBizLayerMsgType; MobileMsg.From = From; return SendMessage(MobileMsg); }
public static i9Message SendMessage(string ToBizLayer, string ToBizLayerMsgType, string From) { i9Message MobileMsg = new i9Message(); MobileMsg.ToBizLayer = ToBizLayer; MobileMsg.ToBizLayerMsgType = ToBizLayerMsgType; MobileMsg.From = From; return(SendMessage(MobileMsg)); }
private i9Message DeleteAgency(i9Message requestMessage) { string AgencyID = requestMessage.MsgBody.ToString(); i9Message response = new i9Message(); SQLAccess da = new SQLAccess(); string SQL = "DELETE FROM i9Agency WHERE i9AgencyID = " + SQLUtility.SQLString(AgencyID) + " "; int UpdatedRows = da.ExecuteSQL(SQL); response.MsgBody = UpdatedRows.ToString(); return response; }
public static i9Message SendMessage(string ToBizLayer, string ToBizLayerMsgType, string From, DataSet MsgDataSet) { i9Message MobileMsg = new i9Message(); MobileMsg.ToBizLayer = ToBizLayer; MobileMsg.ToBizLayerMsgType = ToBizLayerMsgType; MobileMsg.From = From; MobileMsg.MsgBodyDataSet = MsgDataSet; return(SendMessage(MobileMsg)); }
public static i9Message SendMessage(string ToBizLayer, string ToBizLayerMsgType, string From, DataSet MsgDataSet ) { i9Message MobileMsg = new i9Message(); MobileMsg.ToBizLayer = ToBizLayer; MobileMsg.ToBizLayerMsgType = ToBizLayerMsgType; MobileMsg.From = From; MobileMsg.MsgBodyDataSet = MsgDataSet; return SendMessage(MobileMsg); }
private static i9Message SendMessageAsync(i9Message MobileMsg) { i9Message ReturnMessage = new i9Message(); try { //Thread.Sleep(10000); //Security Information to the Message. MobileMsg.MessageSecurity.MachineName = Environment.MachineName; MobileMsg.MessageSecurity.MachineUserName = Environment.UserName; MobileMsg.MessageSecurity.IPAddress = "???"; MobileMsg.MessageSecurity.LoginPersonnelID = SettingManager.Instance.LoginPersonnelID; MobileMsg.MessageSecurity.AgencyID = SettingManager.Instance.AgencyID; string TextMsg = MobileMsg.XMLSerializeMessage(); string ReturnXMLMessage = ""; if (ConfigurationManager.Instance.IsDemoMode) { //Demo Verison of the application. No Backend system. if (mIi9MessageManager == null) { mIi9MessageManager = GetIi9BizManager(); } ReturnXMLMessage = mIi9MessageManager.ProcessMobileMessage(TextMsg); } else { //Production Verison of the application. biz logic and data access is handed in the backend. Invert911Service oInvert911Service = (Invert911Service)WebServiceUtilities.GetWebService(new Invert911Service()); //Invert911.InvertCommon.Invert911service.Invert911Service oInvert911Service = new Invert911service.Invert911Service(); //ReturnXMLMessage = oInvert911Service.ProcessMobileMessageTest(TextMsg); ReturnXMLMessage = oInvert911Service.ProcessMobileMessage(TextMsg); } ReturnMessage = (i9Message)i9Message.XMLDeserializeMessage(typeof(i9Message), ReturnXMLMessage); } catch (Exception ex) { ReturnMessage.ErrorStatus.IsError = true; //ReturnMessage.ErrorStatus.ErrorMsg = ex.GetBaseException().Message; ReturnMessage.ErrorStatus.ErrorMsg = "Error: " + ex.GetBaseException().Message + Environment.NewLine + " StackTrace: " + ex.GetBaseException().StackTrace; LogManager.Instance.LogMessage("Error in the MessageManager.SendMessage", ex); } return(ReturnMessage); }
public static i9Message SendMessage(string ToBizLayer, string ToBizLayerMsgType, string From, Type type, object MsgBody) { i9Message MobileMsg = new i9Message(); MobileMsg.ToBizLayer = ToBizLayer; MobileMsg.ToBizLayerMsgType = ToBizLayerMsgType; MobileMsg.From = From; if(type == typeof(string)) MobileMsg.MsgBody = MsgBody.ToString(); else MobileMsg.MsgBody = i9Message.XMLSerializeMessage(MsgBody.GetType(), MsgBody); return SendMessage(MobileMsg); }
void IncidentEntry_Loaded(object sender, RoutedEventArgs e) { if (m_LawIncidentType != null) return; ClearReportViewer(); m_LawIncidentType = new LawIncidentType(); if (String.IsNullOrEmpty(i9EventID)) { i9Message responseMsg = i9MessageManager.SendMessage(MobileMessageType.Incident, LawType.Incident_New, "incidentEntry"); if (responseMsg.ErrorStatus.IsError) { MessageBox.Show("Error creating a new incident."); return; } else { m_LawIncidentType.oDataSet = responseMsg.MsgBodyDataSet; } } else { i9Message Msg = new i9Message(); Msg.ToBizLayer = MobileMessageType.Incident; Msg.ToBizLayerMsgType = LawType.Incident_Edit; Msg.From = "IncidentEntry"; LawIncidentMessage incidentMsg = new LawIncidentMessage(); incidentMsg.i9EventID = i9EventID; Msg.MsgBody = i9Message.XMLSerializeMessage(incidentMsg.GetType(), incidentMsg); i9Message responseMsg = i9MessageManager.SendMessage(Msg); if (responseMsg.ErrorStatus.IsError) { MessageBox.Show("Error opening the incident record."); return; } else { m_LawIncidentType.oDataSet = responseMsg.MsgBodyDataSet; } } DataBindIncident(); }
public i9Message ProcessMobileMessage(i9Message RequestMessage) { i9Message response = new i9Message(); switch (RequestMessage.ToBizLayerMsgType) { case SyncCacheType.GetSyncData: string LastChanged = RequestMessage.MsgBody; response = GetSyncData(LastChanged); break; case SyncCacheType.GetFullTable: response = GetEntireTable(RequestMessage); break; } return response; }
private i9Message GetDetail(i9Message requestMessage) { string AgencyID = requestMessage.MsgBody.ToString(); i9Message response = new i9Message(); SQLAccess da = new SQLAccess(); string SQL = " Select * from i9Agency WHERE i9AgencyID = " + SQLUtility.SQLString(AgencyID) + " order by AgencyName "; Dictionary<string, string> tableMapping = new Dictionary<string, string>() { {"Table", "i9Agency"}, }; DataSet ds = da.GetDataSet(SQL, tableMapping); response.MsgBodyDataSet = ds; return response; }
public static i9Message SendMessage(i9Message MobileMsg) { i9Message RespomseMsg = new i9Message(); try { RespomseMsg = SendMessage_V1(MobileMsg); } catch (Exception ex) { LogManager.Instance.LogMessage(ex); RespomseMsg.ErrorStatus.IsError = true; RespomseMsg.ErrorStatus.ErrorMsg = "Error: " + ex.GetBaseException().Message + Environment.NewLine + " StackTrace: " + ex.GetBaseException().StackTrace; } return(RespomseMsg); }
public static i9Message SendMessage(i9Message MobileMsg) { i9Message RespomseMsg = new i9Message(); try { RespomseMsg = SendMessage_V1(MobileMsg); } catch (Exception ex) { LogManager.Instance.LogMessage(ex); RespomseMsg.ErrorStatus.IsError = true; RespomseMsg.ErrorStatus.ErrorMsg = "Error: " + ex.GetBaseException().Message + Environment.NewLine + " StackTrace: " + ex.GetBaseException().StackTrace; } return RespomseMsg; }
private i9Message DeleteIncident(i9Message requestMessage) { i9Message response = new i9Message(); SQLAccess da = new SQLAccess(); LawIncidentMessage lim = (LawIncidentMessage)i9Message.XMLDeserializeMessage(typeof(LawIncidentMessage), requestMessage.MsgBody); string i9EventID = lim.i9EventID; string DeleteIncidentSql = " DELETE FROM i9LawIncident WHERE i9EventID = " + SQLUtility.SQLString(i9EventID) + Environment.NewLine + " DELETE FROM i9PersonSMT WHERE i9EventID = " + SQLUtility.SQLString(i9EventID) + Environment.NewLine + " DELETE FROM i9Property WHERE i9EventID = " + SQLUtility.SQLString(i9EventID) + Environment.NewLine + " DELETE FROM i9Narrative WHERE i9EventID = " + SQLUtility.SQLString(i9EventID) + Environment.NewLine + " DELETE FROM i9VehicleRecovery WHERE i9EventID = " + SQLUtility.SQLString(i9EventID) + Environment.NewLine + " DELETE FROM i9VehicleTowed WHERE i9EventID = " + SQLUtility.SQLString(i9EventID) + Environment.NewLine + " DELETE FROM i9AttachmentLink WHERE i9EventID = " + SQLUtility.SQLString(i9EventID) + Environment.NewLine + " DELETE FROM i9Attachment WHERE i9EventID = " + SQLUtility.SQLString(i9EventID) + Environment.NewLine + " DELETE FROM i9AttachmentData WHERE i9EventID = " + SQLUtility.SQLString(i9EventID) + Environment.NewLine + " DELETE FROM i9Person WHERE i9EventID = " + SQLUtility.SQLString(i9EventID) + Environment.NewLine + " DELETE FROM i9Vehicle WHERE i9EventID = " + SQLUtility.SQLString(i9EventID) + Environment.NewLine + " DELETE FROM i9Location WHERE i9EventID = " + SQLUtility.SQLString(i9EventID) + Environment.NewLine + " DELETE FROM i9Event WHERE i9EventID = " + SQLUtility.SQLString(i9EventID) + Environment.NewLine; //" DELETE FROM i9Offense WHERE i9EventID = " + SQLUtility.SQLString(i9EventID) + Environment.NewLine + //" DELETE FROM i9CADServiceCall WHERE i9EventID = " + SQLUtility.SQLString(i9EventID); //Stopwatch stopWatch = new Stopwatch(); //stopWatch.Start(); DeleteIncidentSql = SQLUtility.WrapInTransaction(DeleteIncidentSql); response.MsgBody = da.ExecuteSQL(DeleteIncidentSql).ToString(); //stopWatch.Stop(); //TimeSpan ts = stopWatch.Elapsed; //string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}", //ts.Hours, ts.Minutes, ts.Seconds, //ts.Milliseconds / 10); //Console.WriteLine(elapsedTime); response.ErrorStatus.IsError = false; return response; }
public static i9Message SendMessage(string ToBizLayer, string ToBizLayerMsgType, string From, Type type, object MsgBody) { i9Message MobileMsg = new i9Message(); MobileMsg.ToBizLayer = ToBizLayer; MobileMsg.ToBizLayerMsgType = ToBizLayerMsgType; MobileMsg.From = From; if (type == typeof(string)) { MobileMsg.MsgBody = MsgBody.ToString(); } else { MobileMsg.MsgBody = i9Message.XMLSerializeMessage(MsgBody.GetType(), MsgBody); } return(SendMessage(MobileMsg)); }
private static i9Message SendMessage_V1(i9Message MobileMsg) { tokenSource = new CancellationTokenSource(); CancellationToken token = tokenSource.Token; i9Message ReturnMessage = null; DateTime StartTime = DateTime.Now; Thread MsgThread = new Thread(delegate() { // Return value directly to local variable. ReturnMessage = SendMessageAsync(MobileMsg); } ); ThreadMessages.Add(MobileMsg.MsgGUID, MsgThread); MsgThread.Start(); Task taskA = Task.Factory.StartNew(() => WaitForMessage(ref ReturnMessage, token), token); WaitWithPumping(taskA); ThreadMessages.Remove(MobileMsg.MsgGUID); tokenSource = null; if (token.IsCancellationRequested) { ReturnMessage = new i9Message(); ReturnMessage.ErrorStatus.IsError = true; ReturnMessage.ErrorStatus.ErrorMsg = "User Canceled the Action"; } if (ReturnMessage == null) { LogManager.Instance.LogMessage("RespomseMsg was null"); ReturnMessage.ErrorStatus.IsError = true; ReturnMessage.ErrorStatus.ErrorMsg = "Message timed out"; } return(ReturnMessage); }
private i9Message GetSyncData(string LatChanged) { i9Message response = new i9Message(); string sql = ""; int TableCounter = 0; List<string> tables = DataAccessUtilities.SyncTableNames(); Dictionary<string, string> tableMapping = new Dictionary<string, string>(); tables.ForEach(delegate(String TableName) { sql += " SELECT * FROM " + TableName + " WHERE LastUpdate >= " + SQLUtility.SQLString(LatChanged.Trim()) + " or LastUpdate is null " + Environment.NewLine; tableMapping.Add("Table" + (TableCounter == 0 ? "" : TableCounter.ToString()), TableName); TableCounter++; }); DataSet ds = new SQLAccess().GetDataSet(sql, tableMapping); response.MsgBodyDataSet = ds; return response; }
private i9Message Security_PersonnelGroupTaskGet(i9Message requestMessage) { i9Message response = new i9Message(); SQLAccess da = new SQLAccess(); string i9SysPersonnelID = requestMessage.MsgBody; string SQL1 = @" SELECT sgm.ModuleName FROM i9SecurityGroupPersonnel sgp INNER JOIN i9SecurityGroup sg ON sgp.i9SecurityGroupID = sg.i9SecurityGroupID LEFT OUTER JOIN i9SecurityGroupModule sgm ON sgm.SecurityGroupName = sg.SecurityGroupName LEFT OUTER JOIN i9Agency a on a.i9AgencyID = sgp.i9AgencyID INNER JOIN i9SysPersonnel per on per.i9SysPersonnelID = sgp.i9SysPersonnelID WHERE per.i9SysPersonnelID = @i9SysPersonnelID GROUP BY sgm.ModuleName ORDER BY sgm.ModuleName "; SQL1 = SQL1.Replace("@i9SysPersonnelID", SQLUtility.SQLString(i9SysPersonnelID)); string SQL2 = @" SELECT * FROM i9SecurityGroupTask WHERE 1=2"; SQL2 = SQL2.Replace("@i9SysPersonnelID", SQLUtility.SQLString(i9SysPersonnelID)); string SQL = SQL1 + " " + Environment.NewLine + " " + SQL2; Dictionary<string, string> tableMapping = new Dictionary<string, string>() { {"Table", "ModuleName"}, {"Table1", "TaskName"}, }; DataSet ds = da.GetDataSet(SQL, tableMapping); response.MsgBodyDataSet = ds; return response; }
/// <summary> /// GetDynamicEntryAdmin /// </summary> /// <param name="mMessage"></param> /// <returns></returns> private i9Message GetDynamicEntryAdmin(i9Message mMessage) { SQLAccess da = new SQLAccess(); i9Message response = new i9Message(); string SQLLogin = "******" + Environment.NewLine + " SELECT * FROM i9DynamicEntryConfig " + Environment.NewLine + " select * from i9DynamicEntryRule " + Environment.NewLine; Dictionary<string, string> tableMapping = new Dictionary<string, string>() { {"Table", "i9DynamicEntry"}, {"Table1", "i9DynamicEntryConfig"}, {"Table2", "i9DynamicEntryRule"}, }; response.MsgBodyDataSet = da.GetDataSet(SQLLogin, tableMapping); response.ErrorStatus.IsError = false; return response; }
public static bool CancelMessage(i9Message MobileMsg) { return(CancelMessage_V1(MobileMsg)); }
private i9Message PersonnelGetList(i9Message requestMessage) { i9Message response = new i9Message(); SQLAccess da = new SQLAccess(); string SQL = " Select LastName +', ' + FirstName + ' - ' + BadgeNumber as DisplayName, * FROM i9SysPersonnel order by DisplayName " + Environment.NewLine + " Select * from i9Agency order by AgencyName "; Dictionary<string, string> tableMapping = new Dictionary<string, string>() { {"Table", "i9SysPersonnel"}, {"Table1", "i9Agency"}, }; DataSet ds = da.GetDataSet(SQL, tableMapping); response.MsgBodyDataSet = ds; return response; }
private void DeleteButton_Click(object sender, RoutedEventArgs e) { if (PersonnelListView.SelectedValue == null) { return; } DataRowView SelectedDrv = (DataRowView)PersonnelListView.SelectedItem; string PersonnelID = SelectedDrv["i9SysPersonnelID"].ToString(); i9Message RequestMessage = new i9Message(); RequestMessage.MsgBody = PersonnelID; RequestMessage.ToBizLayer = MobileMessageType.Admin; RequestMessage.ToBizLayerMsgType = AdminType.SysPer_PersonDelete; i9Message responseMsg = i9MessageManager.SendMessage(RequestMessage); if (responseMsg.ErrorStatus.IsError) { LogManager.Instance.LogMessage(responseMsg.ErrorStatus); MessageBox.Show("Unable to delete peronnel, please try again.", "Personnel", MessageBoxButton.OK, MessageBoxImage.Information); this.DataContext = null; return; } RefreshPersonnel(); }
private void LoadPersonnelDetailData(string PersonnelID) { i9Message RequestMessage = new i9Message(); RequestMessage.MsgBody = PersonnelID; RequestMessage.ToBizLayer = MobileMessageType.Admin; RequestMessage.ToBizLayerMsgType = AdminType.SysPer_PersonGet; i9Message responseMsg = i9MessageManager.SendMessage(RequestMessage); if (responseMsg.ErrorStatus.IsError) { LogManager.Instance.LogMessage(responseMsg.ErrorStatus); MessageBox.Show("Unable to get peronnel, please try again.", "Personnel", MessageBoxButton.OK, MessageBoxImage.Information); this.DataContext = null; return; } if (responseMsg.HasTables()) { PersonnelDetailDS = responseMsg.MsgBodyDataSet; this.DataContext = PersonnelDetailDS.Tables["i9SysPersonnel"].DefaultView; } else { this.DataContext = null; } }
/// <summary> /// DynamicEntry_GetTableColumns /// </summary> /// <param name="mMessage"></param> /// <returns></returns> private i9Message DynamicEntry_GetTableColumns(i9Message mMessage) { SQLAccess da = new SQLAccess(); i9Message response = new i9Message(); string ModuleSection = mMessage.MsgBody.Split(new Char[] {','})[0]; string TableName = mMessage.MsgBody.Split(new Char[] { ',' })[1]; string sql = " EXEC TableSchema_Get '" + TableName + "' " + Environment.NewLine ; //" SELECT * FROM i9DynamicEntryConfig where ModuleSection = '" + ModuleSection + "' " + Environment.NewLine + //" SELECT * FROM i9DynamicEntryRule der, i9DynamicEntryConfig dec WHERE der.i9DynanicEntryConfigID = dec.i9DynanicEntryConfigID AND dec.ModuleSection = '" + ModuleSection + "' " + Environment.NewLine; Dictionary<string, string> tableMapping = new Dictionary<string, string>() { {"Table", "i9TableSchema"}, //{"Table1", "i9DynamicEntryConfig"}, //{"Table2", "i9DynamicEntryRule"}, }; response.MsgBodyDataSet = da.GetDataSet(sql, tableMapping); response.ErrorStatus.IsError = false; return response; }
public string ProcessMobileMessage(string Message) { ServiceLogManager.LogThis(Message, LogEventType.InMessages, "", ""); i9Message Response = new i9Message(); try { i9Message RequestMessage = (i9Message)i9Message.XMLDeserializeMessage(typeof(i9Message), Message); if (RequestMessage.MessageFormatVersion != i9Message.MESSAGE_FORMAT_VERSION) { throw new Exception("Your Invert911 Cloud app is out of sync with the Clould server. Please upgrade to the latest i9Invert911 Clound App"); } //Need to Log Inbound Message //ServiceLogManager.LogThis(Message, LogEventType.Info, RequestMessage.MessageSecurity.LoginPersonnelID, RequestMessage.MessageSecurity.AgencyID); //Security Check: if (HasSecurityRight(RequestMessage, ref Response) == false) return Response.XMLSerializeMessage(); //Module Message Switch. Routes Messages switch (RequestMessage.ToBizLayer) { case MobileMessageType.Admin: Response = new AdminBLL().ProcessMobileMessage(RequestMessage); break; case MobileMessageType.Agency: Response = new AgencyBLL().ProcessMobileMessage(RequestMessage); break; case MobileMessageType.Citation: Response = new CitationBLL().ProcessMobileMessage(RequestMessage); break; case MobileMessageType.Common: Response = new CommonBLL().ProcessMobileMessage(RequestMessage); break; case MobileMessageType.FieldContact: Response = new FieldContactBLL().ProcessMobileMessage(RequestMessage); break; case MobileMessageType.Incident: Response = new LawIncidentBLL().ProcessMobileMessage(RequestMessage); break; case MobileMessageType.SyncCache: Response = new SyncBLL().ProcessMobileMessage(RequestMessage); break; case MobileMessageType.Security: Response = new SecurityBLL().ProcessMobileMessage(RequestMessage); break; default: ServiceLogManager.LogThis("Unkown message type in the Message Manager BLL: " + RequestMessage.ToBizLayerMsgType, LogEventType.Info, "", ""); Response.ErrorStatus.SetError(true, "Message Type is unknown", new Exception()); break; } } catch (Exception ex) { ServiceLogManager.LogThis("Error", LogEventType.Error, ex, "", ""); Response.ErrorStatus.IsError = true; Response.ErrorStatus.ErrorMsg = "Error processing server message: "; Response.ErrorStatus.ErrorTrace = ex.StackTrace; Response.ErrorStatus.ErrorException = ex.Message; } //Response Message In string format string ResponseMessageText = Response.XMLSerializeMessage(); //Log Outbound Message ServiceLogManager.LogThis(ResponseMessageText, LogEventType.OutMessages, "", ""); // return ResponseMessageText; }
private static i9Message SendMessageAsync(i9Message MobileMsg) { i9Message ReturnMessage = new i9Message(); try { //Security Information to the Message. MobileMsg.MessageSecurity.MachineName = Environment.MachineName; MobileMsg.MessageSecurity.MachineUserName = Environment.UserName; MobileMsg.MessageSecurity.IPAddress = "???"; MobileMsg.MessageSecurity.LoginPersonnelID = ""; // SettingManager.Instance.LoginPersonnelID; MobileMsg.MessageSecurity.AgencyID = ""; // SettingManager.Instance.AgencyID; string TextMsg = MobileMsg.XMLSerializeMessage(); string ReturnXMLMessage = ""; Ii9MessageManager oIi9MessageManager = new InvertService.BusinessLib.i9MessageManagerBLL(); ReturnXMLMessage = oIi9MessageManager.ProcessMobileMessage(TextMsg); ReturnMessage = (i9Message)i9Message.XMLDeserializeMessage(typeof(i9Message), ReturnXMLMessage); } catch (Exception ex) { ReturnMessage.ErrorStatus.IsError = true; ReturnMessage.ErrorStatus.ErrorMsg = "Error: " + ex.GetBaseException().Message + Environment.NewLine + " StackTrace: " + ex.GetBaseException().StackTrace; //LogManager.Instance.LogMessage("Error in the MessageManager.SendMessage", ex); ServiceLogManager.LogThis("", LogEventType.Error, ex, "", ""); } return ReturnMessage; }
public static i9Message SendMessage(i9Message MobileMsg) { i9Message ReturnMessage = new i9Message(); try { //RespomseMsg = SendMessage_V1(MobileMsg); ReturnMessage = SendMessageAsync(MobileMsg); } catch (Exception ex) { ServiceLogManager.LogThis("", LogEventType.Error, ex, "", ""); ReturnMessage.ErrorStatus.IsError = true; ReturnMessage.ErrorStatus.ErrorMsg = "Error: " + ex.GetBaseException().Message + Environment.NewLine + " StackTrace: " + ex.GetBaseException().StackTrace; } return ReturnMessage; }
private i9Message SaveDynamicEntryAdmin(i9Message mRequestMessage) { SQLAccess da = new SQLAccess(); i9Message response = new i9Message(); da.SaveDataTable(mRequestMessage.MsgBodyDataSet.Tables["i9DynamicEntryConfig"]); return response; }
private bool HasSecurityRight(i9Message RequestMessage, ref i9Message ResponseMessage) { //Need to Check the return true; }
public i9Message Login(i9Message RequestMessage) { i9Message response = new i9Message(); LoginMessage oLoginMessage = (LoginMessage)i9Message.XMLDeserializeMessage(typeof(LoginMessage), RequestMessage.MsgBody); SQLAccess da = new SQLAccess(); string SQLLogin = "******" + SQLUtility.SQLString(oLoginMessage.UserName) + " and Password = "******"i9SysPersonnel"); if (dt.Rows.Count <= 0) { //Just send back an empty table return response; } string i9SysPersonnelID = dt.Rows[0]["i9SysPersonnelID"].ToString(); //Give an activision code to the login user string UpdateSql = "UPDATE i9SysPersonnel SET ActivationGuid = '" + Guid.NewGuid() + "' WHERE i9SysPersonnelID = " + SQLUtility.SQLString(i9SysPersonnelID); if (da.ExecuteSQL(UpdateSql) <= 0) { //Nothing was updated. } //SyncModuleManagerToDB(); Dictionary<string, string> tableMapping = new Dictionary<string, string>() { {"Table", "i9SysPersonnel"}, {"Table1", "xxSecurityGroupTask"}, {"Table2", "xxSecurityGroupModule"}, }; string SQL = "SELECT * FROM i9SysPersonnel WHERE i9SysPersonnelID = @i9SysPersonnelID"; SQL = SQL + Environment.NewLine + @" SELECT sgt.TaskName, sp.BadgeNumber FROM i9SecurityGroup sg inner join i9SecurityGroupTask sgt on sgt.SecurityGroupName = sg.SecurityGroupName inner join i9SecurityGroupPersonnel sgp on sgp.i9SecurityGroupID = sg.i9SecurityGroupID inner join i9SysPersonnel sp on sp.i9SysPersonnelID = sgp.i9SysPersonnelID WHERE sp.i9SysPersonnelID = @i9SysPersonnelID Group by TaskName, BadgeNumber order by BadgeNumber, TaskName "; SQL = SQL + Environment.NewLine + @" SELECT sgm.ModuleName, sp.BadgeNumber FROM i9SecurityGroup sg inner join i9SecurityGroupModule sgm on sgm.SecurityGroupName = sg.SecurityGroupName inner join i9SecurityGroupPersonnel sgp on sgp.i9SecurityGroupID = sg.i9SecurityGroupID inner join i9SysPersonnel sp on sp.i9SysPersonnelID = sgp.i9SysPersonnelID WHERE sp.i9SysPersonnelID = @i9SysPersonnelID Group by ModuleName, BadgeNumber order by BadgeNumber, ModuleName "; SQL = SQL.Replace("@i9SysPersonnelID", SQLUtility.SQLString(i9SysPersonnelID) ); response.MsgBodyDataSet = response.MsgBodyDataSet = da.GetDataSet(SQL, tableMapping); response.ErrorStatus.IsError = false; return response; }
public i9Message ProcessMobileMessage(i9Message mMessage) { i9Message response = new i9Message(); response.ErrorStatus.SetError(true, "un-processed message", new Exception()); return response; }
private i9Message CreateUser(i9Message requestMessage) { i9Message response = new i9Message(); string CodeSetName = requestMessage.MsgBody; CreateUserMessage oCreateUserMessage = (CreateUserMessage)i9Message.XMLDeserializeMessage(typeof(CreateUserMessage), requestMessage.MsgBody); SQLAccess da = new SQLAccess(); string SQL = " Select * FROM i9SysPersonnel WHERE Email = " + SQLUtility.SQLString(oCreateUserMessage.Email) + " "; Dictionary<string, string> tableMapping = new Dictionary<string, string>() { {"Table", "i9SysPersonnel"} }; DataSet ds = da.GetDataSet(SQL, tableMapping); if (ds.Tables["i9SysPersonnel"].Rows.Count > 0) { response.ErrorStatus.ErrorMsg = "Email already exists in system"; response.ErrorStatus.IsError = true; return response; } else { DataRow dr = ds.Tables["i9SysPersonnel"].NewRow(); dr["FirstName"] = oCreateUserMessage.FirstName; dr["LastName"] = oCreateUserMessage.LastName; dr["DateTimeInserted"] = DateTime.Now; dr["DateTimeUpdated"] = DateTime.Now; dr["Password"] = oCreateUserMessage.Password; dr["Email"] = oCreateUserMessage.Email; dr["BadgeNumber"] = oCreateUserMessage.Email; dr["i9SysPersonnelID"] = Guid.NewGuid(); dr["ActivationGuid"] = Guid.NewGuid(); dr["Enabled"] = 1; dr["DemoUser"] = 1; dr["OfficerORI"] = ""; dr["Officer"] = oCreateUserMessage.FirstName + ", " + oCreateUserMessage.LastName; if (oCreateUserMessage.i9AgencyID == Guid.Empty) { dr["i9AgencyID"] = "53A05F38-FC9C-4260-B939-CB1F3998C4D4"; } else { dr["i9AgencyID"] = oCreateUserMessage.i9AgencyID; } ds.Tables["i9SysPersonnel"].Rows.Add(dr); da.SaveDataTable(ds.Tables["i9SysPersonnel"]); //=============================================================== // Send Email Confirmation //=============================================================== //string EmailMessage = ""; //string EmailSubject = "Invert911 Activation Confirmation"; //string EmailFrom = "*****@*****.**"; //string EmailTo = oCreateUserMessage.Email; //EmailUtility.SendEmail(EmailTo,EmailFrom,EmailSubject, EmailMessage); } response.ErrorStatus.IsError = false; return response; }