예제 #1
0
        private void btnÄrendeFärdigt_Click(object sender, RoutedEventArgs e)
        {
            fLoader.LoadMekaniker();
            Ärende ä      = (Ärende)PågåendeÄrendenGrid.SelectedItem;
            int    äindex = fLoader.ärendeSamling.ärenden.IndexOf(ä);

            if (PågåendeÄrendenGrid.SelectedItem is Ärende)
            {
                fLoader.ärendeSamling.ärenden[äindex].ÄrendeStatus = true;
                foreach (var m in fLoader.mekSamling.mekaniker)
                {
                    if (ä.ÄrendeID == m.Id && m.Ärenden > 0)
                    {
                        m.Ärenden -= 1;
                    }
                }
                foreach (var x in fLoader.bilSamling.Bilar)
                {
                    if (ä.RegNr == x.Registreringsnummer)
                    {
                        x.ÄrendeKlart = true;
                    }
                }
                foreach (var x in fLoader.lastbilSamling.lastbilar)
                {
                    if (ä.RegNr == x.Registreringsnummer)
                    {
                        x.ÄrendeKlart = true;
                    }
                }
                foreach (var x in fLoader.motorcykelSamling.motorcyklar)
                {
                    if (ä.RegNr == x.Registreringsnummer)
                    {
                        x.ÄrendeKlart = true;
                    }
                }
                foreach (var x in fLoader.bussSamling.Bussar)
                {
                    if (ä.RegNr == x.Registreringsnummer)
                    {
                        x.ÄrendeKlart = true;
                    }
                }
                foreach (var x in fLoader.ärendeSamling.ärenden)
                {
                    if (ä.RegNr == x.RegNr)
                    {
                        x.ÄrendeStatus = true;
                    }
                }
            }
            fLoader.SaveMekaniker();
            fLoader.SaveAllFordon();
            fLoader.SaveÄrenden();
            RefreshGrid();
        }
예제 #2
0
 private void FärdigaÄrendenGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     try
     {
         string fbeskrivning = "";
         if (FärdigaÄrendenGrid.SelectedItem is Ärende)
         {
             Ärende     ä  = (Ärende)FärdigaÄrendenGrid.SelectedItem;
             Bil        b  = new Bil();
             Lastbil    lb = new Lastbil();
             Buss       bb = new Buss();
             Motorcykel mc = new Motorcykel();
             foreach (var x in fLoader.bilSamling.Bilar)
             {
                 if (ä.RegNr == x.Registreringsnummer)
                 {
                     fbeskrivning = x.ToStringBeskrivning();
                 }
             }
             foreach (var x in fLoader.lastbilSamling.lastbilar)
             {
                 if (ä.RegNr == x.Registreringsnummer)
                 {
                     fbeskrivning = x.ToStringBeskrivning();
                 }
             }
             foreach (var x in fLoader.motorcykelSamling.motorcyklar)
             {
                 if (ä.RegNr == x.Registreringsnummer)
                 {
                     fbeskrivning = x.ToStringBeskrivning();
                 }
             }
             foreach (var x in fLoader.bussSamling.Bussar)
             {
                 if (ä.RegNr == x.Registreringsnummer)
                 {
                     fbeskrivning = x.ToStringBeskrivning();
                 }
             }
             lblÄrendeBeskrivning.Content = ä.Beskrivning + "\n\n" + fbeskrivning;
         }
     }
     catch { }
 }
예제 #3
0
        private void btnSkapaÄrende_Click(object sender, RoutedEventArgs e)
        {
            bool run = true;

            while (run)
            {
                if (f is null)
                {
                    System.Windows.Forms.MessageBox.Show("Välj ett fordon!");
                    break;
                }
                if (mek is null)
                {
                    System.Windows.Forms.MessageBox.Show("Välj en mekaniker!");
                    break;
                }
                if (f != null && mek != null)
                {
                    int index = fLoader.mekSamling.mekaniker.IndexOf(mek);
                    if (mek.Ärenden >= 2)
                    {
                        System.Windows.Forms.MessageBox.Show("Meckarn har för många ärenden");
                        break;
                    }
                    else
                    {
                        fLoader.mekSamling.mekaniker[index].Ärenden += 1;
                    }
                    if (f is Bil)
                    {
                        f = f as Bil;
                    }
                    else if (f is Lastbil)
                    {
                        f = f as Lastbil;
                    }
                    else if (f is Buss)
                    {
                        f = f as Buss;
                    }
                    else if (f is Motorcykel)
                    {
                        f = f as Motorcykel;
                    }

                    ärende = new Ärende
                    {
                        RegDatum    = f.Registreringsdatum,
                        ÄrendeID    = mek.Id,
                        förnamn     = mek.förnamn,
                        efternamn   = mek.efternamn,
                        RegNr       = f.Registreringsnummer,
                        Beskrivning = beskrivning,
                        fordon      = f,
                        mekaniker   = fLoader.mekSamling.mekaniker[index]
                    };
                    fLoader.SaveMekaniker();
                    fLoader.ärendeSamling.ärenden.Add(ärende);
                    fLoader.SaveÄrenden();
                    int fIndex;
                    if (f is Bil)
                    {
                        fIndex = fLoader.bilSamling.Bilar.IndexOf(f as Bil);
                        fLoader.bilSamling.Bilar[fIndex].ÄrendeTaget = true;
                        fLoader.bilSamling.Bilar[fIndex].Id          = mek.Id;
                    }
                    if (f is Lastbil)
                    {
                        fIndex = fLoader.lastbilSamling.lastbilar.IndexOf(f as Lastbil);
                        fLoader.lastbilSamling.lastbilar[fIndex].ÄrendeTaget = true;
                        fLoader.lastbilSamling.lastbilar[fIndex].Id          = mek.Id;
                    }
                    if (f is Buss)
                    {
                        fIndex = fLoader.bussSamling.Bussar.IndexOf(f as Buss);
                        fLoader.bussSamling.Bussar[fIndex].ÄrendeTaget = true;
                        fLoader.bussSamling.Bussar[fIndex].Id          = mek.Id;
                    }
                    if (f is Motorcykel)
                    {
                        fIndex = fLoader.motorcykelSamling.motorcyklar.IndexOf(f as Motorcykel);
                        fLoader.motorcykelSamling.motorcyklar[fIndex].ÄrendeTaget = true;
                        fLoader.bussSamling.Bussar[fIndex].Id = mek.Id;
                    }
                    fLoader.SaveAllFordon();

                    System.Windows.Forms.MessageBox.Show($"Mekanikern {mek.förnamn} {mek.efternamn}" +
                                                         $" tog ärendet för fordonet {f.Modellnamn} {f.Registreringsnummer}");
                }
                VisaMekanikerTillFordon(f);
                mek = null;
                f   = null;
                RefreshGrid();
                btnVäljMekaniker.IsEnabled = true;
                btnVäljFordon.IsEnabled    = true;
                btnSkapaÄrende.Background  = Brushes.LightGray;
                run = false;
            }
        }