Ejemplo n.º 1
0
        private void WorkerFile_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            string       text;
            MessageTitle title = new MessageTitle();

            if (e.Cancelled)
            {
                text  = "Validacija datoteka od Columbia State modifikacije je prekunita.\n";
                text += "Ne možete se spojiti na server sve dok uspješno ne završite validaciju.";
                MessageBoxAdv.Show(text, title.WarningMsg, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                //workerFile.CancelAsync();
                //text = String.Format("Tokom provjere došlo je do neovlaštene izmjene fajlova.\nAplikacija iz sigurnostnih razloga bit æe zatvorena, pokušajte ponovo.");
                //MessageBoxAdv.Show(text, title.ErrorMsg, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                //Application.Exit();
                this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
                this.Close();
                //return;
            }
            else if (this.fileUnknown > 0 || this.fileMissed > 0 || this.fileIncorrect > 0)
            {
                text  = "Vaša modifikacija sadrži nekoliko pogrešaka sa datotekama.\n";
                text += "Da li želite detaljno pogledati listu datoteka sa greškom?.";
                if (MessageBoxAdv.Show(text, title.ErrorMsg, MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.Yes)
                {
                    FileForm ff = new FileForm(this.errorFiles);
                    ff.FileMissed    = this.fileMissed;
                    ff.FileUnknown   = this.fileUnknown;
                    ff.FileIncorrect = this.fileIncorrect;
                    ff.FileTotal     = Launcher.Name.Length;

                    ff.ShowDialog();
                }

                //ako potoje nepoznate datoteke, ponudit ce se brisanje istih
                //i ako se izvede brisanje onda ce se nastaviti sa vlidacijom
                if (this.fileUnknown > 0)
                {
                    text  = "Da bih ste se uspješno spojili na server potrebno je da uklonite nepoznate fajlove.\n";
                    text += "Da li želite sada ukloniti nepoznate fajlove i tako omoguæiti uspješnu validaciju datoteka?\n";
                    text += "Napomena, datoteke koje su u listi tj. zapisniku oznaèene kao nepoznate æe biti trajno uklonjene.";
                    if (MessageBoxAdv.Show(text, title.ErrorMsg, MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.Yes)
                    {
                        Library  libs = new Library();
                        DataFile df   = new DataFile();
                        df.ReadUnknown(Launcher.Name, libs.Name);
                        foreach (string file in df.UnknownFiles)
                        {
                            if (!File.Exists(file))
                            {
                                continue;
                            }
                            File.Delete(file);
                        }

                        text = "Nepoznate datoteke su uspješno obrisane, sada možete nastaviti.";
                        MessageBoxAdv.Show(text, title.InfoMsg, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        //korisnik je odabrao da ne zeli ukloniti nepoznate fajlove
                        //time se validacija ne ispunjava i prekida se zatvaranjem forme
                        this.DialogResult = System.Windows.Forms.DialogResult.Abort;
                        this.Close();
                        return;
                    }
                }

                //ako potoje nedotajuce i nekorektne datoteke onda ce biti ponudjeno skidanje istih
                //u slucaju da se uspjesno izvede validacija ce biti nastavljena dalje;
                if (this.fileMissed > 0 || this.fileIncorrect > 0)
                {
                    long lenght = 0;
                    //sabira se ukupna velicina svih pojedinih fajlova na listi za download
                    foreach (int id in this.id)
                    {
                        lenght += Launcher.Size[id];
                    }
                    text  = "Da bih ste se spojili uspješno na server sve datoteke trebaju biti validne.\n";
                    text += "Da li želite sada skinuti potrebne datotke i tako omoguæiti uspješnu validaciju?\n";
                    text += String.Format("Napomena, broj datoteka za skidanje je {0} i ukupna velièina je {1:0.00}MB.", this.fileMissed + this.fileIncorrect, lenght / 1048576.0);
                    if (MessageBoxAdv.Show(text, title.ErrorMsg, MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.Yes)
                    {
                        this.Hide();
                        DownloadForm dw = new DownloadForm();
                        foreach (int index in this.id)
                        {
                            dw.Id.Add(index);
                        }
                        if (dw.ShowDialog() == DialogResult.Abort)
                        {
                            //ažuriranje datoteka nije uspješno izvršeno i validacija se prekida;
                            text  = "Skidanje i ažuriranje datoteka sa servisa nije uspješno izvršeno.\n";
                            text += "Nažalost validacija ne može biti nastavljena dalje, pokušajte ponovo.\n";
                            text += "U sluèaju da ne može proæi postupak validacije, obratite se na forumu.";
                            MessageBoxAdv.Show(text, title.ErrorMsg, MessageBoxButtons.OK, MessageBoxIcon.Error);
                            this.DialogResult = System.Windows.Forms.DialogResult.Abort;
                            this.Close();
                            return;
                        }

                        /*if (dw.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
                         *  this.DialogResult = System.Windows.Forms.DialogResult.OK;
                         * else
                         *  this.DialogResult = System.Windows.Forms.DialogResult.Abort;*/
                    }
                    else
                    {
                        //korisnik je odabrao da ne zeli skinuti protrebne fajlove
                        //time validacija ne može biti zadovoljena i forma se zatvara
                        this.DialogResult = System.Windows.Forms.DialogResult.Abort;
                        this.Close();
                        return;
                    }
                }
            }

            /*else if (this.id.Count > 0)
             * {
             *  text = String.Format("Ukupno ima {0} fajlova za ažuriranje.\nDa li želite sada izvršiti nadogradnju istih?", this.id.Count);
             *  if (MessageBoxAdv.Show(text, title.WarningMsg, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == System.Windows.Forms.DialogResult.Yes)
             *  {
             *      DownloadForm dw = new DownloadForm(true);
             *      foreach (int index in this.id) dw.Id.Add(index);
             *
             *      if (dw.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
             *          this.DialogResult = System.Windows.Forms.DialogResult.OK;
             *      else
             *          this.DialogResult = System.Windows.Forms.DialogResult.Abort;
             *  }
             *  else
             *  {
             *      this.DialogResult = System.Windows.Forms.DialogResult.Abort;
             *  }
             * }
             * else
             * {
             *  this.DialogResult = System.Windows.Forms.DialogResult.OK;
             * }*/

#if DEBUG
            /*Library lib = new Library();
             * if (!lib.Valid())
             * {
             *  text = "Columbia State Launcher biblioteke nisu validne!";
             *  MessageBoxAdv.Show(text, title.ErrorMsg, MessageBoxButtons.OK, MessageBoxIcon.Stop);
             *  this.DialogResult = System.Windows.Forms.DialogResult.Abort;
             * }*/
#endif

            //this.fileStream.Clear();
            //this.fileStream = null;
            //GC.Collect();
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
Ejemplo n.º 2
0
        private void workerLoad_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            this.Hide();
            MessageTitle title = new MessageTitle();

            if (e.Result.ToString() == ErrorResult.Work.ToString())
            {
                string text = "Instanca aplikacije Columbia State Launcher-a je veæ pokrenuta.\n" +
                              "Pokretanje više instanci nije dozvoljeno i ista neæe biti startovana.";

                MessageBoxAdv.Show(text, title.ErrorMsg, MessageBoxButtons.OK, MessageBoxIcon.Stop);
                Application.Exit();
                return;
            }
            else if (e.Result.ToString() == ErrorResult.Service.ToString())
            {
                string text = "Prijava na servis Columbia State moda nije uspješno izvršena.\n" +
                              "Pokušajte ponovo ili evidentirajte vašu grešku na forum.";
                MessageBoxAdv.Show(text, title.ErrorMsg, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.Exit();
                return;
            }
            else if (e.Result.ToString() == ErrorResult.Edit.ToString())
            {
                ProcessKiller killer = new ProcessKiller();

                killer.Samp();
                killer.SanAndreas();
                killer.Host();

                string text = "Naziv Columbia State Launcher aplikacije je neovlašteno izmjenjen!\n" +
                              "Svaka neovlaštena izmjena smatra se pokušajem nanoštenja štete istoj.\n" +
                              "Napomena, nažalost aplikacija se iz sigurnostnih razloga neæe pokrenuti.";

                MessageBoxAdv.Show(text, title.ErrorMsg, MessageBoxButtons.OK, MessageBoxIcon.Stop);

                Application.Exit();
                return;
            }
            else if (e.Result.ToString() == ErrorResult.Network.ToString())
            {
                Network net = new Network();
                MessageBoxAdv.Show(net.Error, title.ErrorMsg, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.Exit();
                return;
            }
            else if (e.Result.ToString() == ErrorResult.Database.ToString())
            {
                string text = "Konekcija sa bazom podataka je neuspješna.\nKontaktirajte administratora na forumu ili pokušajte ponovo.";
                MessageBoxAdv.Show(text, title.ErrorMsg, MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.Exit();
                return;
            }
            else if (e.Result.ToString() == ErrorResult.Unknown.ToString())
            {
                long size = 0;
                foreach (string file in unknownFiles)
                {
                    if (System.IO.File.Exists(file))
                    {
                        FileInfo info = new FileInfo(file);
                        size += info.Length;
                        //size += new System.IO.FileInfo(file).Length;
                    }
                }
                double total = size / 1048576.0;

                string message = String.Format("Vaša modifikacija sadrži {0} nepoznatih datoteka, velièine {1:0.00} MB.\n", unknownFiles.Count, total) +
                                 "Da li želite iste obrisati sada i nastaviti sa uèitavanem launcher-a?\n" +
                                 "Napomena, aplikacija se neæe uèitati dok postoje strane nepredviðene datoteke.";

                if (System.Windows.Forms.DialogResult.Yes == MessageBoxAdv.Show(message, title.WarningMsg, MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
                {
                    try
                    {
                        foreach (string name in this.unknownFiles)
                        {
                            System.IO.File.Delete(name);
                        }

                        message = "Nepoznate datoteke su uspješno uklonjene, launcher æe se ponovo uèitati.";
                        MessageBoxAdv.Show(message, title.InfoMsg, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        this.workerLoad.RunWorkerAsync();
                        return;
                    }
                    catch (Exception)
                    {
                        message = "Nepoznate datoteke nisu uspješno izbrisane, uèinite mehanièki uklanjanje!";
                        MessageBoxAdv.Show(message, title.ErrorMsg, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }

                Application.Exit();
                return;
            }
            else if (e.Result.ToString() == ErrorResult.Missed.ToString())
            {
                long size = 0;
                foreach (int id in missedFiles)
                {
                    if (System.IO.File.Exists(Launcher.Name[id]))
                    {
                        size += new System.IO.FileInfo(Launcher.Name[id]).Length;
                    }
                }

                string message = String.Format("Vašoj modifikaciji nedostaje {0} datoteka, ukupne velièine {1:0.00} MB.\n", missedFiles.Count, size / 1048576.0) +
                                 "Da li želite iste skinuti sada i nastaviti sa uèitavanem launcher-a?\n" +
                                 "Napomena, aplikacija se neæe uèitati dok sve datoteke ne budu ažurirane.";

                if (System.Windows.Forms.DialogResult.Yes == MessageBoxAdv.Show(message, title.WarningMsg, MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
                {
                    DownloadForm dw = new DownloadForm();
                    foreach (int index in this.missedFiles)
                    {
                        dw.Id.Add(index);
                    }

                    if (dw.ShowDialog(this) == System.Windows.Forms.DialogResult.Abort)
                    {
                        message = "Nažalost skidanje novih datoteka nije uspješno izvršeno do kraja.\n" +
                                  "Columbia State Launcher ne može nastaviti sa daljnjim uèitavanjem.\n" +
                                  "Potražiti na forumu upustvo za pogrešku ovog tipa ili evidentirajte istu.";

                        MessageBoxAdv.Show(message, title.ErrorMsg, MessageBoxButtons.OK, MessageBoxIcon.Error);
                        Process.Start("https://columbia-state.com/");
                        Application.Exit();
                        return;
                    }
                }
                else
                {
                    Application.Exit();
                    return;
                }
            }

            if (Launcher.Working == false)
            {
                string text = "Columbia State Server je trenutno u procesu nadogradnje, pokušajte kasnije!";
                MessageBoxAdv.Show(text, title.ErrorMsg, MessageBoxButtons.OK, MessageBoxIcon.Error);

                Application.Exit();
                return;
            }

            mainForm.Show();
        }