Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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;
            }
        }
Beispiel #3
0
 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);
     }
 }
Beispiel #4
0
 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);
        }
Beispiel #6
0
 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();
        }
Beispiel #8
0
        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!!!");
        }
Beispiel #9
0
        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
        }
Beispiel #10
0
        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;
            }
        }
Beispiel #11
0
 protected void OnProgressBarRelease(object o, ButtonReleaseEventArgs args)
 {
     clicked = false;
     ProgressChangedEvent?.Invoke(this, new ProgressChangeEventArgs(_currentProgress));
 }
Beispiel #12
0
 private void OnRaiseProgressChangedEvent(int progress)
 {
     ProgressChangedEvent?.Invoke(null, new ProgressChangedEventArgs(progress));
 }
Beispiel #13
0
 public static void Copy(string source, string destination, bool overwrite, bool nobuffering, ProgressChangedEvent handler) {
     new XCopy().CopyInternal(source, destination, overwrite, nobuffering, handler);
 }
Beispiel #14
0
        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);
        }
Beispiel #16
0
 protected void RaiseProgressChanged(ProgressChangedEventArgs eventArgs)
 {
     ProgressChangedEvent?.Invoke(this, eventArgs);
 }
 private void OnProgressChangedEvent(float value) => ProgressChangedEvent?.Invoke(value);
Beispiel #18
0
 public static void Copy(string source, string destination, bool overwrite, bool nobuffering, ProgressChangedEvent handler)
 {
     new XCopy().CopyInternal(source, destination, overwrite, nobuffering, handler);
 }
Beispiel #19
0
        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);
 }
Beispiel #21
0
 private void ProgressChanged(object sender, ProgressChangedEvent e)
 {
     BeginInvoke((Action)(() => statusStrip.Items[1].Text = e.TotalBytes.ToString()));
 }
Beispiel #22
0
 private void OnProgressChanged(long newBytesReceived, long totalBytesReceived, long totalBytes, int progressPercentage)
 {
     ProgressChangedEvent?.Invoke(newBytesReceived, totalBytesReceived, totalBytes, progressPercentage);
 }
Beispiel #23
0
 public void OnProgressChangedEvent(ProgressChangedEventArgs eventArgs) => ProgressChangedEvent?.Invoke(this, eventArgs);