コード例 #1
0
ファイル: IncomeChecker.cs プロジェクト: piotled/BD
        public static IncomeModel checkIncome(Budynki budynek, DateTime?startDate, DateTime?endDate)
        {
            List <FakturyNapraw> expenseBills;
            List <Platnosci>     incomeBills;

            double totalIncome  = 0;
            double totalExpense = 0;

            using (var ctx = new DBProjectEntities())
            {
                var residences = ctx.Mieszkania.Where(x => x.id_budynku == budynek.id)
                                 .Include(i => i.Usterki
                                          .Select(s => s.Naprawy
                                                  .Select(ss => ss.FakturyNapraw)))
                                 .Include(i => i.Wynajmy.Select(s => s.Platnosci));

                if (startDate == null && endDate == null)
                {
                    foreach (var residence in residences)
                    {
                        incomeBills = residence.Wynajmy.SelectMany(s => s.Platnosci).ToList();
                        incomeBills.ForEach(x => totalIncome += x.cena);

                        expenseBills = residence.Usterki.SelectMany(s => s.Naprawy.SelectMany(ss => ss.FakturyNapraw)).ToList();
                        expenseBills.ForEach(x => totalExpense += x.cena);
                    }
                }
                else
                {
                    foreach (var residence in residences)
                    {
                        incomeBills = residence.Wynajmy.SelectMany(s => s.Platnosci).Where(x => x.data_platnosci > startDate && x.data_platnosci < endDate).ToList();
                        incomeBills.ForEach(x => totalIncome += x.cena);

                        expenseBills = residence.Usterki.SelectMany(s => s.Naprawy.SelectMany(ss => ss.FakturyNapraw).Where(x => x.data_platnosci > startDate && x.data_platnosci < endDate)).ToList();
                        expenseBills.ForEach(x => totalExpense += x.cena);
                    }
                }
            }

            var buildingCosts = new IncomeModel
            {
                Id         = idx,
                przychod   = totalIncome,
                wydatek    = totalExpense,
                profit     = totalIncome - totalExpense,
                id_budynku = budynek.id,
                adres      = budynek.adres_budynku
            };

            idx++;

            return(buildingCosts);
        }
コード例 #2
0
        private void end()
        {
            Budynki New = new Budynki();

            New.Nazwa       = t_nazwa.Text;
            New.TelMenadzer = t_telmenadzera.Text;
            New.TelRecepcja = t_telrecepcja.Text;
            if (t_adresid.Text != "")
            {
                New.Adresy_Id = Int32.Parse(t_adresid.Text);
            }
            New.Opis = t_opis.Text;

            ReturnValue = New;
        }
コード例 #3
0
        private Budynki Current_Cursor_Budynki()
        {
            DataGridViewRow n = dataGridView2.CurrentRow;

            String[] substrings = n.AccessibilityObject.Value.Split(';');

            Budynki Budynek_Kursor = new Budynki();

            Budynek_Kursor.Id          = Int32.Parse(substrings[0]);
            Budynek_Kursor.Nazwa       = substrings[1];
            Budynek_Kursor.Opis        = substrings[2];
            Budynek_Kursor.TelMenadzer = substrings[3];
            Budynek_Kursor.TelRecepcja = substrings[4];
            Budynek_Kursor.Adresy_Id   = Int32.Parse(substrings[5]);

            return(Budynek_Kursor);
        }
コード例 #4
0
        private void button11_Click(object sender, EventArgs e)
        {
            Budynki          Budynek_Kursor   = Current_Cursor_Budynki();
            Form_add_budynek form_Add_Budynek = new Form_add_budynek(2, Budynek_Kursor);
            int saveRow    = dataGridView2.CurrentCell.RowIndex;
            int saveColumn = dataGridView2.CurrentCell.ColumnIndex;

            form_Add_Budynek.SetDesktopLocation(this.Location.X + this.Size.Width, this.Location.Y);
            var result = form_Add_Budynek.ShowDialog();

            if (result == DialogResult.OK)
            {
                DataClasses1DataContext dc = new DataClasses1DataContext(con);
                Budynki DeletingBudynek    = dc.Budynkis.FirstOrDefault(adr => adr.Id.Equals(Budynek_Kursor.Id));

                dc.Budynkis.DeleteOnSubmit(DeletingBudynek);

                try
                {
                    dc.SubmitChanges();
                    MONGO.MongoDB.Add_action(Login, "Usunieto budynek (" + DeletingBudynek.Nazwa + ")", DateTime.Now);
                    var selectQuery2 = from a in dc.GetTable <Budynki>()
                                       select new { a.Id, a.Nazwa, a.Opis, a.TelMenadzer, a.TelRecepcja, a.Adresy_Id };
                    dataGridView2.DataSource = selectQuery2;
                    if (saveRow > 1)
                    {
                        dataGridView2.CurrentCell = dataGridView2[saveColumn, saveRow - 1];
                    }
                }
                catch (SqlException sqlexception)
                {
                    MessageBox.Show("Usuwanie zostało anulowane. \n\n\n" + "\"" + sqlexception.Message + "\""
                                    + "\n Class: " + sqlexception.Class + "\n State: " + sqlexception.State + "\n Number: " + sqlexception.Number);
                }
                catch (Exception exception)
                {
                    MessageBox.Show("Usuwanie zostało anulowane. \n\n\n" + "\"" + exception.Message + "\"");
                }
            }
        }
コード例 #5
0
        private void add_budenek_form(object sender, EventArgs e)
        {
            Budynki          Budynek_Kursor   = Current_Cursor_Budynki();
            Form_add_budynek form_Add_Budynek = new Form_add_budynek(0, Budynek_Kursor);

            form_Add_Budynek.SetDesktopLocation(this.Location.X + this.Size.Width, this.Location.Y);

            var result = form_Add_Budynek.ShowDialog();

            if (result == DialogResult.OK)
            {
                Budynki budynek = form_Add_Budynek.ReturnValue;

                DataClasses1DataContext dc = new DataClasses1DataContext(con);
                dc.Budynkis.InsertOnSubmit(budynek);

                try
                {
                    dc.SubmitChanges();
                    MONGO.MongoDB.Add_action(Login, "Dodano budynek (" + budynek.Nazwa + ")", DateTime.Now);
                    var selectQuery2 = from a in dc.GetTable <Budynki>()
                                       select new { a.Id, a.Nazwa, a.Opis, a.TelMenadzer, a.TelRecepcja, a.Adresy_Id };
                    dataGridView2.DataSource = selectQuery2;
                }
                catch (SqlException sqlexception)
                {
                    MessageBox.Show("Dodawanie zostało anulowane. \n\n\n" + "\"" + sqlexception.Message + "\""
                                    + "\n Class: " + sqlexception.Class + "\n State: " + sqlexception.State + "\n Number: " + sqlexception.Number);
                }
                catch (Exception exception)
                {
                    MessageBox.Show("Dodawania zostało anulowane.\n\n\n" + "\"" + exception.Message + "\"" + "\n\n\n\n\n\n");
                }
                dataGridView1.CurrentCell = dataGridView1[0, dataGridView1.RowCount - 1];
            }
        }
コード例 #6
0
        public Form_add_budynek(int n, Budynki Budynek_kursor)
        {
            InitializeComponent();
            this.Budynek_kursor = Budynek_kursor;
            this.number         = n;

            switch (number)
            {
            case 0:
                this.Text    = "Dodaj Budynek";
                button2.Text = "Dodaj";
                t_opis.Text  = "Przykładowy opis";
                var selectQuery1 = from a in dc.GetTable <Adresy>()
                                   group a by a.Miasto into g
                                   select g.Key;

                myListBox1.DataSource = selectQuery1;
                break;

            case 1:
                this.Text    = "Zmien Budynek";
                button2.Text = "Zmien";
                wczytaj_budynek();

                Adresy adresWybrany1 = (from a in dc.GetTable <Adresy>()
                                        where a.Id == Budynek_kursor.Adresy_Id
                                        select a).First();

                var select = from a in dc.GetTable <Adresy>()
                             group a by a.Miasto into g
                             select g.Key;

                myListBox1.DataSource = select;

                break;

            case 2:
                this.Text    = "Usun Budynek";
                button2.Text = "Usun";
                wczytaj_budynek();
                Adresy adresWybrany = (from a in dc.GetTable <Adresy>()
                                       where a.Id == Budynek_kursor.Adresy_Id
                                       select a).First();

                myListBox1.BeginUpdate();
                myListBox1.Items.Add(adresWybrany.Miasto);
                myListBox1.EndUpdate();

                myListBox2.BeginUpdate();
                myListBox2.Items.Add(adresWybrany.Ulica);
                myListBox2.EndUpdate();

                myListBox3.BeginUpdate();
                myListBox3.Items.Add(adresWybrany.NumerBudynku);
                myListBox3.EndUpdate();

                myListBox4.BeginUpdate();
                myListBox4.Items.Add(adresWybrany.Województwo);
                myListBox4.EndUpdate();

                myListBox5.BeginUpdate();
                myListBox5.Items.Add(adresWybrany.Kraj);
                myListBox5.EndUpdate();

                myListBox6.BeginUpdate();
                myListBox6.Items.Add(adresWybrany.Id.ToString());
                myListBox6.EndUpdate();


                t_adresid.Enabled      = false;
                t_nazwa.Enabled        = false;
                t_opis.Enabled         = false;
                t_telmenadzera.Enabled = false;
                t_telrecepcja.Enabled  = false;
                myListBox1.Enabled     = false;
                myListBox2.Enabled     = false;
                myListBox3.Enabled     = false;
                myListBox4.Enabled     = false;
                myListBox5.Enabled     = false;
                myListBox6.Enabled     = false;
                button1.Enabled        = false;
                break;
            }
        }
コード例 #7
0
        /// <summary>
        /// Generuje budynki w miejscach optymalnych przez podział przestrzeni
        /// </summary>
        private void GenerujBudynki()
        {
            List <Prostokat> kwadraty = ZbierzWolneKwadraty();

            while (kwadraty.Count > 0)
            {
                for (int l = kwadraty.Count - 1; l >= 0; --l)
                {
                    Prostokat kwadrat = kwadraty[l];

                    if (kwadrat.Wysokosc >= 2 && kwadrat.Szerokosc >= 2)
                    {
                        bool czyDziele = GeneratorPoziomu.GeneratorLosowosci.Next(0, 2) == 1 ? true : false;
                        if (kwadrat.Wysokosc > 6 || kwadrat.Szerokosc > 6 || kwadrat.Wysokosc * kwadrat.Szerokosc > 16)
                        {
                            czyDziele = true;
                        }
                        else if (kwadrat.Wysokosc * kwadrat.Szerokosc <= 8 || (kwadrat.Szerokosc <= 4 && kwadrat.Wysokosc <= 4))
                        {
                            czyDziele = false;
                        }

                        if (czyDziele)
                        {
                            bool dzielePionowo = true;
                            bool dzielePoziomo = true;

                            if (kwadrat.Wysokosc > kwadrat.Szerokosc + 1)
                            {
                                dzielePionowo = false;
                            }
                            else if (kwadrat.Szerokosc > kwadrat.Wysokosc + 1)
                            {
                                dzielePoziomo = false;
                            }
                            else
                            {
                                if (GeneratorPoziomu.GeneratorLosowosci.Next(0, 2) == 0)
                                {
                                    dzielePionowo = false;
                                }
                                else
                                {
                                    dzielePoziomo = false;
                                }
                            }

                            if (dzielePionowo)
                            {
                                kwadraty.Add(new Prostokat(kwadrat.Pozycja, kwadrat.Wysokosc, kwadrat.Szerokosc - (kwadrat.Szerokosc / 2)));
                                kwadraty.Add(new Prostokat(new Punkt <int>(kwadrat.Pozycja.X + (kwadrat.Szerokosc - (kwadrat.Szerokosc / 2)), kwadrat.Pozycja.Y), kwadrat.Wysokosc, kwadrat.Szerokosc / 2));
                            }
                            else if (dzielePoziomo)
                            {
                                kwadraty.Add(new Prostokat(kwadrat.Pozycja, kwadrat.Wysokosc - (kwadrat.Wysokosc / 2), kwadrat.Szerokosc));
                                kwadraty.Add(new Prostokat(new Punkt <int>(kwadrat.Pozycja.X, kwadrat.Pozycja.Y + (kwadrat.Wysokosc - (kwadrat.Wysokosc / 2))), kwadrat.Wysokosc / 2, kwadrat.Szerokosc));
                            }

                            kwadraty.Remove(kwadrat);
                        }
                        else
                        {
                            Budynki.Add(kwadrat);
                            kwadraty.Remove(kwadrat);

                            ZaznaczNaMapie <TypPrzestrzeni>(Mapa, kwadrat, TypPrzestrzeni.Budynek);
                        }
                    }
                    else
                    {
                        kwadraty.Remove(kwadrat);
                    }
                }
            }
        }
コード例 #8
0
        private void change_budynek_button(object sender, EventArgs e)
        {
            Budynki          Budynek_Kursor   = Current_Cursor_Budynki();
            int              saveRow          = dataGridView2.CurrentCell.RowIndex;
            int              saveColumn       = dataGridView2.CurrentCell.ColumnIndex;
            Form_add_budynek form_Add_Budynek = new Form_add_budynek(1, Budynek_Kursor);

            form_Add_Budynek.SetDesktopLocation(this.Location.X + this.Size.Width, this.Location.Y);
            var result = form_Add_Budynek.ShowDialog();

            if (result == DialogResult.OK)
            {
                Budynki budynek            = form_Add_Budynek.ReturnValue;
                DataClasses1DataContext dc = new DataClasses1DataContext(con);


                Budynki budynke = dc.Budynkis.FirstOrDefault(adr => adr.Id.Equals(Budynek_Kursor.Id));

                Budynki save = new Budynki();
                save.Nazwa       = String.Copy(budynke.Nazwa);
                save.Opis        = String.Copy(budynke.Opis);
                save.TelMenadzer = String.Copy(budynke.TelMenadzer);
                save.TelRecepcja = String.Copy(budynke.TelRecepcja);
                save.Adresy_Id   = budynke.Adresy_Id;

                budynke.Nazwa       = budynek.Nazwa;
                budynke.Opis        = budynek.Opis;
                budynke.TelMenadzer = budynek.TelMenadzer;
                budynke.TelRecepcja = budynek.TelRecepcja;
                budynke.Adresy_Id   = budynek.Adresy_Id;

                try
                {
                    dc.SubmitChanges();
                    MONGO.MongoDB.Add_action(Login, "Zmieniono Dane Budynku (" + budynek.Nazwa + ")", DateTime.Now);
                    var selectQuery2 = from a in dc.GetTable <Budynki>()
                                       select new { a.Id, a.Nazwa, a.Opis, a.TelMenadzer, a.TelRecepcja, a.Adresy_Id };
                    dataGridView2.DataSource  = selectQuery2;
                    dataGridView2.CurrentCell = dataGridView2[saveColumn, saveRow];
                }
                catch (SqlException sqlexception)
                {
                    budynke.Nazwa       = save.Nazwa;
                    budynke.Opis        = save.Opis;
                    budynke.TelMenadzer = save.TelMenadzer;
                    budynke.TelRecepcja = save.TelRecepcja;
                    budynke.Adresy_Id   = save.Adresy_Id;

                    MessageBox.Show("Zmienianie zostało anulowane. \n\n\n" + "\"" + sqlexception.Message + "\""
                                    + "\n Class: " + sqlexception.Class + "\n State: " + sqlexception.State + "\n Number: " + sqlexception.Number);
                }
                catch (Exception exception)
                {
                    budynke.Nazwa       = save.Nazwa;
                    budynke.Opis        = save.Opis;
                    budynke.TelMenadzer = save.TelMenadzer;
                    budynke.TelRecepcja = save.TelRecepcja;
                    budynke.Adresy_Id   = save.Adresy_Id;

                    MessageBox.Show("Zmienianie zostało anulowane. \n\n\n" + "\"" + exception.Message + "\"");
                }
            }
        }