/// <summary> /// exposed method to process the ams data file /// reads the file line by line, splits it, creates the ams record /// and updates the database with the record /// </summary> /// <param name="fileName"></param> public void ProcessTheFile(string fileName) { try { using (StreamReader sr = new StreamReader(fileName)) { int recordCount = 1; string line; while ((line = sr.ReadLine()) != null) { string[] amsString = line.Split(m_sep); AMSRecord amsRecord = new AMSRecord(amsString); AddAmsRecord(amsRecord); // increment our record count recordCount++; } // while loop - end of file } //using sr } //try catch (SystemException se) { m_logger.WriteToLogFile("-NEXCEPTION::MAFFileReader::ProcessTheFile():ECaught:" + se.Message + se.StackTrace); } //m_logger.WriteToLogFile("-NFORMATIONAL::MAFFileReader::ProcessTheFile()Exiting"); }// ReadTheFile
/// <summary> /// exposed method to process the ams data file /// reads the file line by line, splits it, creates the ams record /// and updates the database with the record /// </summary> /// <param name="fileName"></param> public void ProcessTheFile(string fileName) { try { using (StreamReader sr = new StreamReader(fileName)) { int recordCount = 1; string line; while ( (line = sr.ReadLine()) != null ) { string[] amsString = line.Split(m_sep); AMSRecord amsRecord = new AMSRecord(amsString); AddAmsRecord(amsRecord); // increment our record count recordCount++; }// while loop - end of file }//using sr }//try catch (SystemException se) { m_logger.WriteToLogFile("-NEXCEPTION::MAFFileReader::ProcessTheFile():ECaught:" + se.Message + se.StackTrace); } //m_logger.WriteToLogFile("-NFORMATIONAL::MAFFileReader::ProcessTheFile()Exiting"); }
}// public void LogFileError(string msg) public void AddAmsRecord(AMSRecord ams) { //FileWriter.Instance.WriteToLogFile("-NFORMATIONAL::MAFDbMgr::InsertMafRecord()Entering"); StringBuilder commandStr = new StringBuilder("INSERT INTO SprintAmsRecord "); commandStr.Append(" ( AccountStatus, CallingStationId, IpAddress, UserName, AccountSessionId, CorrelationId, SessionCont,"); commandStr.Append(" HAIPAddress, NASIPAddress, PCFIPAddress, BSID, UserZone, FMUX, RMUX, ServiceOption, Ftype, Rtype, Fsize, FRC, RRC, IPTech, CompFlag,"); commandStr.Append(" ReasonInd, G3pp2FSize, IPQOS, AirQOS, AcctOutput, AcctInput, BadFrameCount, EventTimestamp, ActiveTime, NumActive, SDBInputOctet, SDBOutputOctet,"); commandStr.Append(" SDBNumInput, SDBNumOutput, TotalBytesRecvd, SIPInboundCount, SIPOutboundCount, PDSNVendorId, AAAId, EAMSId, EAMSPreProcessTime,"); commandStr.Append(" EAMSPostProcessTime, GMTOffset, DeltaAcctOutputOctets, DeltaAcctInputOctets,"); commandStr.Append(" DeltaActiveTime ) VALUES("); try { using (SqlConnection dataConnection = new SqlConnection(_connectionString)) { // add try catch block around setting up the command StringBuilder sb = new StringBuilder(); //DateTime dt = new DateTime(DateTime.Now.Year, Convert.ToInt16(ams.CallDate.Substring(2, 2)), // Convert.ToInt16(ams.CallDate.Substring(4, 2)), Convert.ToInt16(ams.AirConnectTime.Substring(0, 2)), // Convert.ToInt16(ams.AirConnectTime.Substring(2, 2)), Convert.ToInt16(ams.AirConnectTime.Substring(4, 2))); // for now going to log the air connect time to find out why not converting time right (AM time, 00:00:00 AM ) //FileWriter.Instance.WriteToLogFile("MAFDbMgr::InsertMafRecord():CallDate:AirConnectTime:AirConnectTime(0,2):" + ams.CallDate + " : " + // ams.AirConnectTime + " : " + ams.AirConnectTime.Substring(0, 2) + " : " + " DateTime::" + dt.ToString()); sb.Append("'" + ams.AccountStatus + "'"); sb.Append(",'" + ams.CallingStationId + "'"); sb.Append(",'" + ams.IpAddress + "'"); sb.Append(",'" + ams.UserName + "'"); sb.Append(",'" + ams.AccountSessionId + "'"); sb.Append(",'" + ams.CorrelationId + "'"); sb.Append(",'" + ams.SessionCont + "'"); sb.Append(",'" + ams.HaIpAddress + "'"); sb.Append(",'" + ams.NasIpAddress + "'"); sb.Append(",'" + ams.PcfIpAddress + "'"); sb.Append(",'" + ams.BSID + "'"); sb.Append(",'" + ams.UserZone + "'"); sb.Append(",'" + ams.FMUX + "'"); sb.Append(",'" + ams.RMUX + "'"); sb.Append(",'" + ams.ServiceOption + "'"); sb.Append(",'" + ams.Ftype + "'"); sb.Append(",'" + ams.Rtype + "'"); sb.Append(",'" + ams.Fsize + "'"); sb.Append(",'" + ams.Frc + "'"); sb.Append(",'" + ams.Rrc + "'"); sb.Append(",'" + ams.IpTech + "'"); sb.Append(",'" + ams.CompFlag + "'"); sb.Append(",'" + ams.ReasonInd + "'"); sb.Append(",'" + ams.G3pp2Fsize + "'"); sb.Append(",'" + ams.IpQos + "'"); sb.Append(",'" + ams.AirQos + "'"); sb.Append(",'" + ams.AcctOutput + "'"); sb.Append(",'" + ams.AcctInput + "'"); sb.Append(",'" + ams.BadFrameCount + "'"); sb.Append(",'" + ams.EventTimeStamp + "'"); sb.Append(",'" + ams.ActiveTime + "'"); sb.Append(",'" + ams.NumActive + "'"); sb.Append(",'" + ams.SdbInputOctet + "'"); sb.Append(",'" + ams.SdbOutputOctet + "'"); sb.Append(",'" + ams.SdbNumInput + "'"); sb.Append(",'" + ams.SdbNumOutput + "'"); sb.Append(",'" + ams.TotalBytesReceived + "'"); sb.Append(",'" + ams.SipInboundCount + "'"); sb.Append(",'" + ams.SipOutboundCount + "'"); sb.Append(",'" + ams.PdsnVendorId + "'"); sb.Append(",'" + ams.AaaId + "'"); sb.Append(",'" + ams.EamsId + "'"); sb.Append(",'" + ams.EamsPreProcessTime + "'"); sb.Append(",'" + ams.EamsPostProcessTime + "'"); sb.Append(",'" + ams.GmtOffset + "'"); sb.Append(",'" + ams.DeltaAcctOutputOctets + "'"); sb.Append(",'" + ams.DeltaAcctInputOctets + "'"); sb.Append(",'" + ams.DeltaActiveTime + "'" + ")"); // write the CDR to the database string tc = commandStr.ToString() + sb.ToString(); try { dataConnection.Open(); SqlCommand sqlCommand = new SqlCommand(tc, dataConnection); sqlCommand.CommandType = CommandType.Text; sqlCommand.ExecuteNonQuery(); } catch (Exception ex) { LogError("AMSDbMgr::InsertAmsRecord():ECaught:" + ex.Message + ex.StackTrace); } } //using } //try catch (Exception ex) { LogError("AMSDbMgr::InsertAmsRecord():ECaught:" + ex.Message + ex.StackTrace); } // FileWriter.Instance.WriteToLogFile("-NFORMATIONAL::MAFDbMgr::InsertMafRecord()Exiting"); }
public void AddAmsRecord(AMSRecord ams ) { //FileWriter.Instance.WriteToLogFile("-NFORMATIONAL::MAFDbMgr::InsertMafRecord()Entering"); StringBuilder commandStr = new StringBuilder("INSERT INTO SprintAmsRecord "); commandStr.Append(" ( AccountStatus, CallingStationId, IpAddress, UserName, AccountSessionId, CorrelationId, SessionCont,"); commandStr.Append(" HAIPAddress, NASIPAddress, PCFIPAddress, BSID, UserZone, FMUX, RMUX, ServiceOption, Ftype, Rtype, Fsize, FRC, RRC, IPTech, CompFlag,"); commandStr.Append(" ReasonInd, G3pp2FSize, IPQOS, AirQOS, AcctOutput, AcctInput, BadFrameCount, EventTimestamp, ActiveTime, NumActive, SDBInputOctet, SDBOutputOctet,"); commandStr.Append(" SDBNumInput, SDBNumOutput, TotalBytesRecvd, SIPInboundCount, SIPOutboundCount, PDSNVendorId, AAAId, EAMSId, EAMSPreProcessTime,"); commandStr.Append(" EAMSPostProcessTime, GMTOffset, DeltaAcctOutputOctets, DeltaAcctInputOctets,"); commandStr.Append(" DeltaActiveTime ) VALUES("); try { using (SqlConnection dataConnection = new SqlConnection(_connectionString)) { // add try catch block around setting up the command StringBuilder sb = new StringBuilder(); //DateTime dt = new DateTime(DateTime.Now.Year, Convert.ToInt16(ams.CallDate.Substring(2, 2)), // Convert.ToInt16(ams.CallDate.Substring(4, 2)), Convert.ToInt16(ams.AirConnectTime.Substring(0, 2)), // Convert.ToInt16(ams.AirConnectTime.Substring(2, 2)), Convert.ToInt16(ams.AirConnectTime.Substring(4, 2))); // for now going to log the air connect time to find out why not converting time right (AM time, 00:00:00 AM ) //FileWriter.Instance.WriteToLogFile("MAFDbMgr::InsertMafRecord():CallDate:AirConnectTime:AirConnectTime(0,2):" + ams.CallDate + " : " + // ams.AirConnectTime + " : " + ams.AirConnectTime.Substring(0, 2) + " : " + " DateTime::" + dt.ToString()); sb.Append("'" + ams.AccountStatus + "'"); sb.Append(",'" + ams.CallingStationId + "'"); sb.Append(",'" + ams.IpAddress + "'"); sb.Append(",'" + ams.UserName + "'"); sb.Append(",'" + ams.AccountSessionId + "'"); sb.Append(",'" + ams.CorrelationId + "'"); sb.Append(",'" + ams.SessionCont + "'"); sb.Append(",'" + ams.HaIpAddress + "'"); sb.Append(",'" + ams.NasIpAddress + "'"); sb.Append(",'" + ams.PcfIpAddress + "'"); sb.Append(",'" + ams.BSID + "'"); sb.Append(",'" + ams.UserZone + "'"); sb.Append(",'" + ams.FMUX + "'"); sb.Append(",'" + ams.RMUX + "'"); sb.Append(",'" + ams.ServiceOption + "'"); sb.Append(",'" + ams.Ftype + "'"); sb.Append(",'" + ams.Rtype + "'"); sb.Append(",'" + ams.Fsize + "'"); sb.Append(",'" + ams.Frc + "'"); sb.Append(",'" + ams.Rrc + "'"); sb.Append(",'" + ams.IpTech + "'"); sb.Append(",'" + ams.CompFlag + "'"); sb.Append(",'" + ams.ReasonInd + "'"); sb.Append(",'" + ams.G3pp2Fsize + "'"); sb.Append(",'" + ams.IpQos + "'"); sb.Append(",'" + ams.AirQos + "'"); sb.Append(",'" + ams.AcctOutput + "'"); sb.Append(",'" + ams.AcctInput + "'"); sb.Append(",'" + ams.BadFrameCount + "'"); sb.Append(",'" + ams.EventTimeStamp + "'"); sb.Append(",'" + ams.ActiveTime + "'"); sb.Append(",'" + ams.NumActive + "'"); sb.Append(",'" + ams.SdbInputOctet + "'"); sb.Append(",'" + ams.SdbOutputOctet + "'"); sb.Append(",'" + ams.SdbNumInput + "'"); sb.Append(",'" + ams.SdbNumOutput + "'"); sb.Append(",'" + ams.TotalBytesReceived + "'"); sb.Append(",'" + ams.SipInboundCount + "'"); sb.Append(",'" + ams.SipOutboundCount + "'"); sb.Append(",'" + ams.PdsnVendorId + "'"); sb.Append(",'" + ams.AaaId + "'"); sb.Append(",'" + ams.EamsId + "'"); sb.Append(",'" + ams.EamsPreProcessTime + "'"); sb.Append(",'" + ams.EamsPostProcessTime + "'"); sb.Append(",'" + ams.GmtOffset + "'"); sb.Append(",'" + ams.DeltaAcctOutputOctets + "'"); sb.Append(",'" + ams.DeltaAcctInputOctets + "'"); sb.Append(",'" + ams.DeltaActiveTime + "'" + ")"); // write the CDR to the database string tc = commandStr.ToString() + sb.ToString(); try { dataConnection.Open(); SqlCommand sqlCommand = new SqlCommand(tc, dataConnection); sqlCommand.CommandType = CommandType.Text; sqlCommand.ExecuteNonQuery(); } catch (Exception ex) { LogError("AMSDbMgr::InsertAmsRecord():ECaught:" + ex.Message + ex.StackTrace); } }//using }//try catch (Exception ex) { LogError("AMSDbMgr::InsertAmsRecord():ECaught:" + ex.Message + ex.StackTrace); } // FileWriter.Instance.WriteToLogFile("-NFORMATIONAL::MAFDbMgr::InsertMafRecord()Exiting"); }
}// ReadTheFile /// <summary> /// method to add the AMS record to the database /// </summary> /// <param name="r">AMS data record to be added to the database</param> private void AddAmsRecord(AMSRecord r) { m_dbMgr.AddAmsRecord(r); }
/// <summary> /// method to add the AMS record to the database /// </summary> /// <param name="r">AMS data record to be added to the database</param> private void AddAmsRecord(AMSRecord r) { m_dbMgr.AddAmsRecord(r); }