Exemple #1
0
        public List <DayCareModel> GetDataList()
        {
            var result     = new List <DayCareModel>();
            var parentList = new List <CdcEntry>();
            var client     = new RestClient("http://w1.lara.state.mi.us/ChildCareSearch/Home/SearchResults");
            var request    = new RestRequest(Method.POST);

            request.AddParameter("pq_datatype", "JSON");
            request.AddParameter("pq_curpage", "1");
            request.AddParameter("pq_rpp", "600");
            request.AddParameter("pq_filter", "{\"mode\":\"AND\",\"data\":[{\"dataIndx\":\"CdcCnty\",\"value\":\"50\",\"condition\":\"equal\",\"dataType\":\"string\",\"cbFn\":\"\"}]}");
            var res    = client.Execute(request);
            var resStr = JObject.Parse(res.Content);

            parentList = JsonConvert.DeserializeObject <List <CdcEntry> >(resStr["Data"].ToString());
            Console.WriteLine("get master data::" + parentList.Count);
            LogHelper.log.Info("get master data:" + parentList.Count);

            //var file = @"D:\Document\DayCare.json";
            //var json = File.ReadAllText(file);
            //parentList = JsonConvert.DeserializeObject<List<CdcEntry>>(JObject.Parse(json)["Data"].ToString());

            foreach (var r in parentList)
            {
                try
                {
                    var data = new DayCareModel();
                    data.FacilityInformation = new FacilityInfo();
                    data.DaysOpen            = new DaysOpen();
                    data.LicenseeInformation = new LicenseeInfo();
                    data.LicenseInformation  = new LicenseInfo();
                    data.ServicesOffered     = new ServicesOffered();

                    data.FacilityInformation.Street  = r.CdcAddr;
                    data.FacilityInformation.City    = r.CdcCity;
                    data.FacilityInformation.State   = "MI";
                    data.FacilityInformation.ZipCode = r.CdcZip;
                    data.FacilityInformation.County  = r.CntyDesc;

                    data.LicenseeInformation.Name = r.CdcLicName;

                    data.LicenseInformation.Number       = r.CdcLicNbr;
                    data.LicenseInformation.FacilityType = r.FacilityType;
                    var url = "http://w1.lara.state.mi.us/ChildCareSearch/Home/FacilityProfile/" + r.CdcLicNbr;
                    Console.WriteLine("get sub list:" + r.CdcLicNbr);

                    //var url = "http://59.110.217.147:8008/DG390077990.htm";
                    LogHelper.log.Info("ExtractDayCareDetailList:" + r.CdcLicNbr);
                    ExtractDayCareDetailList(url, data);
                    result.Add(data);
                }
                catch (Exception ex)
                {
                    LogHelper.log.Info("ExtractDayCareDetailList exception " + ex.ToString());
                }
            }

            return(result);
        }
Exemple #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            DayCareModel dayCareModel = db.DayCareModels.Find(id);

            db.DayCareModels.Remove(dayCareModel);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #3
0
        public void ExtractDayCareDetailList(string url, DayCareModel data)
        {
            var                web = new HtmlWeb();
            HtmlDocument       doc = web.Load(url);
            HtmlNodeCollection dayCareCenterNodes = doc.DocumentNode.SelectNodes("//div[@class='col-lg-6 profile']");

            //&#39;
            data.FacilityInformation.Name = RemoveStr(dayCareCenterNodes[0].InnerText);
            var address = RemoveStr(dayCareCenterNodes[1].InnerText);
            var index   = address.IndexOf("Phone:");

            if (index > 0)
            {
                data.FacilityInformation.Phone = RemoveStr(address.Substring(index + 6));
            }
            else
            {
                data.FacilityInformation.Phone = "";
            }
            data.FacilityInformation.LicenseStatus = RemoveStr(dayCareCenterNodes[4].InnerText);


            data.LicenseInformation.EffectiveDate     = RemoveStr(dayCareCenterNodes[6].InnerText);
            data.LicenseInformation.ExpirationDate    = RemoveStr(dayCareCenterNodes[7].InnerText);
            data.LicenseInformation.Capacity          = RemoveStr(dayCareCenterNodes[8].InnerText);
            data.LicenseInformation.PeriodOfOperation = RemoveStr(dayCareCenterNodes[9].InnerText);

            data.ServicesOffered.FullDayProgram = RemoveStr(dayCareCenterNodes[10].InnerText);
            data.ServicesOffered.Provides       = RemoveStr(dayCareCenterNodes[11].InnerText);

            var          licenseAddress = RemoveStr(dayCareCenterNodes[13].InnerText.Replace("<br />", "").Replace("<br/>", "").Replace("<br>", ""));
            RegexOptions options        = RegexOptions.None;
            Regex        regex          = new Regex("[ ]{2,}", options);

            licenseAddress = regex.Replace(licenseAddress, " ");
            var licenseIndex = licenseAddress.IndexOf("Phone:");

            if (licenseIndex > 0)
            {
                data.LicenseeInformation.Address = licenseAddress.Substring(0, licenseIndex);
                data.LicenseeInformation.Phone   = licenseAddress.Substring(licenseIndex + 6);
            }
            else
            {
                data.LicenseeInformation.Address = licenseAddress;
                data.LicenseeInformation.Phone   = "";
            }

            HtmlNode DaysOpen = doc.DocumentNode.SelectSingleNode("//tr[@class='customerTable']");

            data.DaysOpen.Sunday    = GetDayOpenStr(DaysOpen.SelectNodes("td")[0].InnerText);
            data.DaysOpen.Monday    = GetDayOpenStr(DaysOpen.SelectNodes("td")[1].InnerText);
            data.DaysOpen.Tuesday   = GetDayOpenStr(DaysOpen.SelectNodes("td")[2].InnerText);
            data.DaysOpen.Wednesday = GetDayOpenStr(DaysOpen.SelectNodes("td")[3].InnerText);
            data.DaysOpen.Thursday  = GetDayOpenStr(DaysOpen.SelectNodes("td")[4].InnerText);
            data.DaysOpen.Friday    = GetDayOpenStr(DaysOpen.SelectNodes("td")[5].InnerText);
            data.DaysOpen.Saturday  = GetDayOpenStr(DaysOpen.SelectNodes("td")[6].InnerText);
        }
Exemple #4
0
 public ActionResult Edit([Bind(Include = "PetID,PetName,Male,Weight")] DayCareModel dayCareModel)
 {
     if (ModelState.IsValid)
     {
         db.Entry(dayCareModel).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(dayCareModel));
 }
Exemple #5
0
        public ActionResult Create([Bind(Include = "PetID,PetName,Male,Weight")] DayCareModel dayCareModel)
        {
            if (ModelState.IsValid)
            {
                db.DayCareModels.Add(dayCareModel);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(dayCareModel));
        }
Exemple #6
0
        // GET: DayCareModels/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DayCareModel dayCareModel = db.DayCareModels.Find(id);

            if (dayCareModel == null)
            {
                return(HttpNotFound());
            }
            return(View(dayCareModel));
        }
Exemple #7
0
        public DayCareModel ExtractDayCareDetailList(string url)
        {
            var model = new DayCareModel();

            model.FacilityInformation = new FacilityInfo();
            model.DaysOpen            = new DaysOpen();
            model.LicenseeInformation = new LicenseeInfo();
            model.LicenseInformation  = new LicenseInfo();
            model.ServicesOffered     = new ServicesOffered();
            HtmlDocument       doc = web.Load(url);
            HtmlNodeCollection dayCareCenterNodes = doc.DocumentNode.SelectNodes("//div[@class='col-lg-6 profile']");

            foreach (HtmlNode table in dayCareCenterNodes)
            {
                var rows  = table.SelectNodes("tr");
                var title = rows[0].InnerHtml.Replace("\r", "").Replace(" ", "").Replace("\n", "");
                if (title.IndexOf("FacilityInformation") > 0)
                {
                    var facilityInformation = new FacilityInfo();
                    facilityInformation.Name = rows[1].SelectNodes("td")[1].FirstChild.InnerText;
                    var addressFont = rows[2].SelectNodes("td")[1].SelectNodes("font");


                    facilityInformation.Street = addressFont[0].InnerText.Replace("\r", "").Replace("\n", "").Replace("&nbsp;", "").Trim();

                    var address = addressFont[3].InnerText;
                    facilityInformation.City = address.Split(',')[0].Trim();
                    var stateAndZip = address.Split(',')[1].Replace("&nbsp;", ",");

                    facilityInformation.State   = stateAndZip.Split(',')[0].Trim();
                    facilityInformation.ZipCode = stateAndZip.Split(',')[1].Trim();
                    //if(facilityInformation.ZipCode.Length>5)
                    //{
                    //    facilityInformation.ZipCode = facilityInformation.ZipCode.Substring(0, 5);
                    //}
                    facilityInformation.ZipOrder = Convert.ToInt32(facilityInformation.ZipCode);

                    facilityInformation.County        = rows[3].SelectNodes("td")[1].SelectSingleNode("font").InnerText;
                    facilityInformation.Phone         = rows[4].SelectNodes("td")[1].SelectSingleNode("font").InnerText;
                    facilityInformation.LicenseStatus = rows[4].SelectNodes("td")[3].SelectSingleNode("font").InnerText;
                    facilityInformation.Status        = "";
                    model.FacilityInformation         = facilityInformation;
                }
                if (title.IndexOf("LicenseeInfo") > 0)
                {
                    var licenseeInfo = new LicenseeInfo();
                    licenseeInfo.Name         = rows[1].SelectNodes("td")[1].FirstChild.InnerText;
                    licenseeInfo.Address      = rows[2].SelectNodes("td")[1].FirstChild.InnerText.Replace("&nbsp;", "");
                    licenseeInfo.Phone        = rows[3].SelectNodes("td")[1].FirstChild.InnerText.Replace("\r", "").Replace("\n", "").TrimEnd().TrimStart();
                    model.LicenseeInformation = licenseeInfo;
                }

                if (title.IndexOf("LicenseInfo") > 0)
                {
                    var licenseInfo = new LicenseInfo();
                    licenseInfo.Number       = rows[2].SelectNodes("td")[0].SelectSingleNode("div").SelectSingleNode("font").InnerText;
                    licenseInfo.FacilityType = rows[2].SelectNodes("td")[1].SelectSingleNode("div").SelectSingleNode("font").InnerText.Replace("\r", "").Replace("\n", "").TrimEnd().TrimStart();
                    licenseInfo.Capacity     = rows[2].SelectNodes("td")[2].SelectSingleNode("div").SelectSingleNode("font").InnerText;

                    licenseInfo.EffectiveDate     = rows[2].SelectNodes("td")[3].SelectSingleNode("div").SelectSingleNode("font").InnerText;
                    licenseInfo.ExpirationDate    = rows[2].SelectNodes("td")[4].SelectSingleNode("div").SelectSingleNode("font").InnerText;
                    licenseInfo.PeriodOfOperation = rows[2].SelectNodes("td")[5].SelectSingleNode("div").SelectSingleNode("font").InnerText;
                    model.LicenseInformation      = licenseInfo;
                }
                if (title.IndexOf("DaysOpen") > 0)
                {
                    var daysOpen = new DaysOpen();
                    daysOpen.Sunday    = rows[2].SelectNodes("td")[0].SelectSingleNode("div").SelectSingleNode("font").InnerText;
                    daysOpen.Monday    = rows[2].SelectNodes("td")[1].SelectSingleNode("div").SelectSingleNode("font").InnerText;
                    daysOpen.Tuesday   = rows[2].SelectNodes("td")[2].SelectSingleNode("div").SelectSingleNode("font").InnerText;
                    daysOpen.Wednesday = rows[2].SelectNodes("td")[3].SelectSingleNode("div").SelectSingleNode("font").InnerText;
                    daysOpen.Thursday  = rows[2].SelectNodes("td")[4].SelectSingleNode("div").SelectSingleNode("font").InnerText;
                    daysOpen.Friday    = rows[2].SelectNodes("td")[5].SelectSingleNode("div").SelectSingleNode("font").InnerText;
                    daysOpen.Saturday  = rows[2].SelectNodes("td")[6].SelectSingleNode("div").SelectSingleNode("font").InnerText;
                    model.DaysOpen     = daysOpen;
                }
                if (title.IndexOf("ServicesOffered") > 0)
                {
                    var servicesOffered = new ServicesOffered();
                    servicesOffered.FullDayProgram = rows[1].SelectNodes("td")[1].SelectSingleNode("font").InnerText;
                    servicesOffered.Provides       = rows[2].SelectNodes("td")[1].SelectSingleNode("font").InnerText.Replace("\r", "").Replace("\n", "").TrimEnd().TrimStart();
                    model.ServicesOffered          = servicesOffered;
                }
            }
            return(model);
        }