public AirLineCrawler(int startDay)
 {
     if (startDay == 29)
         startDay = 28;
     monthInfo = new MonthInfo(startDay);
     domesticRoute = ListDomesticRoute.getListDomesticRoute().First();
     indexDomesticRoute = 0;
 }
 public void Next()
 {
     indexDomesticRoute++;
     countTotal++;
     if (indexDomesticRoute >= ListDomesticRoute.getListDomesticRoute().Length)
     {
         monthInfo.month++;
         if (monthInfo.month > 12)
             monthInfo.month = 1;
         indexDomesticRoute = 0;
     }
     domesticRoute = ListDomesticRoute.getListDomesticRoute()[indexDomesticRoute];
 }
 public static DomesticRoute[] getListDomesticRoute()
 {
     if (_listDomesticRoute == null)
     {
         DataTable dt = DBHelper.GetDataTableSP("GetDomesticRoute");
         List<DomesticRoute> li = new List<DomesticRoute>();
         foreach(DataRow dr in dt.Rows)
         {
             DomesticRoute dmr = new DomesticRoute();
             dmr.Id=(int)dr["Id"];
             dmr.IsBL=(bool)dr["IsBL"];
             dmr.IsVJ=(bool)dr["IsVJ"];
             dmr.IsVN=(bool)dr["IsVN"];
             dmr.ArrivalAirport = (string)dr["ArrivalAirport"];
             dmr.DepartureAirport = (string)dr["DepartureAirport"];
             li.Add(dmr);
         }
         _listDomesticRoute = li.ToArray();
     }
     return _listDomesticRoute;
 }
 public void UpdateToDatabase(RootMinPrice root, bool isVN, bool isVJ, bool isBL, DomesticRoute domesticRoute)
 {
     if(root==null||root.departurePrices==null||root.departurePrices.prices==null||root.departurePrices.prices.Count==0)
     {
         countNull++;
         return;
     }
     foreach (MinPriceDetail mpd in root.departurePrices.prices)
     {
         try
         {
             if (mpd.Price == "" || mpd.Price == "0")
                 continue;
             List<SqlParameter> sps = new List<SqlParameter>();
             sps.Add(new SqlParameter("@DomesticRouteId", domesticRoute.Id));
             sps.Add(new SqlParameter("@Date", mpd.Date.Day));
             sps.Add(new SqlParameter("@Month", mpd.Date.Month));
             if (isVN)
             {
                 sps.Add(new SqlParameter("@VN", mpd.Price));
             }
             else if (isVJ)
             {
                 sps.Add(new SqlParameter("@VJ", mpd.Price));
             }
             else if (isBL)
             {
                 sps.Add(new SqlParameter("@BL", mpd.Price));
             }
             DBHelper.ExecuteNonQuery("InsertOrUpdateToMinPrice", sps);
         }
         catch(Exception ex)
         {
         }
     }
 }