public DataCDR CreateDataCDRFromRawDataCDR(RawDataCDR rawDataCDR) { var ret = new DataCDR(); ret.RawDataCDR = rawDataCDR; ret.MobileNumber = rawDataCDR.Mobile_Number; //ret.DownloadAmount = long.Parse(RawDataCDR.Data_Volume_Incoming_1) // + long.Parse(RawDataCDR.Data_Volume_Incoming_2) // + long.Parse(RawDataCDR.Data_Volume_Incoming_3);//TODO: Correct ret //ret.UploadAmount = long.Parse(RawDataCDR.Data_Volume_Outgoing_1) // + long.Parse(RawDataCDR.Data_Volume_Outgoing_2) // + long.Parse(RawDataCDR.Data_Volume_Outgoing_3);//TODO: Correct ret ret.DownloadAmount = long.Parse(rawDataCDR.Data_Volume_Incoming_2); ret.UploadAmount = 0; ret.MNOAmountOrg = ret.DownloadAmount + ret.UploadAmount; ret.MNOAmount = ret.MNOAmountOrg; ret.MNOCostOrg = double.Parse(rawDataCDR.Dedicated_Amount_Used);//TODO: true Cost may be another field ret.MNOCost = ret.MNOCostOrg; ret.MNORateOrg = ret.MNOAmount == 0 ? 0 : ret.MNOCost / ret.MNOAmount; ret.StartTime = DateTime.ParseExact($"{rawDataCDR.Call_Date}", "yyyyMMddHHmmss", new CultureInfo("en-US")); ret.EndTime = ret.StartTime.AddSeconds(long.Parse(rawDataCDR.Call_Duration)); ret.MNOAmountLeft = ret.MNOAmount; ret.APartyMNP = BillingCommon.getCallNetProvider(ret.MobileNumber); return(ret); }
public MyBillingData(RawDataCDR RawDataCDR) { this.CDR = CreateDataCDRFromRawDataCDR(RawDataCDR); base._CDR = this.CDR; }