public List<string> GetInsertStateMent(ParsedSMS p_sms) { List<string> result = new List<string>(); //ADD string StartStateMent="INSERT INTO "; string StateMent = StartStateMent; string[] tables_Add = p_sms.DatabaseDetais.Where(t => t.Action == Database_Action.Add).Select(t => t.TableName).Distinct().ToArray(); foreach (string eachTable in tables_Add) { string[] rowNumbers = p_sms.DatabaseDetais.Where(t => t.Action == Database_Action.Add && t.TableName == eachTable).Select(t => t.RowNumber).Distinct().ToArray(); foreach (string eachRowNumber in rowNumbers) { StateMent = StateMent + " " + eachTable + " ("; var values = p_sms.DatabaseDetais.Where(t => t.Action == Database_Action.Add && t.TableName == eachTable && t.RowNumber == eachRowNumber).Select(t => new { Column = t.FieldName, Value = t.Value }).ToList(); int k = 1; for (int i = 0; i < values.Count; i++) { if (k < values.Count) StateMent = StateMent + values[i].Column + ","; else StateMent = StateMent + values[i].Column; k++; } StateMent = StateMent + ") " + "VALUES("; k = 1; for (int i = 0; i < values.Count; i++) { if (k < values.Count) StateMent = StateMent + values[i].Value + ","; else StateMent = StateMent + values[i].Value; k++; } StateMent = StateMent + ");"; result.Add(StateMent); StateMent = StartStateMent; } } return result; }
public string Execute_ActionAgainstReceivedMessage() { //int totalSmsReceived = 0; string FullMessageshow = string.Empty; List<SmsPdu> smsObjs=new List<SmsPdu>(); try { smsObjs = ModemCommunication.ReadMessage(); foreach (var smsObj in smsObjs) { // INSERT TO THE DATABASE FULLTEXT AND SHORTTEXT var dpdu = (SmsDeliverPdu)smsObj; string[] regCust_Code = GetCustCodeFromPhoneNo(dpdu.OriginatingAddress).ToArray(); var RegCustCode = string.Join(",", regCust_Code); String ReceivedTime = string.Empty; string EntryTime = string.Empty; string SMSSender = string.Empty; string Short_Code = dpdu.UserDataText; string FullMessage = dpdu.UserDataText; FullMessageshow = dpdu.OriginatingAddress + " - " + FullMessage; if (RegCustCode == "") { RegCustCode = "NULL"; } Smsload.SMSText = FullMessage; SMSSender = dpdu.OriginatingAddress; ReceivedTime = dpdu.SCTimestamp.ToString(); ReceivedTime = String.Format("{0:dd-MMM-yyyy HH:mm:ss tt}", ReceivedTime); EntryTime = String.Format("{0:dd-MMM-yyyy HH:mm:ss tt}", System.DateTime.Now); objDataSqlQuery.InsertReceiveSMS(RegCustCode, SMSSender, Short_Code, FullMessage, ReceivedTime, "0", EntryTime); ReceiveSMSParser prs = new ReceiveSMSParser(smsObj); ParsedSMS prsSMSObj = prs.GetParsedSMSObject(); List<Database_Details> dbActions = prsSMSObj.DatabaseDetais; if (prsSMSObj.DatabaseDetais.Where(t => t.Action == Database_Action.Add).ToList().Count > 0) { List<string> values = GetInsertStateMent(prsSMSObj); try { aDbConnection.ConnectDatabase_SMSSender(); aDbConnection.StartTransaction_SMSSender(); foreach (string eachStatement in values) { aDbConnection.ExecuteNonQuery_SMSSender(eachStatement); } aDbConnection.Commit_SMSSender(); } catch (Exception ex) { aDbConnection.Rollback_SMSSender(); } finally { aDbConnection.CloseDatabase_SMSSender(); } } else if (prsSMSObj.DatabaseDetais.Where(t => t.Action == Database_Action.Update).ToList().Count > 0) { } else if (prsSMSObj.DatabaseDetais.Where(t => t.Action == Database_Action.Delete).ToList().Count > 0) { } } } catch (Exception ex) { //Console.WriteLine(ex.ToString()); throw ex; } return FullMessageshow ; //= FullMessage; }