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); }
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; }
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); }
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 + "\""); } } }
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]; } }
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; } }
/// <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); } } } }
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 + "\""); } } }