Example #1
0
        public void upsert(CVK cvk)
        {
            CVK existCVK = retrieveFromFile();

            if (existCVK != null)
            {
                Console.WriteLine("Exist : " + existCVK.CVKHashCode);
                Console.WriteLine("New : " + cvk.CVKHashCode);

                if (cvk.CVKHashCode != existCVK.CVKHashCode)
                {
                    for (int i = 0; i < cvk.Regions.Count(); i++)
                    {
                        if (cvk.Regions.ElementAt(i).RegionHashCode != existCVK.Regions.ElementAt(i).RegionHashCode)
                        {
                            for (int j = 0; j < cvk.Regions.ElementAt(i).okrugs.Count(); j++)
                            {
                                if (cvk.Regions.ElementAt(i).okrugs.ElementAt(j).OkrugHashCode !=
                                    existCVK.Regions.ElementAt(i).okrugs.ElementAt(j).OkrugHashCode)
                                {
                                    existCVK.Regions.ElementAt(i).okrugs.ElementAt(j).Processed = cvk.Regions.ElementAt(i).okrugs.ElementAt(j).Processed;

                                    for (int k = 0; k < cvk.Regions.ElementAt(i).okrugs.ElementAt(j).departments.Count(); k++)
                                    {
                                        int index = existCVK.Regions.ElementAt(i).okrugs.ElementAt(j).departments.IndexOf(
                                            cvk.Regions.ElementAt(i).okrugs.ElementAt(j).departments[k]);
                                        if (index != -1)
                                        {
                                            if (cvk.Regions.ElementAt(i).okrugs.ElementAt(j).departments.ElementAt(k).DepHashCode !=
                                                existCVK.Regions.ElementAt(i).okrugs.ElementAt(j).departments.ElementAt(index).DepHashCode)
                                            {
                                                Console.WriteLine("Dep Change - " + index);
                                                existCVK.Regions.ElementAt(i).okrugs.ElementAt(j).departments[index] = cvk.Regions.ElementAt(i).okrugs.ElementAt(j).departments.ElementAt(k);
                                            }
                                        }
                                        else
                                        {
                                            existCVK.Regions.ElementAt(i).okrugs.ElementAt(j).departments.Add(
                                                cvk.Regions.ElementAt(i).okrugs.ElementAt(j).departments.ElementAt(k));
                                            Console.WriteLine("Dep Add - ", cvk.Regions.ElementAt(i).okrugs.ElementAt(j).departments.ElementAt(k).Id);
                                        }
                                    }
                                    existCVK.Regions.ElementAt(i).okrugs.ElementAt(j).OkrugHashCode = cvk.Regions.ElementAt(i).okrugs.ElementAt(j).OkrugHashCode;
                                }
                            }
                            existCVK.Regions.ElementAt(i).RegionHashCode = cvk.Regions.ElementAt(i).RegionHashCode;
                        }
                    }
                    existCVK.CVKHashCode = cvk.CVKHashCode;

                    Console.WriteLine("Final : " + existCVK.CVKHashCode);
                    saveFile(existCVK);
                }
            }
            else
            {
                saveFile(cvk);
            }
            Console.WriteLine("Upsert End");
        }
        public List <Region> getRegionsFromFile()
        {
            string fileText = Server.MapPath("~/App_Data/cvk.json");
            string Json     = System.IO.File.ReadAllText(fileText);

            CVK cvk = JsonConvert.DeserializeObject <CVK>(Json);

            return(cvk.Regions);
        }
Example #3
0
        public void saveFile(CVK cvk)
        {
            string jsonList = JsonConvert.SerializeObject(cvk, Formatting.Indented);

            using (StreamWriter sw = new StreamWriter(@"D:\C# Projects\cvk.json", false, System.Text.Encoding.UTF8))
            {
                sw.WriteLine(jsonList);
            }
        }
Example #4
0
        public static void retrieveCVK()
        {
            regions = RetrieveHtml.getHtmlHref();

            CVK cvk = new CVK(regions);

            JsonStorage ex = new JsonStorage();

            ex.upsert(cvk);

            Console.WriteLine("Update will in 3 minutes");
        }
Example #5
0
        public CVK retrieveFromFile()
        {
            CVK existCVK = null;

            string stringJson = "";

            using (StreamReader sr = new StreamReader(@"D:\C# Projects\cvk.json"))
            {
                stringJson = sr.ReadToEnd();
            }

            existCVK = JsonConvert.DeserializeObject <CVK>(stringJson);

            return(existCVK);
        }