| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- using Oracle.ManagedDataAccess.Client;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- namespace ReportWeb.Models
- {
- public class SvAdvSchedule
- {
- // service scheduler
- public int id { get; set; }
- public DateTime? from_date { get; set; }
- public DateTime? to_date { get; set; }
- public string schedule_name { get; set; }
- public int status { get; set; }
- public List<SvAdv> list_adv { get; set; }
- public static List<SvAdvSchedule> Parse(OracleDataReader reader)
- {
- List<SvAdvSchedule> result = new List<SvAdvSchedule>();
- List<int> listId = new List<int>();
- try
- {
- while (reader.Read())
- {
- SvAdvSchedule sv = new SvAdvSchedule();
- SvAdv adv = new SvAdv();
- for (int i = 0; i < reader.FieldCount; i++)
- {
- if (reader.GetName(i).ToUpper() == "ID")
- try
- {
- sv.id = int.Parse(reader.GetValue(i).ToString());
- }
- catch { }
- else if (reader.GetName(i).ToUpper() == "SCHEDULE_NAME")
- try
- {
- sv.schedule_name = reader.GetValue(i).ToString();
- }
- catch { }
- else if (reader.GetName(i).ToUpper() == "FROM_DATE")
- try
- {
- sv.from_date = reader.GetDateTime(i);
- }
- catch { }
- else if (reader.GetName(i).ToUpper() == "TO_DATE")
- try
- {
- sv.to_date = reader.GetDateTime(i);
- }
- catch { }
- else if (reader.GetName(i).ToUpper() == "STATUS")
- try
- {
- sv.status = int.Parse(reader.GetValue(i).ToString());
- }
- catch { }
- // adv info
- else if (reader.GetName(i).ToUpper() == "SV_ADV_ID")
- {
- try
- {
- adv.id = int.Parse(reader.GetValue(i).ToString());
- }
- catch { }
- }
- else if (reader.GetName(i).ToUpper() == "SV_CODE")
- {
- try
- {
- adv.sv_code = reader.GetValue(i).ToString();
- }
- catch { }
- }
- else if (reader.GetName(i).ToUpper() == "MSG_ADV")
- try
- {
- adv.msg_adv = reader.GetValue(i).ToString();
- }
- catch { }
- else if (reader.GetName(i).ToUpper() == "ADV_NAME")
- try
- {
- adv.adv_name = reader.GetValue(i).ToString();
- }
- catch { }
- else if (reader.GetName(i).ToUpper() == "MESSAGE_TYPE")
- try
- {
- adv.message_type = reader.GetValue(i).ToString();
- }
- catch { }
- else if (reader.GetName(i).ToUpper() == "CHANNEL_ADV")
- try
- {
- adv.channel_adv = reader.GetValue(i).ToString();
- }
- catch { }
- else if (reader.GetName(i).ToUpper() == "FROM_MONEY")
- try
- {
- adv.from_money = reader.GetValue(i).ToString();
- }
- catch { }
- else if (reader.GetName(i).ToUpper() == "PERCENT")
- try
- {
- adv.percent = int.Parse(reader.GetValue(i).ToString());
- }
- catch { }
- }
- if (listId.Contains(sv.id))
- {
- // add to list
- for (int i = 0; i < result.Count; i++)
- {
- SvAdvSchedule s = result[i];
- if (s.id == sv.id)
- {
- result[i].list_adv.Add(adv);
- break;
- }
- }
- }
- else
- {
- listId.Add(sv.id);
- // new list
- List<SvAdv> listTemp = new List<SvAdv>();
- listTemp.Add(adv);
- sv.list_adv = listTemp;
- result.Add(sv);
- }
- }
- reader.Close();
- }
- catch
- {
- }
- finally
- {
- try
- {
- reader.Close();
- }
- catch { }
- }
- return result;
- }
- }
- }
|