Example #1
0
        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);
        }
Example #2
0
 public MyBillingData(RawDataCDR RawDataCDR)
 {
     this.CDR  = CreateDataCDRFromRawDataCDR(RawDataCDR);
     base._CDR = this.CDR;
 }