Ejemplo n.º 1
0
        public static IEnumerable <rit_instantie> getRitInstanties(contract_rit rit)
        {
            var query = (from ri in dc.rit_instanties
                         where ri.contract_rit == rit
                         select ri);

            return(query);
        }
Ejemplo n.º 2
0
        public static opdracht getContract(contract_rit cr)
        {
            var query = (from ocr in dc.opdracht_contract_rits
                         where ocr.contract_rit == cr
                         select ocr.opdracht).Single();

            return(query);
        }
Ejemplo n.º 3
0
        public static void addRitInstantie(contract_rit rit, DateTime datum)
        {
            rit_instantie rit_instantie = new rit_instantie();

            rit_instantie.datum = datum;
            rit.rit_instanties.Add(rit_instantie);
            dc.SubmitChanges();
        }
Ejemplo n.º 4
0
        public static IEnumerable <rit_instantie> getRitInstantiesVoorChart(contract_rit rit)
        {
            var query = (from ri in dc.rit_instanties
                         where ri.contract_rit == rit
                         where ri.datum != null
                         select ri);

            return(query);
        }
Ejemplo n.º 5
0
        public static rit_instantie GetRitInstantie(contract_rit rit, DateTime datum)
        {
            var query = (from su in dc.rit_instanties
                         where su.contract_rit_id == rit.contract_rit_id && su.datum == datum
                         select su);

            if (query.Count() > 0)
            {
                return(query.Single());
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 6
0
        public static void deleteRitInstanties(contract_rit rit)
        {
            //eerste all rit instanties verwijderen
            var query = (from ri in dc.rit_instanties
                         where ri.contract_rit == rit
                         select ri);

            //Alle verbonden rit_info verwijderen van de instanties
            foreach (rit_instantie instantie in query)
            {
                deleteRitInfo(instantie);
            }

            dc.rit_instanties.DeleteAllOnSubmit(query);
            dc.SubmitChanges();
        }
Ejemplo n.º 7
0
        //gaan kijken of dat rit bestaat, als deze niet bestaat true weergeven zodat deze kan toegevoegd worden
        public static Boolean bestaatRit(opdracht contract, contract_rit rit)
        {
            var query = (from ocr in dc.opdracht_contract_rits
                         where ocr.opdracht == contract && ocr.contract_rit.dag == rit.dag && ocr.contract_rit.rit1_terug == rit.rit1_terug &&
                         ocr.contract_rit.rit1_vertrek == rit.rit1_vertrek && ocr.contract_rit.rit2_vertrek == rit.rit2_vertrek && ocr.contract_rit.rit2_terug == rit.rit2_terug
                         select ocr.contract_rit);

            if (query.Any() == false)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Ejemplo n.º 8
0
        //Een specifieke rit verwijderen (en zijn rit_instanties)
        public static void deleteRit(opdracht contract, contract_rit rit)
        {
            var quer = (from ri in dc.rit_instanties
                        where ri.contract_rit == rit
                        select ri);

            dc.rit_instanties.DeleteAllOnSubmit(quer);
            dc.SubmitChanges();

            var query = (from cr in dc.contract_rits
                         where cr == rit
                         select cr).Single();

            dc.contract_rits.DeleteOnSubmit(query);

            var query2 = (from ocr in dc.opdracht_contract_rits
                          where ocr.opdracht == contract && ocr.contract_rit == rit
                          select ocr).Single();

            dc.opdracht_contract_rits.DeleteOnSubmit(query2);
            dc.SubmitChanges();
        }
Ejemplo n.º 9
0
        public static void RemoveRitInstantie(contract_rit rit, DateTime Date)
        {
            ////dan de nieuwe toevoegen
            //rit.rit_instanties.Add(instantie);
            //dc.SubmitChanges();
            var query = from dh in dc.rit_instanties
                        where dh.contract_rit == rit &&
                        dh.datum.Year == Date.Year &&
                        dh.datum.Month == Date.Month &&
                        dh.datum.Day == Date.Day
                        select dh;

            if (query != null)
            {
                foreach (rit_instantie instance in query)
                {
                    try
                    {
                        dc.rit_instanties.DeleteOnSubmit(instance);
                        dc.SubmitChanges();
                    }
                    catch {
                        DialogResult dialogResult = MessageBox.Show(instance.datum.ToShortDateString() + " bevat alreeds ritinfo. Ben je zeker dat je deze datum wil verwijderen?", "Opgelet", MessageBoxButtons.YesNo);
                        if (dialogResult == DialogResult.Yes)
                        {
                            dc.rit_infos.DeleteAllOnSubmit(instance.rit_infos);
                            dc.SubmitChanges();
                            dc.rit_instanties.DeleteOnSubmit(instance);
                            dc.SubmitChanges();
                        }
                        else if (dialogResult == DialogResult.No)
                        {
                            //do something else
                        }
                    }
                }
            }
        }
Ejemplo n.º 10
0
 public static void addRitInstantie(contract_rit rit, rit_instantie instantie)
 {
     //dan de nieuwe toevoegen
     rit.rit_instanties.Add(instantie);
     dc.SubmitChanges();
 }
Ejemplo n.º 11
0
        private void btnOpslaan_Click(object sender, EventArgs e)
        {
            //Validatie
            if (Validation.hasValidationErrors(this.Controls))
            {
                return;
            }
            //als validatie geslaagd is
            //if (btnOpslaan.Name == "btnAanmaken")
            if (cbbID.Visible == false)
            {
                opdracht nieuwContract = ContractManagement.addContract((klant)cbbKlant.SelectedItem, dtVan.Value, dtTot.Value,
                                                                        Byte.Parse(txtPlaatsen.Text), txtOmschrijving.Text, txtGezelschap.Text, txtMemo.Text,
                                                                        Decimal.Parse(txtDagprijs.Text), true);


                //Vertreklocatie toevoegen aan opdracht
                locatie vertrek = (locatie)cbbVertrek.SelectedItem;
                ContractManagement.addLocatie(nieuwContract, vertrek, "vertrek");

                //Bestemming locatie toevoegen aan opdracht
                locatie bestemming = (locatie)cbbBestemming.SelectedItem;
                ContractManagement.addLocatie(nieuwContract, bestemming, "bestemming");

                //opstap_1 locatie toevoegen aan opdracht
                locatie opstap_1 = (locatie)cbbOpstap_1.SelectedItem;
                ContractManagement.addLocatie(nieuwContract, opstap_1, "opstap_1");

                //opstap_2 locatie toevoegen aan opdracht
                locatie opstap_2 = (locatie)cbbOpstap_2.SelectedItem;
                ContractManagement.addLocatie(nieuwContract, opstap_2, "opstap_2");

                foreach (ucRit ucRit in flpRitten.Controls)
                {
                    contract_rit rit = new contract_rit();
                    rit.dag          = ucRit.dag;
                    rit.rit1_terug   = ucRit.terug_1;
                    rit.rit2_terug   = ucRit.terug_2;
                    rit.rit1_vertrek = ucRit.vertrek_1;
                    rit.rit2_vertrek = ucRit.vertrek_2;

                    opdracht_contract_rit ocr = new opdracht_contract_rit();
                    ocr.contract_rit = rit;
                    ocr.opdracht     = nieuwContract;

                    ContractManagement.addRitBijContract(ocr);
                }


                //Voor elke usercontrol ucChauffeurkiezer in flpChauffeurs een nieuwe chauffeur link toevoegen aan de veel op veel tussentabel
                foreach (ucChauffeurKiezer cha in flpChauffeurs.Controls)
                {
                    opdracht_chauffeur oc = new opdracht_chauffeur();
                    oc.opdracht  = nieuwContract;
                    oc.chauffeur = cha.chauffeur;

                    ContractManagement.addChauffeurBijContract(oc);
                }

                //Voor elke usercontrol ucVoertuigKiezer in flpVoertuigen een nieuwe voertuig link toevoegen aan de veel op veel tussentabel
                foreach (ucVoertuigKiezer voe in flpVoertuigen.Controls)
                {
                    opdracht_voertuig ov = new opdracht_voertuig();
                    ov.opdracht = nieuwContract;
                    ov.voertuig = voe.voertuig;

                    ContractManagement.addVoertuigBijOpdracht(ov);
                }

                cbbID.DataSource = ContractManagement.getContracten();
                //cbbID.SelectedIndex = cbbID.Items.Count - 1;
                cbbID.SelectedItem    = nieuwContract;
                cbbID.Visible         = true;
                MainForm.updateStatus = "Het contract met ID: " + nieuwContract.opdracht_id + ", is succesvol aangemaakt.";
            }
            //else if (btnOpslaan.Name == "btnOpslaan")
            else if (cbbID.Visible == true)
            {
                opdracht oudContract    = (opdracht)cbbID.SelectedItem;
                opdracht updateContract = ContractManagement.updateContract(oudContract.opdracht_id, (klant)cbbKlant.SelectedItem,
                                                                            dtVan.Value, dtTot.Value,
                                                                            Byte.Parse(txtPlaatsen.Text), txtOmschrijving.Text, txtGezelschap.Text, txtMemo.Text,
                                                                            Decimal.Parse(txtDagprijs.Text), true);

                //Vertreklocatie toevoegen aan opdracht
                locatie vertrek = (locatie)cbbVertrek.SelectedItem;
                ContractManagement.addLocatie(updateContract, vertrek, "vertrek");

                //Bestemming locatie toevoegen aan opdracht
                locatie bestemming = (locatie)cbbBestemming.SelectedItem;
                ContractManagement.addLocatie(updateContract, bestemming, "bestemming");

                //opstap_1 locatie toevoegen aan opdracht
                locatie opstap_1 = (locatie)cbbOpstap_1.SelectedItem;
                ContractManagement.addLocatie(updateContract, opstap_1, "opstap_1");

                //opstap_2 locatie toevoegen aan opdracht
                locatie opstap_2 = (locatie)cbbOpstap_2.SelectedItem;
                ContractManagement.addLocatie(updateContract, opstap_2, "opstap_2");


                foreach (contract_rit rit in ContractManagement.getRitten(updateContract.opdracht_id))
                {
                    Boolean bestaat = false;

                    foreach (ucRit ucRit in flpRitten.Controls)
                    {
                        contract_rit schermrit = new contract_rit();
                        schermrit.dag          = ucRit.dag;
                        schermrit.rit1_terug   = ucRit.terug_1;
                        schermrit.rit2_terug   = ucRit.terug_2;
                        schermrit.rit1_vertrek = ucRit.vertrek_1;
                        schermrit.rit2_vertrek = ucRit.vertrek_2;

                        if (rit.dag == schermrit.dag && rit.rit1_terug == schermrit.rit1_terug && rit.rit1_vertrek == schermrit.rit1_vertrek &&
                            rit.rit2_terug == schermrit.rit2_terug && rit.rit2_vertrek == schermrit.rit2_vertrek)
                        {
                            bestaat = true;
                            break;
                        }
                    }

                    if (bestaat == false)
                    {
                        ContractManagement.deleteRit(updateContract, rit);
                    }
                }


                foreach (ucRit ucRit in flpRitten.Controls)
                {
                    contract_rit rit = new contract_rit();
                    rit.dag          = ucRit.dag;
                    rit.rit1_terug   = ucRit.terug_1;
                    rit.rit2_terug   = ucRit.terug_2;
                    rit.rit1_vertrek = ucRit.vertrek_1;
                    rit.rit2_vertrek = ucRit.vertrek_2;

                    if (ContractManagement.bestaatRit(updateContract, rit) == false)
                    {
                        opdracht_contract_rit ocr = new opdracht_contract_rit();
                        ocr.contract_rit = rit;
                        ocr.opdracht     = updateContract;

                        ContractManagement.addRitBijContract(ocr);
                    }
                    else
                    {
                    }
                }


                //Voor elke usercontrol ucChauffeurkiezer in flpChauffeurs een nieuwe chauffeur link toevoegen aan de veel op veel tussentabel
                foreach (ucChauffeurKiezer cha in flpChauffeurs.Controls)
                {
                    opdracht_chauffeur oc = new opdracht_chauffeur();
                    oc.opdracht  = updateContract;
                    oc.chauffeur = cha.chauffeur;

                    ContractManagement.addChauffeurBijContract(oc);
                }

                //Voor elke usercontrol ucVoertuigKiezer in flpVoertuigen een nieuwe voertuig link toevoegen aan de veel op veel tussentabel
                foreach (ucVoertuigKiezer voe in flpVoertuigen.Controls)
                {
                    opdracht_voertuig ov = new opdracht_voertuig();
                    ov.opdracht = updateContract;
                    ov.voertuig = voe.voertuig;

                    ContractManagement.addVoertuigBijOpdracht(ov);
                }

                MainForm.updateStatus = "Het contract met ID: " + updateContract.opdracht_id + ", is succesvol aangepast.";
            }
        }