private void OnProgressChangedEvent(ProgressChangedEvent eventItem) { List <Type> eventTypeList; if (!_userGuidToEventDictionary.TryGetValue(eventItem.Guid, out eventTypeList) || !eventTypeList.Contains(eventItem.GetType())) { return; } var guid = eventItem.Guid; var status = eventItem.Status; var url = eventItem.Url; var errorMessage = eventItem.ErrorMessage; if (!SearchHub.GuidDictionary.ContainsKey(guid)) { return; } var connectionId = SearchHub.GuidDictionary[guid]; if (string.IsNullOrEmpty(errorMessage)) { GlobalHost.ConnectionManager.GetHubContext <SearchHub>().Clients.Client(connectionId).progressChanged(url, status); } else { GlobalHost.ConnectionManager.GetHubContext <SearchHub>().Clients.Client(connectionId).progressChanged(url, status, errorMessage); } }
private void CopyInternal(string source, string destination, bool overwrite, bool nobuffering, ProgressChangedEvent handler) { try { CopyFileFlags copyFileFlags = CopyFileFlags.COPY_FILE_RESTARTABLE; if (!overwrite) copyFileFlags |= CopyFileFlags.COPY_FILE_FAIL_IF_EXISTS; if (nobuffering) copyFileFlags |= CopyFileFlags.COPY_FILE_NO_BUFFERING; Source = source; Destination = destination; if (handler != null) ProgressChanged += handler; bool result = CopyFileEx(Source, Destination, new CopyProgressRoutine(CopyProgressHandler), IntPtr.Zero, ref IsCancelled, copyFileFlags); if (!result && IsCancelled == 0) throw new Win32Exception(Marshal.GetLastWin32Error()); } catch (Exception) { if (handler != null) ProgressChanged -= handler; throw; } }
private void ProgressChangedInvoker_Elapsed(object sender, ElapsedEventArgs e) { if (totalSent > SEND_BUFFER * SEND_BUFFER && byteToSend != null && totalSent > 0) { ProgressChangedEvent.Invoke(totalSent, byteToSend.Length, ElapsedTime.ElapsedMilliseconds); } }
private void ProgressChangedInvoker_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { if (totalReceived > 0 && fileSize > 0 && IsFileReceiving) { ProgressChangedEvent?.Invoke(this, new ProgressChangedEventArgs(totalReceived, fileSize, ElapsedTime.ElapsedMilliseconds)); } }
public CommandViewModel(IEventAggregator eventAggregator) { this.eventAggregator = eventAggregator; ProgressChangedEvent progressChangedEvent = eventAggregator.GetEvent <ProgressChangedEvent>(); progressChangedEvent.Subscribe(OnProgressChanged); }
private void ReportProgress(float progress) { try { ProgressChangedEvent?.Invoke(this, progress); } catch { } }
public MainWindowViewModel() { var bundleCommand = new AsyncRelayCommand(() => this.BundleDetails.IsBundling, this.BundleDetails.StartBundleAsync); this.StartBundleCommand = bundleCommand; // Register listener for the progress changed event ProgressChangedEvent.RegisterListener((args) => this.Progress = args.ProgressMessage); this.Progress = "Waiting To Bundle..."; this.SetUpUserSettings(); }
public override void Push(List <Day> days) { logger.Info($"Repushing to server.........count = {days.Count()}"); float totalDays = days.Count; float completedDays = 0; days = days.OrderBy(d => d.Date).ToList(); using (SQLiteCommand cmd = _connection.CreateCommand()) { foreach (Day day in days) { cmd.Parameters.Clear(); cmd.CommandText = $"DELETE FROM [{DayTableName}] WHERE Date = @Date"; cmd.Parameters.Add(new SQLiteParameter("Date", DateSqLite(day.Date))); cmd.ExecuteNonQuery(); cmd.CommandText = $"DELETE FROM [{TimeTableName}] WHERE Date = @Date"; cmd.ExecuteNonQuery(); } foreach (Day day in days) { cmd.Parameters.Clear(); cmd.CommandText = $"INSERT INTO [{DayTableName}] VALUES(@Date, @Details)"; cmd.Parameters.Add(new SQLiteParameter("Date", DateSqLite(day.Date.Date))); cmd.Parameters.Add(new SQLiteParameter("Details", day.Details)); cmd.ExecuteNonQuery(); foreach (Time time in day.Times) { cmd.Parameters.Clear(); cmd.CommandText = $"INSERT INTO [{TimeTableName}] VALUES(@Date, @TimeIn, @TimeOut, @Key)"; cmd.Parameters.Add(new SQLiteParameter("Date", DateSqLite(time.TimeIn.Date))); cmd.Parameters.Add(new SQLiteParameter("TimeIn", DateTimeSqLite(time.TimeIn))); cmd.Parameters.Add(new SQLiteParameter("TimeOut", DateTimeSqLite(time.TimeOut))); cmd.Parameters.Add(new SQLiteParameter("Key", time.Key)); cmd.ExecuteNonQuery(); } ProgressChangedEvent?.Invoke(completedDays++ / totalDays * 100f); } } ProgressFinishEvent?.Invoke(); logger.Info($"Repushing to server.........count = {days.Count()} FINISHED!!!"); }
public void Invoke(long FromInclusive, long ToInclusive, int Parts) { if (Parts <= 1) { Task.WaitAll(Enqueue(FromInclusive, ToInclusive, Context.First())); ProgressChangedEvent?.Invoke(this, 1.0); return; } Queue <Tuple <long, long> > parts = new Queue <Tuple <long, long> >(); //split Indicess into parts long delta = (ToInclusive - FromInclusive) / Parts; for (long i = 0; i < Parts; i++) { Tuple <long, long> local = new Tuple <long, long>(i * delta, (i + 1) * delta); parts.Enqueue(local); } if (Parts * delta != ToInclusive) { parts.Enqueue(new Tuple <long, long>(Parts * delta, ToInclusive)); } int startlen = parts.Count; var worktodo = parts.Dequeue(); List <Task> Tasks = new List <Task>(); //Initialize Tasks Array for (int i = 0; i < Context.Length && i <= ToInclusive; i++) { Tasks.Add(Enqueue(worktodo.Item1, worktodo.Item2, Context[i])); } while (parts.Count >= 1) //finishes when all work is started { var nextwork = parts.Dequeue(); int finishedindex = Task.WaitAny(Tasks.ToArray()); //device on which invoke was called Tasks[finishedindex] = Enqueue(nextwork.Item1, nextwork.Item2, Context[finishedindex]); //start next workitem ProgressChangedEvent?.Invoke(this, (startlen - parts.Count) / (double)startlen); } Task.WaitAll(Tasks.ToArray()); //waits for all finish }
private void CopyInternal(string source, string destination, bool overwrite, bool nobuffering, ProgressChangedEvent handler) { try { CopyFileFlags copyFileFlags = CopyFileFlags.COPY_FILE_RESTARTABLE; if (!overwrite) { copyFileFlags |= CopyFileFlags.COPY_FILE_FAIL_IF_EXISTS; } if (nobuffering) { copyFileFlags |= CopyFileFlags.COPY_FILE_NO_BUFFERING; } Source = source; Destination = destination; if (handler != null) { ProgressChanged += handler; } bool result = CopyFileEx(Source, Destination, new CopyProgressRoutine(CopyProgressHandler), IntPtr.Zero, ref IsCancelled, copyFileFlags); if (!result && IsCancelled == 0) { throw new Win32Exception(Marshal.GetLastWin32Error()); } } catch (Exception) { if (handler != null) { ProgressChanged -= handler; } throw; } }
protected void OnProgressBarRelease(object o, ButtonReleaseEventArgs args) { clicked = false; ProgressChangedEvent?.Invoke(this, new ProgressChangeEventArgs(_currentProgress)); }
private void OnRaiseProgressChangedEvent(int progress) { ProgressChangedEvent?.Invoke(null, new ProgressChangedEventArgs(progress)); }
public static void Copy(string source, string destination, bool overwrite, bool nobuffering, ProgressChangedEvent handler) { new XCopy().CopyInternal(source, destination, overwrite, nobuffering, handler); }
public override void Push(List <Day> days) { logger.Info($"Repushing to server.........count = {days.Count()}"); if (ServerState != State.Connected) { throw new Exception("Not Connected!"); } float totalDays = days.Count; float completedDays = 0; days = days.OrderBy(d => d.Date).ToList(); using (MySqlCommand cmd = _connection.CreateCommand()) { try { foreach (Day day in days) { // remove day cmd.Parameters.Clear(); cmd.CommandText = $"DELETE FROM `{DayTableName}` WHERE Date = @Date"; cmd.Parameters.Add(new MySqlParameter("Date", DateSqLite(day.Date))); cmd.ExecuteNonQuery(); cmd.CommandText = $"DELETE FROM `{TimeTableName}` WHERE Date = @Date"; cmd.ExecuteNonQuery(); } foreach (Day day in days) // insert all days and times in range { // re-push day cmd.Parameters.Clear(); cmd.CommandText = $"INSERT INTO `{DayTableName}` VALUES(@Date, @Details)"; cmd.Parameters.Add(new MySqlParameter("Date", DateSqLite(day.Date.Date))); cmd.Parameters.Add(new MySqlParameter("Details", day.Details)); cmd.ExecuteNonQuery(); foreach (Time time in day.Times) { { cmd.Parameters.Clear(); cmd.CommandText = $"INSERT INTO `{TimeTableName}` VALUES(@Date, @TimeIn, @TimeOut, @Key)"; cmd.Parameters.Add(new MySqlParameter("Date", DateSqLite(time.TimeIn.Date))); cmd.Parameters.Add(new MySqlParameter("TimeIn", DateTimeSqLite(time.TimeIn))); cmd.Parameters.Add(new MySqlParameter("TimeOut", DateTimeSqLite(time.TimeOut))); cmd.Parameters.Add(new MySqlParameter("Key", time.Key)); cmd.ExecuteNonQuery(); } } ProgressChangedEvent?.Invoke(completedDays++ / totalDays * 100f); } ProgressFinishEvent?.Invoke(); } catch (Exception e) { logger.Info("\n\n----------------MYSLQ RePushToServer EXCEPTION!!!----------------\n" + e); } } logger.Info($"Repushing to server.........count = {days.Count()} FINISHED!!!"); }
private void OnProgressChanged(string progressMessage) { ProgressChangedEvent progressChangedEvent = eventAggregator.GetEvent <ProgressChangedEvent>(); progressChangedEvent.Publish(progressMessage); }
protected void RaiseProgressChanged(ProgressChangedEventArgs eventArgs) { ProgressChangedEvent?.Invoke(this, eventArgs); }
private void OnProgressChangedEvent(float value) => ProgressChangedEvent?.Invoke(value);
public List <Pokemon> ReadFile() { List <Pokemon> output = new List <Pokemon>(); Error = ""; var lines = File.ReadAllLines(FileName); int ancestorField = -1; int uniqueField = -1; int savedField = -1; int speciesNameField = -1; int atkField = -1; int defField = -1; int stamField = -1; int levelField = -1; var header = lines[0].Split(','); int index = 0; while (index < header.Length) { if (header[index] == "Ancestor?") { ancestorField = index; } if (header[index] == "Name") { speciesNameField = index; } if (header[index] == "Level") { levelField = index; } if (header[index] == "ØATT IV") { atkField = index; } if (header[index] == "ØDEF IV") { defField = index; } if (header[index] == "ØHP IV") { stamField = index; } if (header[index] == "Unique?") { uniqueField = index; } if (header[index] == "Saved") { savedField = index; } index++; } if (speciesNameField == -1) { Error = "Invalid CSV: Could not detect species name field!"; return(output); } if (levelField == -1 || atkField == -1 || defField == -1 || stamField == -1) { Error = "Invalid CSV: Could not detect level, Attack, Defense, or HP fields!"; return(output); } string speciesName; double level = 0; int atk = 0, def = 0, hp = 0; bool saved = true, appraised = true; for (int ii = 1; ii < lines.Length; ++ii) { var line = lines[ii].Split(','); if (ancestorField >= 0 && int.Parse(line[ancestorField]) == 1) { continue; } if (savedField >= 0) { saved = int.Parse(line[savedField]) == 1; } else { saved = true; } if (uniqueField >= 0) { appraised = int.Parse(line[uniqueField]) == 1; } else { appraised = true; } speciesName = line[speciesNameField]; try { level = double.Parse(line[levelField]); atk = (int)double.Parse(line[atkField]); def = (int)double.Parse(line[defField]); hp = (int)double.Parse(line[stamField]); } catch (FormatException ex) { Console.WriteLine($"Error on line {ii}, could not parse one of the essential fields!"); } var poke = new PokemonGoLib.Pokemon(speciesName, level, atk, def, hp, saved, appraised); output.Add(poke); ProgressChangedEvent?.Invoke(this, new CSVReadProgress { ReadLines = ii, TotalLines = lines.Length }); } return(output); }
protected virtual void OnProgressChanged(ProgressChangedEventArgs e) { ProgressChangedEvent?.Invoke(this, e); }
private void ProgressChanged(object sender, ProgressChangedEvent e) { BeginInvoke((Action)(() => statusStrip.Items[1].Text = e.TotalBytes.ToString())); }
private void OnProgressChanged(long newBytesReceived, long totalBytesReceived, long totalBytes, int progressPercentage) { ProgressChangedEvent?.Invoke(newBytesReceived, totalBytesReceived, totalBytes, progressPercentage); }
public void OnProgressChangedEvent(ProgressChangedEventArgs eventArgs) => ProgressChangedEvent?.Invoke(this, eventArgs);