/// <summary>
        /// Method, that returns a Contact
        /// </summary>
        /// <param name="entrepeneur">string</param>
        /// <returns>Contact</returns>
        private Contact GetContact(string entrepeneur)
        {
            SubEntrepeneur sub     = GetSubEntrepeneur(entrepeneur);
            Contact        contact = sub.Contact;

            return(contact);
        }
        /// <summary>
        /// Method, that checks, wether a request has already been sent to SubEntrepeneur
        /// </summary>
        /// <param name="subEntrepeneur">SubEntrepeneur</param>
        /// <returns>bool</returns>
        private bool CheckRequestSent(SubEntrepeneur subEntrepeneur)
        {
            bool result = false;

            if (subEntrepeneur.Request.Status.Id >= 1)
            {
                result = true;
            }

            return(result);
        }
        private SubEntrepeneur GetSubEntrepeneur(string entrepeneur)
        {
            SubEntrepeneur tempSub = new SubEntrepeneur();

            foreach (SubEntrepeneur sub in ProjectSubEntrepeneurs)
            {
                if (sub.Entrepeneur.Id == entrepeneur)
                {
                    tempSub = sub;
                }
            }
            return(tempSub);
        }
示例#4
0
        private SubEntrepeneur GetSubEntrepeneur(string entrepeneur)
        {
            SubEntrepeneur result = new SubEntrepeneur();

            foreach (SubEntrepeneur sub in ProjectSubEntrepeneurs)
            {
                if (sub.Entrepeneur.Id == entrepeneur)
                {
                    result = sub;
                }
            }
            return(result);
        }
        /// <summary>
        /// Method, that generates a receiver from Indexed SubEntrepeneur
        /// </summary>
        /// <param name="selectedItem"></param>
        /// <returns>Receiver</returns>
        private Receiver GenerateReceiver(SubEntrepeneur subEntrepeneur)
        {
            Receiver result = new Receiver();

            result.Cvr       = subEntrepeneur.Entrepeneur.Entity.Cvr;
            result.Name      = subEntrepeneur.Entrepeneur.Entity.Name;
            result.Attention = subEntrepeneur.Contact.Person.Name;
            result.Street    = subEntrepeneur.Entrepeneur.Entity.Address.Street;
            result.Place     = subEntrepeneur.Entrepeneur.Entity.Address.Place;
            result.ZipTown   = subEntrepeneur.Entrepeneur.Entity.Address.ZipTown.ToString();
            result.Email     = subEntrepeneur.Contact.Person.ContactInfo.Email;

            return(result);
        }
        private void ButtonDelete_Click(object sender, RoutedEventArgs e)
        {
            bool allSubEntrepeneursDeleted  = true;
            bool allRequestsDeleted         = true;
            bool allIttLettersDeleted       = true;
            bool allOffersDeleted           = true;
            bool allEnterprisesDeleted      = true;
            bool someSubEntrepeneursDeleted = false;
            bool someRequestsDeleted        = false;
            bool someIttLettersDeleted      = false;
            bool someOffersDeleted          = false;
            bool someEnterprisesDeleted     = false;
            bool result = false;

            if (CheckBoxEraseProject.IsChecked == true)
            {
                if (MessageBox.Show("Er du sikker på, at du vil slette projektet? Alle projektets data inkl. entrepriser & underentrepenører vil gå tabt!", "Projekter", MessageBoxButton.OKCancel, MessageBoxImage.Warning) == MessageBoxResult.OK)
                {
                    try
                    {
                        foreach (Enterprise enterprise in CBZ.Enterprises)
                        {
                            if (enterprise.Project.Id == CBZ.TempProject.Case)
                            {
                                foreach (SubEntrepeneur subEntrepeneur in CBZ.SubEntrepeneurs)
                                {
                                    if (subEntrepeneur.Enterprise.Id == enterprise.Id)
                                    {
                                        SubEntrepeneur sub = new SubEntrepeneur(subEntrepeneur);
                                        // Code that deletes SubEntrepeneur
                                        bool subEntrepeneurDeleted = CBZ.DeleteFromDb("SubEntrepeneurs", sub.Id.ToString());
                                        if (subEntrepeneurDeleted && !someSubEntrepeneursDeleted)
                                        {
                                            someSubEntrepeneursDeleted = true;

                                            // Code that deletes Request
                                            bool requestDeleted = CBZ.DeleteFromDb("Requests", sub.Request.Id.ToString());
                                            if (requestDeleted && !someRequestsDeleted)
                                            {
                                                someRequestsDeleted = true;
                                            }
                                            else if (!requestDeleted && allRequestsDeleted)
                                            {
                                                allRequestsDeleted = false;
                                            }

                                            // Code that deletes IttLetter
                                            bool ittLetterDeleted = CBZ.DeleteFromDb("IttLetters", sub.IttLetter.Id.ToString());
                                            if (ittLetterDeleted && !someIttLettersDeleted)
                                            {
                                                someIttLettersDeleted = true;
                                            }
                                            else if (!ittLetterDeleted && allIttLettersDeleted)
                                            {
                                                allIttLettersDeleted = false;
                                            }

                                            // Code that deletes Offer
                                            bool offerDeleted = CBZ.DeleteFromDb("Offers", sub.Offer.Id.ToString());
                                            if (offerDeleted && !someOffersDeleted)
                                            {
                                                someOffersDeleted = true;
                                            }
                                            else if (!offerDeleted && allOffersDeleted)
                                            {
                                                allOffersDeleted = false;
                                            }
                                        }
                                        else if (!someSubEntrepeneursDeleted && allSubEntrepeneursDeleted)
                                        {
                                            allSubEntrepeneursDeleted = false;
                                            allRequestsDeleted        = false;
                                            allIttLettersDeleted      = false;
                                            allOffersDeleted          = false;
                                        }
                                    }
                                }

                                // Code that deletes Enterprise
                                if (someSubEntrepeneursDeleted)
                                {
                                    bool enterpriseDeleted = CBZ.DeleteFromDb("Enterprises", enterprise.Id.ToString());
                                    if (enterpriseDeleted && !someEnterprisesDeleted)
                                    {
                                        someEnterprisesDeleted = true;
                                    }
                                    else if (!enterpriseDeleted && allEnterprisesDeleted)
                                    {
                                        allEnterprisesDeleted = false;
                                    }
                                }
                            }

                            if (someEnterprisesDeleted)
                            {
                                // Code that deletes Project
                                result = CBZ.DeleteFromDb("Projects", CBZ.TempProject.Id.ToString());
                                if (result)
                                {
                                    //Show results
                                    ShowDependencystatus(allSubEntrepeneursDeleted, allRequestsDeleted, allIttLettersDeleted, allOffersDeleted, allEnterprisesDeleted, someSubEntrepeneursDeleted, someRequestsDeleted, someIttLettersDeleted, someOffersDeleted, someEnterprisesDeleted);

                                    MessageBox.Show("Projektet blev slettet", "Projekter", MessageBoxButton.OK, MessageBoxImage.Information);
                                }
                                else
                                {
                                    //Show results
                                    ShowDependencystatus(allSubEntrepeneursDeleted, allRequestsDeleted, allIttLettersDeleted, allOffersDeleted, allEnterprisesDeleted, someSubEntrepeneursDeleted, someRequestsDeleted, someIttLettersDeleted, someOffersDeleted, someEnterprisesDeleted);

                                    MessageBox.Show("Projektet blev ikke slettet", "Projekter", MessageBoxButton.OK, MessageBoxImage.Error);
                                }
                            }

                            //Reset form
                            ComboBoxCaseId.SelectedIndex   = -1;
                            CheckBoxEraseProject.IsChecked = false;

                            //Update list of projects
                            CBZ.RefreshIndexedList("SubEntrepeneurs");
                        }
                    }
                    catch (Exception ex)
                    {
                        //Show results
                        ShowDependencystatus(allSubEntrepeneursDeleted, allRequestsDeleted, allIttLettersDeleted, allOffersDeleted, allEnterprisesDeleted, someSubEntrepeneursDeleted, someRequestsDeleted, someIttLettersDeleted, someOffersDeleted, someEnterprisesDeleted);

                        MessageBox.Show("Databasen returnerede en fejl. Projektet blev ikke slettet. Prøv igen.\n" + ex, "Projekter", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
            }
            else
            {
                //Show error
                MessageBox.Show("Du har glemt at markere 'Godkend sletning af projekt'.", "Projekter", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }