using System; using System.Collections.Generic; using Oracle.ManagedDataAccess.Client; using System.Linq; using System.Web; namespace ReportWeb.Models { public class RegInfo { public RegInfo() { // // TODO: Add constructor logic here // } public long register_id { get; set; } public string msisdn { get; set; } public string product_name { get; set; } public DateTime? register_time { get; set; } public DateTime? expire_time { get; set; } public DateTime? last_extend { get; set; } public DateTime? end_time { get; set; } public int extend_status { get; set; } public int status { get; set; } public string channel { get; set; } public static List Parse(OracleDataReader reader) { List result = new List(); try { while (reader.Read()) { RegInfo chargeLog = new RegInfo(); for (int i = 0; i < reader.FieldCount; i++) { if (reader.GetName(i).ToUpper() == "MSISDN") { try { chargeLog.msisdn = reader.GetValue(i).ToString(); } catch { } } else if (reader.GetName(i).ToUpper() == "PRODUCT_NAME") { try { chargeLog.product_name = reader.GetValue(i).ToString(); } catch { } } else if (reader.GetName(i).ToUpper() == "REGISTER_TIME") try { chargeLog.register_time = reader.GetDateTime(i); } catch { } else if (reader.GetName(i).ToUpper() == "EXPIRE_TIME") try { chargeLog.expire_time = reader.GetDateTime(i); } catch { } else if (reader.GetName(i).ToUpper() == "LAST_EXTEND") try { chargeLog.last_extend = reader.GetDateTime(i); } catch { } else if (reader.GetName(i).ToUpper() == "END_TIME") try { chargeLog.end_time = reader.GetDateTime(i); } catch { } else if (reader.GetName(i).ToUpper() == "REGISTER_ID") try { chargeLog.register_id = long.Parse(reader.GetValue(i).ToString()); } catch { } else if (reader.GetName(i).ToUpper() == "EXTEND_STATUS") try { chargeLog.extend_status = int.Parse(reader.GetValue(i).ToString()); } catch { } else if (reader.GetName(i).ToUpper() == "STATUS") try { chargeLog.status = int.Parse(reader.GetValue(i).ToString()); } catch { } else if (reader.GetName(i).ToUpper() == "CHANNEL") try { chargeLog.channel = reader.GetValue(i).ToString(); } catch { } } result.Add(chargeLog); } reader.Close(); } catch (Exception ex) { throw ex; } finally { try { reader.Close(); } catch { } } return result; } } }