public void AddSelectedLoggType(LoggType loggType)//todo change to store only key
 {
     if (SelectedLoggTypeList.All(l => l.Key != loggType.Key))
     {
         SelectedLoggTypeList.Add(loggType);
         SelectedLoggTypeList.Save(FILE_SELECTED_LOGGTYPEIDS);
     }
 }
 public void AddSelectedArt(Art art)
 {
     if (SelectedArtList.All(a => a.ID != art.ID))
     {
         SelectedArtList.Add(art);
         SelectedArtList.Save(FILE_SELECTED_ARTIDS);
     }
 }
Exemplo n.º 3
0
        public void SaveIEnumerableExtension()
        {
            List <Task2> Tasks = new List <Task2>();

            for (int x = 0; x < 100; ++x)
            {
                Task2 TempTask = new Task2();
                TempTask.Description = "This is a test";
                TempTask.DueDate     = new DateTime(1900, 1, 1);
                TempTask.Name        = "Test task";
                Tasks.Add(TempTask);
            }
            Tasks.Save <Task2, long>();

            using (Utilities.SQL.SQLHelper Helper = new Utilities.SQL.SQLHelper("SELECT * FROM Task2_", CommandType.Text, "Data Source=localhost;Initial Catalog=ORMTestDatabase3;Integrated Security=SSPI;Pooling=false"))
            {
                Helper.ExecuteReader();
                int Counter = 0;
                while (Helper.Read())
                {
                    Assert.Equal("This is a test", Helper.GetParameter <string>("Description_", ""));
                    Assert.Equal("Test task", Helper.GetParameter <string>("Name_", ""));
                    ++Counter;
                }
                Assert.Equal(100, Counter);
            }
        }
        /* GET ALL */
        public List <T> GetEntity <T>(string filename) where T : class, IEntity
        {
            var localList  = LocalFileStorage.LoadFromLocalStorage <List <T> >(filename);
            var remoteList = new List <T>();

            if (App.SyncWithServer)
            {
                remoteList = DataService.LoadFromServer <T>(filename);

                if (remoteList != null && remoteList.Any())
                {
                    if (localList == null || !localList.Any() || remoteList.Max(r => r.Changed) > localList.Max(l => l.Changed))
                    {
                        //remote er nyere enn local
                        remoteList.Save(filename);
                        localList = remoteList;
                    }
                    else if (!remoteList.Any() || remoteList.Max(r => r.Changed) < localList.Max(l => l.Changed))
                    {
                        //remote er eldre enn local
                        localList.UploadToServer(filename);
                    }
                }
                else
                {
                    localList.UploadToServer(filename);
                }
            }
            return(localList);
        }
        public static ProcessStatus SyncArchive()
        {
            var status = new ProcessStatus();

            var newRecords = new List<Photo>();

            foreach (var photo in Repository.Photos())
            {
                if (!File.Exists(photo.ArchiveFullName))
                {
                    photo.DateDeleted = DateTime.Now;
                    photo.Status = PhotoStatus.Deleted;
                    status.PhotoRemoved();
                }
                else
                {
                    status.PhotoExists();
                }
            }

            var archivePath = Configuration.ArchivePath.TrimEnd('\\');
            var archive = new DirectoryInfo(archivePath);

            var extensions = Configuration.Extensions;

            var fileList = new List<FileInfo>();

            foreach (var extension in extensions)
            {
                var mask = string.Format("*.{0}", extension);

                var files = archive.GetFiles(mask, SearchOption.AllDirectories)
                    .Where(x => x.DirectoryName != null)
                    .ToList();

                fileList.AddRange(files);
            }

            Parallel.ForEach(fileList, file =>
                                    {
                                        var shelf = file.Directory.FullName.Replace(archivePath, string.Empty).TrimStart('\\');
                                        var filename = file.Name;

                                        if (!Repository.Photos().Any(x => x.Shelf == shelf && x.Filename == filename))
                                        {
                                            newRecords.Add(Photo.New(file, shelf));
                                            status.PhotoAdded();
                                        }
                                    });

            newRecords.Save();

            var dups = DeDupe();

            status.PhotoRemoved(dups);

            return status;
        }
        public static void PraseHistoryData()
        {
            var all   = FindAll();
            int index = 1;

            Parallel.For(0, all.Count, new ParallelOptions()
            {
                MaxDegreeOfParallelism = 1
            }, i =>
            {
                XTrace.WriteLine("进度:{0}/{1}", index++, all.Count);
                #region 单个文本解析
                JsonParser jp = new JsonParser(all[i].HisText);
                var decode    = (List <object>)jp.Decode();
                if (decode.Count < 1)
                {
                    return;
                }
                var main = (Dictionary <string, object>)decode[0];//字典
                if (main.ContainsKey("hq"))
                {
                    var obj = (List <object>)main["hq"];
                    if (obj.Count > 0)
                    {
                        List <StockDayData> res = new List <StockDayData>();
                        foreach (var item in obj)
                        {
                            #region 单条记录解析
                            //item是一个10个元素的数组
                            //日期,今开价格,今天收盘价格,涨跌金额,涨跌幅度,最低价格,最高价格,总手,总金额(万),换手率
                            //"2018-02-09", "31.46", "31.46", "2.86", "10.00%", "31.46", "31.46", "303", "95.32", "0.15%"
                            var list        = (List <object>)item;
                            StockDayData sd = new StockDayData()
                            {
                                Code        = all[i].Code,
                                StatDate    = list[0].ToDateTime(),
                                StartPrice  = list[1].ToDouble(),
                                EndPrice    = list[2].ToDouble(),
                                ChangePrice = list[3].ToDouble(),
                                ChangeRatio = ((string)list[4]).Replace("%", "").ToDouble(),
                                LowPrice    = list[5].ToDouble(),
                                HighPrice   = list[6].ToDouble(),
                                TotalHand   = list[7].ToInt(),
                                TotalAmount = list[8].ToDouble(),
                                HandRate    = ((string)list[9]).Replace("%", "").ToDouble(),
                                UpdateDate  = DateTime.Now
                            };
                            sd.ID = "{0}_{1}".F(sd.Code, sd.StatDate.ToString("yyyyMMdd"));
                            #endregion

                            res.Add(sd);
                        }
                        res.Save(true);
                    }
                }
                #endregion
            });
        }
Exemplo n.º 7
0
        public static void SaveDataOverwriting(GameState state)
        {
            List <GameState> allStates = LoadData();

            allStates.Remove(allStates.Where((s) => s.LastPlayDate == state.LastPlayDate).First());
            allStates.Add(CurrentState);

            allStates.Save(SaveFile);
        }
        public int SaveDog(Dog dog)
        {
            dog.Changed = DateTime.Now;
            if (dog.ID <= 0)
            {
                dog.ID      = DogList.Any() ? DogList.Max(i => i.ID) + 1 : 1;
                dog.Created = DateTime.Now;
                DogList.Add(dog);
            }
            else
            {
                var index = DogList.FindIndex(x => x.ID == dog.ID);
                DogList[index] = dog;
            }

            DogList.Save(FILE_DOG);

            return(dog.ID);
        }
        public int SaveJeger(Jeger jeger)
        {
            jeger.Changed = DateTime.Now;
            if (jeger.ID <= 0)
            {
                jeger.ID      = JegerList.Any() ? JegerList.Max(i => i.ID) + 1 : 1;
                jeger.Created = DateTime.Now;;
                JegerList.Add(jeger);
            }
            else
            {
                var index = JegerList.FindIndex(x => x.ID == jeger.ID);
                JegerList[index] = jeger;
            }

            JegerList.Save(FILE_JEGER);

            return(jeger.ID);
        }
Exemplo n.º 10
0
    public IActionResult OnPost(string newTask)
    {
        if (string.IsNullOrEmpty(newTask))
        {
            return(RedirectToPage("RazorVue"));
        }

        List.Items.Add(new ToDoItem(newTask));
        List.Save();

        return(RedirectToPage("RazorVue"));
    }
Exemplo n.º 11
0
        static void Main(string[] args)
        {
            var customer = new List <BaseCustomer> {
                new BlueCustomer(), new GoldCustomer()
            };

            customer.ForEach(customer =>
            {
                Console.WriteLine($"{customer.Save()}");
            });

            Console.Read();
        }
Exemplo n.º 12
0
Arquivo: Set.cs Projeto: lr030/ML
        public List <T> Save()
        {
            var newModels   = Cache.Where(i => !_checkSum.ContainsKey(i.Key)).Select(i => i.Value).ToList();
            var dirtyModels = Cache.Where(i => _checkSum.ContainsKey(i.Key) && _checkSum[i.Key] != i.Value.ToJson().Md5Hash()).Select(i => i.Value).ToList();

            var allChanges = new List <T>();

            allChanges.AddRange(newModels);
            allChanges.AddRange(dirtyModels);

            allChanges.Save();
            return(allChanges);
        }
Exemplo n.º 13
0
    public IActionResult OnPost(bool showAll)
    {
        if (string.IsNullOrEmpty(NewTask))
        {
            return(RedirectToPage("RazorEngine", new { showAll }));
        }

        List.Items.Add(new ToDoItem(NewTask));
        List.Save();

        NewTask = null;

        return(RedirectToPage("RazorEngine", new { showAll }));
    }
Exemplo n.º 14
0
 public static void Test()
 {
     var all = StockBaseInfo.FindAll();
     List<StockBaseInfo> list = new List<StockBaseInfo>();
     foreach (var item in all)
     {
         if(item.Name.Contains("ST")) //(item.Code.CheckCode())
         {
             item.Kind = 0;
             list.Add(item);
         }
     }
     list.Save(true);
 }
Exemplo n.º 15
0
        /// <summary>申请历史错误或中断的任务</summary>
        /// <param name="server">申请任务的服务端</param>
        /// <param name="ip">申请任务的IP</param>
        /// <param name="pid">申请任务的服务端进程ID</param>
        /// <param name="count">要申请的任务个数</param>
        /// <returns></returns>
        public IList <JobTask> AcquireOld(String server, String ip, Int32 pid, Int32 count)
        {
            lock (this)
            {
                using (var ts = Meta.CreateTrans())
                {
                    var list = new List <JobTask>();

                    // 查找历史错误任务
                    if (ErrorDelay > 0)
                    {
                        var dt    = DateTime.Now.AddSeconds(-ErrorDelay);
                        var list2 = JobTask.Search(ID, dt, MaxRetry, new[] { JobStatus.错误, JobStatus.取消 }, count);
                        if (list2.Count > 0)
                        {
                            list.AddRange(list2);
                        }
                    }

                    // 查找历史中断任务,持续10分钟仍然未完成
                    if (MaxTime > 0 && list.Count < count)
                    {
                        var dt    = DateTime.Now.AddSeconds(-MaxTime);
                        var list2 = JobTask.Search(ID, dt, MaxRetry, new[] { JobStatus.就绪, JobStatus.抽取中, JobStatus.处理中 }, count - list.Count);
                        if (list2.Count > 0)
                        {
                            list.AddRange(list2);
                        }
                    }
                    if (list.Count > 0)
                    {
                        foreach (var ti in list)
                        {
                            ti.Server    = server;
                            ti.ProcessID = pid;
                            ti.Client    = $"{ip}@{pid}";
                            //ti.Status = JobStatus.就绪;
                            ti.CreateTime = DateTime.Now;
                            ti.UpdateTime = DateTime.Now;
                        }
                        list.Save();
                    }

                    ts.Commit();

                    return(list);
                }
            }
        }
Exemplo n.º 16
0
 /// <summary>
 /// 根据ID删除XML实体类对象
 /// </summary>
 /// <param name="id"></param>
 /// <returns></returns>
 public static bool DeleteById(Guid id)
 {
     try
     {
         List <T> entityList = new List <T>().Load();
         entityList = entityList.Where(entity => entity.ID != id).ToList();
         entityList.Save();
         return(true);
     }
     catch (Exception ex)
     {
         _lastErrMsg = ex.Message;
         return(false);
     }
 }
Exemplo n.º 17
0
        public void WriteTo(Stream s)
        {
            BinaryWriter bw = new BinaryWriter(s);

            NewObservation.Save(bw);
            GameInfo.Save(bw);
            LastObservation.Save(bw);
            bw.Write(LastActions.Count);
            foreach (SC2APIProtocol.Action a in LastActions)
            {
                a.Save(bw);
            }
            CurrentAction.Save(bw);
            AIActions.Save(bw);
        }
Exemplo n.º 18
0
        /// <summary>
        /// Save game data.
        /// </summary>
        public static void SaveData(int slot)
        {
            List <GameState> allStates = LoadData();

            if (slot == -1)
            {
                allStates.Insert(0, CurrentState);
            }
            else if (allStates.Count > slot)
            {
                allStates.Insert(slot, CurrentState);
            }

            allStates.Save(SaveFile);
        }
Exemplo n.º 19
0
 /// <summary>
 /// 插入XML实体类对象
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 public static bool Insert(T entity)
 {
     try
     {
         List <T> entityList = new List <T>().Load();
         entity.ID = Guid.NewGuid();
         entityList.Add(entity);
         entityList.Save();
         return(true);
     }
     catch (Exception ex)
     {
         _lastErrMsg = ex.Message;
         return(false);
     }
 }
Exemplo n.º 20
0
        /// <summary>申请历史错误或中断的任务</summary>
        /// <param name="server">申请任务的服务端</param>
        /// <param name="ip">申请任务的IP</param>
        /// <param name="pid">申请任务的服务端进程ID</param>
        /// <param name="count">要申请的任务个数</param>
        /// <param name="cache">用于设置全局锁的缓存对象</param>
        /// <returns></returns>
        public IList <JobTask> AcquireOld(String server, String ip, Int32 pid, Int32 count, ICache cache)
        {
            //// 全局锁,确保单个作业只有一个线程在分配作业
            //using var ck = cache.AcquireLock($"Job:{ID}", 5_000);

            using var ts = Meta.CreateTrans();
            var list = new List <JobTask>();

            // 查找历史错误任务
            if (ErrorDelay > 0)
            {
                var dt    = DateTime.Now.AddSeconds(-ErrorDelay);
                var list2 = JobTask.Search(ID, dt, MaxRetry, new[] { JobStatus.错误, JobStatus.取消 }, count);
                if (list2.Count > 0)
                {
                    list.AddRange(list2);
                }
            }

            // 查找历史中断任务,持续10分钟仍然未完成
            if (MaxTime > 0 && list.Count < count)
            {
                var dt    = DateTime.Now.AddSeconds(-MaxTime);
                var list2 = JobTask.Search(ID, dt, MaxRetry, new[] { JobStatus.就绪, JobStatus.抽取中, JobStatus.处理中 }, count - list.Count);
                if (list2.Count > 0)
                {
                    list.AddRange(list2);
                }
            }
            if (list.Count > 0)
            {
                foreach (var ti in list)
                {
                    ti.Server    = server;
                    ti.ProcessID = Interlocked.Increment(ref _idxBatch);
                    ti.Client    = $"{ip}@{pid}";
                    //ti.Status = JobStatus.就绪;
                    ti.CreateTime = DateTime.Now;
                    ti.UpdateTime = DateTime.Now;
                }
                list.Save();
            }

            ts.Commit();

            return(list);
        }
        /// <summary>
        /// This function saves all information to the Windows registry to be read from in the future.
        /// </summary>
        public void SaveSettings()
        {
            List <Setting> settings = new List <Setting>();

            // Check Boxes
            settings.Add(new Setting("Fullscreen", FullscreenCheckBox.Checked.ToString()));
            settings.Add(new Setting("Windowed", WindowedCheckBox.Checked.ToString()));
            settings.Add(new Setting("V-Sync", VsyncCheckBox.Checked.ToString()));

            // Numeric-Up-Downs
            settings.Add(new Setting("FrameRateCap", FramerateTextBox.Text));
            settings.Add(new Setting("Width", WidthTextBox.Text));
            settings.Add(new Setting("Height", HeightTextBox.Text));

            // Save the settings to the registry
            settings.Save();
        }
Exemplo n.º 22
0
        /// <summary>
        /// 更新XML实体类对象
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public static bool Update(T entity)
        {
            try
            {
                List <T> entityList = new List <T>().Load();
                entityList = entityList.Where(e => e.ID != entity.ID).ToList();
                entityList.Add(entity);
                entityList.Save();

                return(true);
            }
            catch (Exception ex)
            {
                _lastErrMsg = ex.Message;
                return(false);
            }
        }
Exemplo n.º 23
0
        public async Task SaveListByStandAlone()
        {
            List <TestingEntity> entities = new List <TestingEntity>(2)
            {
                new TestingEntity()
                {
                    Name = @"New list Saved by standalone method 1"
                },
                new TestingEntity()
                {
                    Name = @"New list Saved by standalone method 2"
                },
            };
            BasicResponse result = await entities.Save();

            Assert.True(result.Correct);
        }
Exemplo n.º 24
0
        /* SAVE */


        //public int SaveEntity<T>(T entity, List<T> entityList, string filename) where T : class, IEntity
        //{
        //    entity.Changed = DateTime.Now;
        //    if (entity.ID <= 0)
        //    {
        //        entity.ID = entityList.Any() ? entityList.Max(i => i.ID) + 1 : 1;
        //        entity.Created = DateTime.Now;
        //        entityList.Add(entity);
        //    }
        //    else
        //    {
        //        var index = JaktList.FindIndex(x => x.ID == entity.ID);
        //        entityList[index] = entity;
        //    }

        //    entityList.Save(filename);

        //    return entity.ID;
        //}

        public int SaveJakt(Jakt jakt)
        {
            jakt.Changed = DateTime.Now;
            if (jakt.ID <= 0)
            {
                jakt.ID      = JaktList.Any() ? JaktList.Max(i => i.ID) + 1 : 1;
                jakt.Created = DateTime.Now;
                JaktList.Add(jakt);
            }
            else
            {
                var index = JaktList.FindIndex(x => x.ID == jakt.ID);
                JaktList[index] = jakt;
            }

            JaktList.Save(FILE_JAKT);

            return(jakt.ID);
        }
            public void SaveAndRestore()
            {
                List <SomeClass> list = new List <SomeClass>()
                {
                    new SomeClass(), new SomeClass(), new SomeClass(), new SomeClass(), new SomeClass()
                };

                list.Save(nameof(list));
                int numberbefore = list.Count;

                list.Add(new SomeClass());
                int numberAfterAddition = list.Count;

                list.Restore(nameof(list));
                int numerAfterRestoration = list.Count;

                Assert.AreEqual(numberbefore, numerAfterRestoration);
                Assert.AreEqual(numberAfterAddition, numberbefore + 1);
            }
        private static void Main(string[] args)
        {
            new DB("test");
            var members = new List <Member>();

            for (int i = 1; i <= 10; i++)
            {
                members.Add(new Member
                {
                    Sid = Guid.NewGuid().ToString()
                });
            }
            members.Save();
            DB.Update <Member>()
            .Match(_ => true)
            .WithPipelineStage("{ '$set': { 'Sids': ['$Sid'] } }")
            .WithPipelineStage("{ '$unset': ['Sid'] }")
            .ExecutePipeline();
        }
Exemplo n.º 27
0
        public static void FecthAll()
        {
            string url = @"http://88.push2.eastmoney.com/api/qt/clist/get?cb=jQuery112406682232142629425_1612422563756&pn=1&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&fid=f3&fs=m:0+t:6,m:0+t:13,m:0+t:80,m:1+t:2,m:1+t:23&fields=f12,f14&_=1612422563774";

            var doc  = url.GetHtmlByUrl();
            var text = doc.DocumentNode.InnerText;
            //移除前后干扰
            var fir = text.IndexOf("[") + 1;

            text = text.Remove(0, fir);
            var last = text.LastIndexOf("]");

            text = text.Remove(last, text.Length - last);
            //分割为kv数组
            var list = text.Replace("\"", " ").Split("{", "},{", "}")
                       .Select(n => n.SplitAsDictionary(":").ToList())
                       .Select(n => new KeyValuePair <string, string>(n[0].Value.Trim(), n[1].Value.Trim()))
                       .ToList();
            List <StockInfo> addlist = new List <StockInfo>();

            for (int i = 0; i < list.Count; i++)
            {
                XTrace.WriteLine("当前进度:{0}-{1}", i + 1, list.Count);
                var model = StockInfo.FindByCode(list[i].Key);
                if (model != null)
                {
                    continue;
                }
                model = new StockInfo()
                {
                    Code       = list[i].Key,
                    Name       = list[i].Value,
                    CreateDate = DateTime.Now
                };
                addlist.Add(model);
            }
            addlist.Save();
        }
Exemplo n.º 28
0
        public int SaveLogg(Logg logg)
        {
            logg.Changed = DateTime.Now;
            if (logg.ID <= 0)
            {
                logg.ID      = LoggList.Any() ? LoggList.Max(i => i.ID) + 1 : 1;
                logg.Created = DateTime.Now;
                LoggList.Add(logg);
            }
            else
            {
                var index = LoggList.FindIndex(x => x.ID == logg.ID);
                LoggList[index] = logg;
            }

            LoggList.Save(FILE_LOGG);

            return(logg.ID);
        }
Exemplo n.º 29
0
        /// <summary>
        /// Обработка запроса
        /// </summary>
        /// <param name="clientobject"></param>
        static void call(object clientobject)
        {
            try
            {
                TcpClient client = clientobject as TcpClient;
                using (NetworkStream stream = client.GetStream())
                {
                    BinaryReader reader = new BinaryReader(stream);
                    BinaryWriter writer = new BinaryWriter(stream);

                    //Принимаем запрос клиента
                    string   query = reader.ReadString();
                    string[] q     = query.Split('☺');

                    if (query == "Ping")
                    {
                        writer.Write("Pong");
                    }
                    if (query == "Сompatibility")
                    {
                        writer.Write(VersionForComp);
                    }
                    if (query == "Log")
                    {
                        Log(reader.ReadString());
                    }
                    if (query == "MessageRead")
                    {
                        writer.Write(Message);
                    }
                    if (query == "MessageWrite")
                    {
                        Message = reader.ReadString();
                        try
                        {
                            File.WriteAllText(MessageFile, Message);
                        }
                        catch { };
                    }
                    if (q[0] == "LineRead")
                    {
                        Line line = lines.Find(o => o.name == q[1]);
                        if (line != null)
                        {
                            writer.Write(line.ToSend());
                        }
                        else
                        {
                            writer.Write("☺☺☺☺☺☺☺☺☺☺☺");
                        }
                    }
                    if (q[0] == "LineWrite")
                    {
                        Line line = lines.Find(o => o.name == q[1]);
                        if (line == null)
                        {
                            line = new Line();
                            lines.Add(line);
                        }
                        line.Input(query.Substring(10, query.Length - 10));
                        SaveLines();
                    }
                    if (query == "ShiftRead")
                    {
                        for (int i = 0; i < ShiftStrings; i++)
                        {
                            if (Shift[i] != null)
                            {
                                writer.Write(Shift[i]);
                            }
                            else
                            {
                                writer.Write("");
                            }
                        }
                    }
                    if (query == "ShiftWrite")
                    {
                        for (int i = 0; i < ShiftStrings; i++)
                        {
                            Shift[i] = reader.ReadString();
                        }
                        SaveShift();
                    }
                    if (query == "UsersRead")
                    {
                        writer.Write(Users.Count);
                        Users.ForEach(u => writer.Write(u));
                    }
                    if (query == "UsersWrite")
                    {
                        Users.Clear();
                        string s;
                        do
                        {
                            s = reader.ReadString();
                            if (s != "End")
                            {
                                Users.Add(s);
                            }
                        } while (s != "End");
                        SaveUsers();
                    }
                    if (query == "LogRecord")
                    {
                        Directory.CreateDirectory("Logs");
                        using (StreamWriter file = new StreamWriter("Logs\\" + reader.ReadString() + ".csv",
                                                                    true, Encoding.Default))
                            file.WriteLine(reader.ReadString());
                    }
                    if (query == "LogRead")
                    {
                        using (StreamReader file = new StreamReader("Logs\\" + reader.ReadString() + ".csv",
                                                                    Encoding.Default))
                        {
                            string s;
                            do
                            {
                                s = file.ReadLine();
                                if (s != null)
                                {
                                    writer.Write(s);
                                }
                            } while (s != null);
                            writer.Write("End");
                        }
                    }
                    if (query == "LogWrite")
                    {
                        using (StreamWriter file = new StreamWriter("Logs\\" + reader.ReadString() + ".csv",
                                                                    false, Encoding.Default))
                        {
                            string s;
                            do
                            {
                                s = reader.ReadString();
                                if (s != "End")
                                {
                                    file.WriteLine(s);
                                }
                            } while (s != "End");
                        }
                    }
                    if (query == "ListRead")
                    {
                        string name = reader.ReadString();
                        //Ищем нужный список
                        DropList List = DropLists.Find(o => o.Name == name);
                        //Если его нет - создаём
                        if (List == null)
                        {
                            List = new DropList(name);
                        }
                        DropLists.Add(List);
                        //А дальше уже отдаём старый или новый
                        List.List.ForEach(o => writer.Write(o));
                        writer.Write("End");
                    }
                    if (query == "ListWrite")
                    {
                        string name = reader.ReadString();
                        //Ищем нужный список
                        DropList List = DropLists.Find(o => o.Name == name);
                        //Если его нет - создаём
                        if (List == null)
                        {
                            List = new DropList(name);
                        }
                        DropLists.Add(List);
                        //если такого списка нет - добавляем новый, а потом сохраняем его в файл
                        List.List.Clear();
                        string s;
                        do
                        {
                            s = reader.ReadString();
                            if (s != "End")
                            {
                                List.List.Add(s);
                            }
                        } while (s != "End");
                        List.Save();
                    }
                    if (query == "StatWrite")
                    {
                        AddStat(reader.ReadString());
                    }
                    if (query == "StatRead")
                    {
                        Stats.Sort(delegate(Stat s1, Stat s2) { return(s2.Num.CompareTo(s1.Num)); });
                        int sum = 0;
                        foreach (Stat s in Stats)
                        {
                            writer.Write(s.Name);
                            writer.Write(s.Num);
                            sum += s.Num;
                        }
                        writer.Write("Всего");
                        writer.Write(sum);
                        writer.Write("End");
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            };
        }
Exemplo n.º 30
0
        /// <summary>从内容中分析得到地区并保存。以民政部颁布的行政区划代码为准</summary>
        /// <param name="html"></param>
        /// <returns></returns>
        public static IList <Area> ParseAndSave(String html)
        {
            var all = Parse(html).ToList();

            // 预备好所有三级数据
            var list = FindAll(_.ID > 10_00_00 & _.ID < 99_99_99);

            var rs = new List <Area>();

            foreach (var item in all)
            {
                // 查找是否已存在
                var r = list.Find(e => e.ID == item.ID);
                if (r == null && item.ID > 99_99_99)
                {
                    r = FindByID(item.ID);
                }

                if (r == null)
                {
                    r = item;

                    // 找到它的上级
                    var pid = GetParent(item.ID);

                    // 部分区县由省直管,中间没有第二级
                    if (pid > 0 && !list.Any(e => e.ID == pid) && !all.Any(e => e.ID == pid))
                    {
                        var pid2 = GetParent(pid);
                        var r2   = all.Find(e => e.ID == pid2);
                        if (r2 != null)
                        {
                            var r3 = new Area
                            {
                                ID       = pid,
                                ParentID = pid2,
                                Enable   = true,
                            };

                            // 直辖市处理市辖区
                            if (r2.Name.EqualIgnoreCase("北京", "天津", "上海", "重庆"))
                            {
                                r3.Name = "市辖区";
                            }
                            else
                            {
                                r3.Name = "直辖县";
                            }

                            r3.FixLevel();
                            r3.FixName();
                            rs.Add(r3);
                            list.Add(r3);
                        }
                        else
                        {
                            XTrace.WriteLine("无法识别地区的父级 {0} {1}", item.ID, item.Name);
                        }
                    }

                    r.ParentID = pid;
                    r.Enable   = true;
                }
                else
                {
                    r.FullName = item.FullName;
                }

                r.FixLevel();
                r.FixName();

                rs.Add(r);
            }

            rs.Save(true);

            return(rs);
        }
Exemplo n.º 31
0
 /// <summary>
 /// Saves
 /// </summary>
 /// <param name="fileName"></param>
 public void Save(string fileName)
 {
     _list.Save(fileName);
 }
        public static ProcessStatus UpdateFrame()
        {
            var status = new ProcessStatus();

            var size = new Size(Configuration.FrameWidth, Configuration.FrameHeight);

            var frame = new DirectoryInfo(Configuration.FramePath);

            var files = frame.GetFiles("*.*", SearchOption.AllDirectories)
                    .ToList();

            var filesToDelete = new List<FileInfo>();

            var photos = Repository.Photos()
                .Where(x => x.Status == PhotoStatus.Included)
                .ToList();

            foreach (var file in files)
            {
                if (photos.All(x => x.FrameFullName != file.FullName))
                {
                    filesToDelete.Add(file);
                    status.PhotoRemoved();
                }
            }

            filesToDelete.ForEach(x => File.Delete(x.FullName));

            var added = new List<Photo>();

            foreach (var photo in photos)
            {
                if (File.Exists(photo.FrameFullName))
                {
                    status.PhotoExists();
                    continue;
                }

                status.PhotoAdded();

                Image frameImage;

                using (var image = Image.FromFile(photo.ArchiveFullName))
                {
                    frameImage = ResizeImage(image, size);
                }

                frameImage.Save(photo.FrameFullName);
            }

            added.Save(false);

            var states = photos.Select(x => new PhotoFrameState
                                                {
                                                    PhotoID = x.ID,
                                                    DateAdded = DateTime.Now
                                                });

            states.Save();

            return status;
        }
        public static ProcessStatus ExtractFromCamera(bool cleanCamera = false)
        {
            var status = new ProcessStatus();

            var cameraPath = Configuration.CameraPath.TrimEnd('\\');
            var archive = new DirectoryInfo(cameraPath);

            var extensions = Configuration.Extensions;

            var fileList = new List<FileInfo>();

            foreach (var extension in extensions)
            {
                var mask = string.Format("*.{0}", extension);

                var files = archive.GetFiles(mask, SearchOption.AllDirectories)
                    .Where(x => x.DirectoryName != null)
                    .ToList();

                fileList.AddRange(files);
            }

            if (fileList.Count == 0)
            {
                return status;
            }

            var shelfDate = DateTime.Now;

            var shelf = string.Format("{0:yyyyMMdd_hhmmss}", shelfDate);

            var shelfPath = Path.Combine(Configuration.ArchivePath, shelf);

            var newPhotos = new List<Photo>();

            foreach (var file in fileList)
            {
                var photo = Photo.New(file, shelf);

                if (Repository.Photos().Any(x => x.HashValue == photo.HashValue))
                {
                    status.PhotoExists();
                    continue;
                }

                if (!Directory.Exists(shelfPath))
                {
                    Directory.CreateDirectory(shelfPath);
                }

                bool success;

                try
                {
                    File.Copy(file.FullName, photo.ArchiveFullName);
                    success = true;

                }
                catch (Exception)
                {
                    success = false;
                }

                if (success)
                {
                    newPhotos.Add(photo);
                    status.PhotoAdded();

                    if (cleanCamera)
                    {
                        try
                        {
                            File.Delete(file.FullName);
                            status.PhotoRemoved();
                        }
                        catch (Exception)
                        {
                            // swallow
                        }
                    }
                }
            }

            newPhotos.Save();

            return status;
        }
        private static int DeDupe()
        {
            var dupCount = 0;

            var dups = Repository.Photos().GroupBy(x => x.HashValue)
                .Select(x => new
                                 {
                                     Hash = x.Key,
                                     PhotoCount = x.Count()
                                 })
                .Where(x => x.PhotoCount > 1)
                .ToList();

            var dupSaves = new List<Photo>();

            var activeList = new List<PhotoStatus>
                                 {
                                     PhotoStatus.Excluded,
                                     PhotoStatus.Included,
                                     PhotoStatus.Pending
                                 };

            foreach (var dup in dups)
            {
                var ids = Repository.Photos().Where(x => x.HashValue == dup.Hash).Select(x => x.ID).ToList();

                var first = Repository.Photos()
                    .Where(x => ids.Contains(x.ID))
                    .Where(x => activeList.Contains(x.Status))
                    .OrderBy(x => x.DateAdded)
                    .ThenByDescending(x => x.Status)
                    .FirstOrDefault();

                if (first != null)
                {
                    ids.Remove(first.ID);
                    dupSaves.Add(first);
                }

                foreach (var photo in Repository.Photos().Where(x => ids.Contains(x.ID)))
                {
                    if (!activeList.Contains(photo.Status))
                    {
                        continue;
                    }

                    photo.Status = PhotoStatus.Duplicated;
                    photo.DateDeleted = DateTime.Now;

                    dupSaves.Add(photo);

                    dupCount++;
                }
            }

            dupSaves.Save();

            return dupCount;
        }
Exemplo n.º 35
0
        private void btnLoad_Click(object sender, EventArgs e)
        {
            Files = new List<Movie>();

            //Files = Files.Open(fileNamesFile);

            if (Files.Count < 1)
            {
                if (Files.GetMovies(this.Dir, this.Replaces))
                {
                    if (Files.Save(fileNamesFile))
                        lblDir.Text = "Saved";
                    else
                        lblDir.Text = "Not Saved";
                }
                else
                    lblDir.Text = "No Files Exist.\nChoose another\ndirectory.";
            }
            lblDir.Text = folderBrowserDialog1.SelectedPath + "\n" + Files.Count.ToString() + " avi files found";
            dataGridView1.DataSource = Files;
        }
        protected override void DoAction()
        {
            var entities = GetEntitiesToProcess();
            foreach (var entity in entities) {
                var queriesForDomain = new HashSet<string>();
                entity.Status |= DomainStatus.PhrasesCollected;
                try {
                    for (var page = 1;; page++) {
                        var hasUnique = false;
                        var content = SpywordsQueryWrapper.GetQueriesForDomain(entity.Domain, page);
                        var listLinksToInsert = new List<Domainphrase>();
                        foreach (Match wordMatch in _siteSpywordsExpractor.Matches(content)) {
                            var word = wordMatch.Groups["word"].Value.ToLower();
                            if (queriesForDomain.Contains(word)) {
                                continue;
                            }
                            queriesForDomain.Add(word);
                            hasUnique = true;
                            var phrase = Phrase.DataSource
                                .WhereEquals(Phrase.Fields.Text, word)
                                .First(Phrase.Fields.ID);
                            if(phrase == null) {
                                phrase = new Phrase {
                                    Datecreated = DateTime.UtcNow,
                                    Status = PhraseStatus.NotCollected,
                                    CollectionIdentity = CollectionIdentity,
                                    Text = word
                                };
                                phrase.Save();
                            }
                            var firstDomainPhrase = Domainphrase.DataSource
                                .WhereEquals(Domainphrase.Fields.DomainID, entity.ID)
                                .WhereEquals(Domainphrase.Fields.PhraseID, phrase.ID)
                                .First();
                            if (firstDomainPhrase == null) {
                                var domainphrase = new Domainphrase {
                                    DomainID = entity.ID,
                                    PhraseID = phrase.ID,
                                    SourceType = SourceType.Context,
                                    CollectionIdentity = CollectionIdentity
                                };
                                listLinksToInsert.Add(domainphrase);
                            } else {
                                firstDomainPhrase.SourceType |= SourceType.Context;
                                firstDomainPhrase.Save();
                            }
                        }
                        TaskRunner.Instance.AddAction(() => {
                            listLinksToInsert.Save<Domainphrase, int>();
                        });
                        if (!hasUnique) {
                            break;
                        }
                    }
                }
                catch (Exception ex) {
                    Logger.Error(ex);
                    entity.Status |= DomainStatus.PhrasesCollectedError;
                }

                entity.Save();
            }
        }
Exemplo n.º 37
0
        public void SaveIEnumerableExtension()
        {
            List<Task2> Tasks = new List<Task2>();
            for (int x = 0; x < 100; ++x)
            {
                Task2 TempTask = new Task2();
                TempTask.Description = "This is a test";
                TempTask.DueDate = new DateTime(1900, 1, 1);
                TempTask.Name = "Test task";
                Tasks.Add(TempTask);
            }
            Tasks.Save<Task2, long>();

            using (Utilities.SQL.SQLHelper Helper = new Utilities.SQL.SQLHelper("SELECT * FROM Task2_", "Data Source=localhost;Initial Catalog=ORMTestDatabase3;Integrated Security=SSPI;Pooling=false", CommandType.Text))
            {
                Helper.ExecuteReader();
                int Counter = 0;
                while (Helper.Read())
                {
                    Assert.Equal("This is a test", Helper.GetParameter<string>("Description_", ""));
                    Assert.Equal("Test task", Helper.GetParameter<string>("Name_", ""));
                    ++Counter;
                }
                Assert.Equal(100, Counter);
            }
        }