public MainViewModel(ITtsService ttsService) { this.ttsService = ttsService; //// .... this was a test //ttsService.AddWordCallback((textBeingRead, start, length) => //{ // // word // PrependToLog($"[{start}:{length}] {textBeingRead.Substring(start, length)}"); //}); //TODO: use config file maybe var xmlFile = @"C:\OtherMiktemk\datafiles\german-grammar\german-grammar-split.xml"; outputLang = "de"; CurIndex = 900; allText = XmlFactory.LoadFromFile <MultiLanguageText>(xmlFile); PlayStopCommand = new RelayCommand(PlayStop, () => true); PreviewKeyDownCommand = new RelayCommand <KeyEventArgs>((args) => { if (args.Key == Key.Left) { CurIndex--; } if (args.Key == Key.Right) { CurIndex++; } if (args.Key == Key.Space) { PlayStop(); } }); }
public static List <MemberItem> Get(MemberItemFilter filter) { var memberItems = XmlFactory.ReadXml <MemberItem>(FolderFactory.MemberFolder, FolderTypes.Members.ToString()); if (filter != null) { memberItems = memberItems.Where(w => w.Delete == filter.Deleted).ToList(); if (!string.IsNullOrEmpty(filter.Id)) { memberItems = memberItems.Where(w => w.MemberId.Equals(filter.Id)).ToList(); } if (!string.IsNullOrEmpty(filter.FirstName)) { memberItems = memberItems.Where(w => w.FirstName.ToUpper().Contains(filter.FirstName.ToUpper())).ToList(); } if (!string.IsNullOrEmpty(filter.LastName)) { memberItems = memberItems.Where(w => w.LastName.ToUpper().Contains(filter.LastName.ToUpper())).ToList(); } if (!string.IsNullOrEmpty(filter.Group)) { memberItems = memberItems.Where(w => w.Group.ToUpper().Contains(filter.Group.ToUpper())).ToList(); } } return(memberItems.OrderBy(o => o.FirstName).ThenBy(o => o.LastName).ToList()); }
private void saveTheShit() { var fff = new SaveFileDialog() { //CheckFileExists = true, Filter = "WAV|*.wav", }; var result = fff.ShowDialog(); if (result != DialogResult.OK) { return; } LastFolder = Path.GetDirectoryName(fff.FileName); // save xml logicShit.cleanUpFilenames(fff.FileName); XmlFactory.WriteToFile <XmlAudiobook>(logicShit.AudiobookXml, fff.FileName + ".xml"); // save wav AudiobookerMp3Utils.SaveMusicMp3ToSegmentedFile(fff.FileName, logicShit.AudiobookXml); UtilsCore.OpenWinExplorerAndSelectThisFile(fff.FileName); }
public MailFactory() { string[] templateFolder = new string[] { System.IO.Path.Combine(CIV.Common.IO.GetCivDataFolder(), @"MailTemplates\"), System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"MailTemplates\") }; try { // Crée une liste des modèles disponible foreach (string folder in templateFolder) { // Si le dossier n'existe pas, on le crée if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } foreach (string subFolder in Directory.EnumerateDirectories(folder)) { // Charge le fichier info.xml string infoFile = System.IO.Path.Combine(subFolder, "info.xml"); if (File.Exists(infoFile)) { MailTemplate template = (MailTemplate)XmlFactory.LoadFromFile(typeof(MailTemplate), infoFile, new XmlFactorySettings()); template.Folder = subFolder; MailTemplates.Add(template); } } } } catch (Exception fileExc) { LogFactory.LogEngine.Instance.Add(fileExc); } }
public void Load(IEnumerable <string> paths) { foreach (var path in paths) { Console.WriteLine($"{path}"); var svg = File.ReadAllText(path); var sw = Stopwatch.StartNew(); try { var factory = new XmlFactory(); //XmlParser.Parse(svg.AsSpan(), factory); XmlParser2.Parse(svg.AsSpan(), factory); var item = new Item() { Name = Path.GetFileName(path), Path = path, Svg = svg, Root = factory.GetRootElement() as XmlElement }; Items.Add(item); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } sw.Stop(); Console.WriteLine($"{sw.Elapsed.TotalMilliseconds}ms"); } }
private void saveTheShit() { var fff = new SaveFileDialog() { //CheckFileExists = true, Filter = "WAV|*.wav", }; var result = fff.ShowDialog(); if (result != DialogResult.OK) { return; } LastFolder = Path.GetDirectoryName(fff.FileName); // save xml logicShit.cleanUpFilenames(fff.FileName); XmlFactory.WriteToFile <XmlIlyaFrankAbook>(logicShit.IlyaXml, fff.FileName + ".xml"); // save wav AudiobookerMp3Utils.InterleaveAndSaveIlyaFrankerMp3( fff.FileName, logicShit.IlyaXml, (Settings.Default.SpeechChange1 != 0) ? (double?)Settings.Default.SpeechChange1 : null, (Settings.Default.SpeechChange2 != 0) ? (double?)Settings.Default.SpeechChange2 : null, Settings.Default.FlipLanguages, (progress) => { progressBar.Value = (int)progress; }); }
public bool Export(string filename, out Exception exportException, out int count) { exportException = null; count = 0; Clear(); try { foreach (string tablename in DataBaseFactory.Instance.GetUserTables()) { foreach (DailyUsageBO usage in DailyUsageDAO.Instance.All(tablename)) { Add(new DailyUsageExportBO(usage, tablename)); count++; } } XmlFactory.SaveToFile(this, typeof(DailyUsageDAOFactory), filename, new XmlFactorySettings() { Password = _password }); return(true); } catch (Exception innerExportException) { exportException = innerExportException; return(false); } }
public async Task <(XDocument trudiXml, AdapterError error)> LoadData(AdapterContext ctx, CancellationToken ct, Action <ProgressInfo> progressCallback) { progressCallback(new ProgressInfo(0, $"Daten werden abgerufen.")); await Task.Delay(1000, ct); if (ctx.WithLogdata != config.WithLogData) { config.WithLogData = ctx.WithLogdata; } config.BillingPeriod = ctx.BillingPeriod; config.Contract = ctx.Contract; config.Start = ctx.Start != null ? ctx.Start : ctx.BillingPeriod.Begin; config.End = ctx.End != null ? ctx.End : ctx.BillingPeriod.End; if (!config.End.HasValue) { config.End = DateTime.Now.GetDateWithoutSeconds(); } var xmlFactory = new XmlFactory(config); var trudiXml = xmlFactory.BuildTafXml(); progressCallback(new ProgressInfo(100, $"Alle Daten erfolgreich geladen.")); return(trudiXml, null); }
static void Main(string[] args) { uiFactory factory; Console.WriteLine("---- Xml Interface ----"); /* * Create XML System Here * and execute prepared strings */ factory = new XmlFactory(); Execute(CreateSystem(factory), "xml_input.txt"); Console.WriteLine(); Console.WriteLine("---- KeyValue Interface ----"); /* * Create INI System Here * and execute prepared strings */ factory = new KvFactory(); Execute(CreateSystem(factory), "key_value_input.txt"); Console.WriteLine(); Console.ReadKey(); }
private IManageFile GetManageFile(EnumType fileType) { IStudentFactory abstractFactory; switch (fileType) { case EnumType.TXT: { abstractFactory = new TxtFactory(); return(abstractFactory.Create()); } case EnumType.XML: { abstractFactory = new XmlFactory(); return(abstractFactory.Create()); } default: { abstractFactory = new JsonFactory(); return(abstractFactory.Create()); } } }
private void Start() { GameServer.sInstance.isLockSend = false; if (!ServerInfo.isLogin) { //첫 로그인 ServerInfo.userId = SystemInfo.deviceUniqueIdentifier; #if !UNITY_EDITOR SettingEnvironment(); #endif MapperFactory.Register(); XmlFactory.Load(); GameServer.ActionConnected = Connected; GameServer.ActionLogin = Login; GameServer.ActionEnterMatch = EnterMatch; GameServer.ActionExitMatch = ExitMatch; GameServer.ActionSuccessMatch = SuccessMatch; GameServer.ActionEnterRoom = EnterRoom; GameServer.ActionExitRoom = ExitRoom; GameServer.ActionLoading = Loading; Router.CloseAndOpen("LoginView"); } else { Router.CloseAndOpen("LobbyView/PlayView"); } }
private List <ActivityItem> GetActivityItems() { var fileInfo = new FileInfo(LogPath); var logItems = XmlFactory.ReadXml <ActivityItem>(FolderFactory.LogFolder, fileInfo.Name.Replace(fileInfo.Extension, string.Empty)); NumberOfRegistrations = $"{logItems.Count.ToString(CultureInfo.InvariantCulture)} registraties"; return(logItems.OrderByDescending(o => o.Datum).ToList()); }
public override void UnRegister() { base.UnRegister(); XmlFactory.Save(XmlKey.RecordData.ToString(), ServerInfo.Room.ProgressTime, record); record.Packs.Clear(); }
public void CreateFromElementPathTest2() { string path = "TemperatureConstants"; XElement expected = new XElement("TemperatureConstants"); XElement actual = XmlFactory.CreateFromElementPath(path); Debug.WriteLine(actual.ToString()); Assert.AreEqual(expected.ToString(), actual.ToString()); }
private void LoadFiles() { // TODO: via config file docAlign.Text1 = CodeDocument1.Text = File.ReadAllText(@"C:\_mik\datafiles\proust-chez-swann\proust-chez-swann-fr.txt"); docAlign.Text2 = CodeDocument2.Text = File.ReadAllText(@"C:\_mik\datafiles\proust-chez-swann\proust-chez-swann-ru.txt"); //docAlign.AlignData = new DocAlignmentData(); docAlign.AlignData = XmlFactory.LoadFromFile <DocAlignmentData>(@"C:\_mik\datafiles\proust-chez-swann\proust-chez-swann-alignment.xml"); UpdateUI(); }
private void setMp3AndXml(string fileMp3) { XmlAudiobook xml = null; if (File.Exists(fileMp3 + ".xml")) { xml = XmlFactory.LoadFromFile <XmlAudiobook>(fileMp3 + ".xml"); } logicShit.SetAudioAndMeta(fileMp3, xml); }
public AttachedControllersInfoSystem() { AttachedControllerInfos = XmlFactory.GetCounterCorrectionInfosFromXml(Path.Combine(Env.CfgPath, "AttachedControllerInfos.xml")); AttachedControllerConfigs = new Dictionary <string, AttachedObjectConfig>(); foreach (var attachedControllerInfo in AttachedControllerInfos) { AttachedControllerConfigs.Add(attachedControllerInfo.Value, attachedControllerInfo.Key); } }
public void DeleteMembers() { if (!Items.Any(w => w.Delete)) { MessageBox.Show("Gelieve een of meerdere leden te selecteren!", "Waarschuwing", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } switch ( MessageBox.Show("Wenst u de geselecteerde registraties te verwijderen?", "Waarschuwing", MessageBoxButton.OKCancel, MessageBoxImage.Question)) { case MessageBoxResult.OK: IsBusy = true; var bgWorker = new BackgroundWorker { WorkerSupportsCancellation = true }; bgWorker.DoWork += (sender, args) => { try { foreach (var item in Items.Where(w => w.Delete)) { AllMembers.Where(w => w.MemberId == item.MemberId).ToList().ForEach(u => u.Delete = true); } XmlFactory.WriteXml(FolderFactory.MemberFolder, "Members", AllMembers); Items = GetMemberItems(Filter); } catch { IsBusy = false; } }; bgWorker.RunWorkerCompleted += (sender, args) => { IsBusy = false; }; bgWorker.RunWorkerAsync(); break; case MessageBoxResult.None: break; case MessageBoxResult.Cancel: break; case MessageBoxResult.Yes: break; case MessageBoxResult.No: break; default: throw new ArgumentOutOfRangeException(); } }
public void CreateFromElementPathTest1() { string path = ElementPath; XElement expected = new XElement("TemperatureConstants", new XElement("CoverThermConstants", new XElement("TemperatureCorrections", new XElement("ReadingAt10")))); XElement actual = XmlFactory.CreateFromElementPath(path); Debug.WriteLine(actual.ToString()); Assert.AreEqual(expected.ToString(), actual.ToString()); }
protected void Page_Load(object sender, EventArgs e) { var directory = new DirectoryInfo(FolderFactory.LogFolder); var file = (from f in directory.GetFiles() where f.FullName.ToLower().Contains("score_") && f.FullName.ToLower().Contains(".xml") orderby f.LastWriteTime descending select f).FirstOrDefault(); if (file != null) { bool showAfwijking; bool.TryParse(ConfigurationManager.AppSettings["ShowAfwijking"], out showAfwijking); var srTable = "<table style='border: 1px black solid; width: 100%'>"; var requestFolder = FolderFactory.RequestFolder; var logItems = XmlFactory.ReadXml <ScoreItem>(FolderFactory.LogFolder, file.Name.Replace(file.Extension, string.Empty)); if (logItems.Any(w => w.Omschrijving == "StartGame")) { srTable += logItems.Any(w => !string.IsNullOrEmpty(w.Afwijking)) && showAfwijking ? "<tr style='font-weight: bold;'><td>Foto nummer</td><td>Naam</td><td style='text-align: center;'>Jury 1</td><td style='text-align: center;'>Jury 2</td><td style='text-align: center;'>Jury 3</td><td style='text-align: center;'>Jury 4</td><td style='text-align: center;'>Jury 5</td><td style='text-align: center;'>Afwijking</td><td style='text-align: center;'>Totaal</td></tr>" : "<tr style='font-weight: bold;'><td>Foto nummer</td><td>Naam</td><td style='text-align: center;'>Jury 1</td><td style='text-align: center;'>Jury 2</td><td style='text-align: center;'>Jury 3</td><td style='text-align: center;'>Jury 4</td><td style='text-align: center;'>Jury 5</td><td style='text-align: center;'>Totaal</td></tr>"; var liveAction = string.Format( "<tr style='background-color: #90EE90;'><td>{0}</td><td>{1}</td><td style='text-align: center;'>{2}</td><td style='text-align: center;'>{3}</td><td style='text-align: center;'>{4}</td><td style='text-align: center;'>{5}</td><td style='text-align: center;'>{6}</td><td>{7}</td>" + (logItems.Any(w => !string.IsNullOrEmpty(w.Afwijking) && showAfwijking) ? "<td> </td>" : "") + "</tr>", string.Empty, string.Empty, File.Exists(Path.Combine(requestFolder, "Request_1.txt")) ? "X" : "--", File.Exists(Path.Combine(requestFolder, "Request_2.txt")) ? "X" : "--", File.Exists(Path.Combine(requestFolder, "Request_3.txt")) ? "X" : "--", File.Exists(Path.Combine(requestFolder, "Request_4.txt")) ? "X" : "--", File.Exists(Path.Combine(requestFolder, "Request_5.txt")) ? "X" : "--", string.Empty); srTable += liveAction; foreach (var logItem in logItems.Where(w => w.Omschrijving != "StartGame").OrderByDescending(o => o.Datum)) { srTable += !string.IsNullOrEmpty(logItem.FotoNaam) ? (!string.IsNullOrEmpty(logItem.Afwijking) && showAfwijking ? $"<tr style='background-color: #90EE90;'><td>{logItem.FotoNr}</td><td>{logItem.FotoNaam}</td><td style='text-align: center;'>{logItem.Jury1 ?? "--"}</td><td style='text-align: center;'>{logItem.Jury2 ?? "--"}</td><td style='text-align: center;'>{logItem.Jury3 ?? "--"}</td><td style='text-align: center;'>{logItem.Jury4 ?? "--"}</td><td style='text-align: center;'>{logItem.Jury5 ?? "--"}</td><td style='text-align: center;'>{logItem.Afwijking ?? "--"}</td><td style='text-align: center;'>{logItem.Totaal ?? "--"}</td></tr>" : $"<tr style='background-color: #90EE90;'><td>{logItem.FotoNr}</td><td>{logItem.FotoNaam}</td><td style='text-align: center;'>{logItem.Jury1 ?? "--"}</td><td style='text-align: center;'>{logItem.Jury2 ?? "--"}</td><td style='text-align: center;'>{logItem.Jury3 ?? "--"}</td><td style='text-align: center;'>{logItem.Jury4 ?? "--"}</td><td style='text-align: center;'>{logItem.Jury5 ?? "--"}</td><td style='text-align: center;'>{logItem.Totaal ?? "--"}</td></tr>" ) : (!string.IsNullOrEmpty(logItem.Afwijking) && showAfwijking ? $"<tr style='background-color: #D3D3D3; font-weight: bold; text-align: center;'><td colspan='9'>{logItem.Omschrijving}</td></tr>" : $"<tr style='background-color: #D3D3D3; font-weight: bold; text-align: center;'><td colspan='8'>{logItem.Omschrijving}</td></tr>" ); } } srTable += "</table>"; plcScoreLogging.Controls.Add(new LiteralControl(srTable)); } else { plcScoreLogging.Controls.Add(new LiteralControl("<b>Er is voorlopig geen score beschikbaar!</b>")); } }
private void CreateCIVInfoTable() { if (IsAvailable) { CivInfoDAO.Instance.CreateTable(); CivInfoBO info = new CivInfoBO(); info.Name = "Version"; info.Value = XmlFactory.SaveToString(_version, typeof(CIVVersion), new XmlFactorySettings()); CivInfoDAO.Instance.Insert(info); } }
private void DummySetting() { //Scene 바로 시작시 if (!string.IsNullOrEmpty(ServerInfo.User.Id)) { return; } MapperFactory.Register(); XmlFactory.Load(); gameObject.AddComponent <GameServer>(); ServerInfo.User = DummyUser(SystemInfo.deviceUniqueIdentifier, SystemInfo.deviceName); }
public static MemberItem GetById(string id, bool idIsNumeric) { var memberItems = XmlFactory.ReadXml <MemberItem>(FolderFactory.MemberFolder, FolderTypes.Members.ToString()); if (idIsNumeric) { return(memberItems.FirstOrDefault(w => w.ListMemberId.ToUpper().Equals(id.ToUpper().PadLeft(3, '0')))); } else { return(memberItems.FirstOrDefault(w => w.MemberId.ToUpper().Equals(id.ToUpper()))); } }
public static ProgramSettings Load() { ProgramSettings result; if (File.Exists(Filename)) { try { #if DEBUG result = (ProgramSettings)XmlFactory.LoadFromFile(typeof(ProgramSettings), Filename, new XmlFactorySettings()); #else result = (ProgramSettings)XmlFactory.LoadFromFile(typeof(ProgramSettings), Filename, new XmlFactorySettings() { Password = _key }); #endif if (result.Display.Count == 0) { result.ResetDisplay(); } if (result.DisplaySystray.Count == 0) { result.ResetDisplaySystray(); } return(result); } catch (Exception loadException) { MessageBox.Show(loadException.ToString()); } } result = new ProgramSettings(); result.ResetDisplay(); result.ResetDisplaySystray(); try { // Si on arrive pas à sauvegarder, un met un Guid vide. Pour ne pas avoir plein de Guid unique inutile dans les logs if (!result.Save()) { result.Id = Guid.Empty; } } catch { } return(result); }
public bool Import(string filename, out Exception importException, out int count, out int total) { importException = null; count = 0; total = 0; try { DailyUsageDAOFactory data = (DailyUsageDAOFactory)XmlFactory.LoadFromFile(typeof(DailyUsageDAOFactory), filename, new XmlFactorySettings() { Password = _password }); List <string> tables = DataBaseFactory.Instance.GetUserTables(); foreach (DailyUsageExportBO usage in data) { if (!tables.Contains(usage.Username)) { DailyUsageDAO.Instance.CreateTable(usage.Username); } if (!DailyUsageDAO.Instance.Exist(usage.Username, new DailyUsageBO() { Day = usage.Day })) { if (usage.Period == null) { usage.Period = new Period(String.Format("{0}01@{1}{2}", usage.Day.ToString("yyyyMM"), usage.Day.ToString("yyyyMM"), DateTime.DaysInMonth(Convert.ToInt32(usage.Day.ToString("yyyy")), Convert.ToInt32(usage.Day.ToString("MM"))) )); } DailyUsageDAO.Instance.Insert(usage.Username, usage); count++; } total++; } return(true); } catch (Exception innerImportException) { importException = innerImportException; return(false); } }
protected void Page_Load(object sender, EventArgs e) { var directory = new DirectoryInfo(FolderFactory.LogFolder); var file = (from f in directory.GetFiles() where f.FullName.ToLower().Contains("activity_") && f.FullName.ToLower().Contains(".xml") orderby f.LastWriteTime descending select f).FirstOrDefault(); if (file != null) { var srTable = "<table style='border: 1px black solid; width: 100%'>"; srTable += "<tr style='font-weight: bold;'><td>Datum</td><td>Ip</td><td>Source</td><td>Type</td><td>Lokatie</td><td>Omschrijving</td></tr>"; var logItems = XmlFactory.ReadXml <ActivityItem>(FolderFactory.LogFolder, file.Name.Replace(file.Extension, string.Empty)); foreach (var logItem in logItems.OrderByDescending(o => o.Datum)) { var bgColor = "#D3D3D3"; var fgColor = ConvertColorToHex(Color.Black); if (logItem.Type == "Error") { bgColor = ConvertColorToHex(Color.Red); fgColor = ConvertColorToHex(Color.White); } else if (logItem.Type == "Success") { bgColor = ConvertColorToHex(Color.LightGreen); } else if (logItem.Type == "Information") { bgColor = ConvertColorToHex(Color.LightBlue); } else if (logItem.Type == "Warning") { bgColor = ConvertColorToHex(Color.LightGoldenrodYellow); } srTable += String.Format( "<tr style='background-color: {6}; color: {7};'><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td><td>{5}</td></tr>", logItem.Datum, logItem.Ip, logItem.Source, logItem.Type, logItem.Lokatie, logItem.Omschrijving, bgColor, fgColor); } srTable += "</table>"; plcActivityLogging.Controls.Add(new LiteralControl(srTable)); } else { plcActivityLogging.Controls.Add(new LiteralControl("<b>Er is voorlopig geen log beschikbaar!</b>")); } }
public static List <GameItem> Get(GameItemFilter filter) { var gameItems = XmlFactory.ReadXml <GameItem>(FolderFactory.MemberFolder, FolderTypes.Games.ToString()); if (filter != null) { gameItems = gameItems.Where(w => w.Delete == filter.Deleted).ToList(); if (!string.IsNullOrEmpty(filter.Month)) { gameItems = gameItems.Where(w => w.Month.ToUpper().Contains(filter.Month.ToUpper())).ToList(); } if (!string.IsNullOrEmpty(filter.Theme)) { gameItems = gameItems.Where(w => w.Theme.ToUpper().Contains(filter.Theme.ToUpper())).ToList(); } } return(gameItems.OrderBy(o => o.Month).ThenBy(o => o.Theme).ToList()); }
private void button2_Click(object sender, EventArgs e) { IStudentDAO iStudentDAO = new StudentDAO(); Student student = new Student(); student.StudentId = Int32.Parse(txtStudentId.Text); student.Name = txtName.Text; student.Surname = txtSurname.Text; student.DateOfBirth = DateTime.Parse(txtDateOfBirth.Text).Date; IAbstractFileFactory fileFactory = new XmlFactory(); var file = fileFactory.CreateFile(); bool fileExists = file.CheckFileExists(); if (fileExists != true) { file.CreateFile(); } iStudentDAO.Add(student, Common.Models.EnumTypeFactory.XML); }
public bool Save() { try { #if DEBUG XmlFactory.SaveToFile(this, typeof(ProgramSettings), Filename, new XmlFactorySettings()); #else XmlFactory.SaveToFile(this, typeof(ProgramSettings), Filename, new XmlFactorySettings() { Password = _key }); #endif return(true); } catch (Exception saveException) { LogFactory.LogEngine.Instance.Add(saveException, false); MessageBox.Show(saveException.Message, "CIV", MessageBoxButton.OK, MessageBoxImage.Error); return(false); } }
public void DeleteGames() { if (!Items.Any(w => w.Delete)) { MessageBox.Show("Gelieve een of meerdere wedstrijden te selecteren!", "Waarschuwing", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (MessageBox.Show("Wenst u de geselecteerde registraties te verwijderen?", "Waarschuwing", MessageBoxButton.OKCancel, MessageBoxImage.Question) == MessageBoxResult.OK) { IsBusy = true; var bgWorker = new BackgroundWorker { WorkerSupportsCancellation = true }; bgWorker.DoWork += (sender, args) => { try { foreach (var item in Items.Where(w => w.Delete)) { AllGames.Where(w => w.Month.Equals(item.Month) && w.Theme.Equals(item.Theme)).ToList() .ForEach(u => u.Delete = true); } XmlFactory.WriteXml(FolderFactory.MemberFolder, "Games", AllGames); Items = GetGameItems(Filter); } catch { IsBusy = false; } }; bgWorker.RunWorkerCompleted += (sender, args) => { IsBusy = false; }; bgWorker.RunWorkerAsync(); } }