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); } }
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 }); }
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); }
public IActionResult OnPost(string newTask) { if (string.IsNullOrEmpty(newTask)) { return(RedirectToPage("RazorVue")); } List.Items.Add(new ToDoItem(newTask)); List.Save(); return(RedirectToPage("RazorVue")); }
static void Main(string[] args) { var customer = new List <BaseCustomer> { new BlueCustomer(), new GoldCustomer() }; customer.ForEach(customer => { Console.WriteLine($"{customer.Save()}"); }); Console.Read(); }
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); }
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 })); }
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); }
/// <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); } } }
/// <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); } }
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); }
/// <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); }
/// <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); } }
/// <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(); }
/// <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); } }
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); }
/* 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(); }
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(); }
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); }
/// <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); }; }
/// <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); }
/// <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; }
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(); } }
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); } }