private void AddMonthConsumptionBtn_Click(object sender, RoutedEventArgs e)
        {
            if (MonthCalendar.SelectedDate.HasValue == false)
            {
                MessageBox.Show("Выберите рассчётный месяц");
            }
            else if (float.TryParse(MonthConsumptionTB.Text, out float cons) == false)
            {
                MessageBox.Show("Введите расход воды числом");
            }
            else if (cons <= 0)
            {
                MessageBox.Show("Расход воды должен быть больше нуля");
            }
            else
            {
                string str = MonthCalendar.SelectedDate.Value.ToShortDateString();
                str = str.Substring(6, 4) + str.Substring(3, 2);

                ModelSprintDBContainer container = new ModelSprintDBContainer(connString);

                List <MonthConsumption> collMonth = container.Set <MonthConsumption>().ToList();

                MonthConsumption monthConsumption = new MonthConsumption()
                {
                    Date        = Convert.ToInt32(str),
                    Consumption = Convert.ToDecimal(cons)
                };

                if (collMonth.Contains(monthConsumption) == true)
                {
                    MessageBox.Show("Такой период уже существует");
                }
                else
                {
                    container.MonthConsumptionSet.Add(monthConsumption);
                    List <CostOfWater> costOfWater = container.Set <CostOfWater>().ToList();
                    decimal            square      = 0;
                    foreach (Cottager cottager in container.CottagerSet)
                    {
                        square += cottager.Square;
                    }

                    foreach (Cottager cottager in container.CottagerSet)
                    {
                        Billing bill = new Billing()
                        {
                            MonthConsumption = monthConsumption,
                            Cottager         = cottager,
                            Author           = cottager.Author,
                            Date             = monthConsumption.Date,
                            Bill             = Convert.ToDecimal((cottager.Square / square) * monthConsumption.Consumption * costOfWater[0].Cost),
                        };
                        container.BillingSet.Add(bill);
                    }
                    container.SaveChanges();
                    Close();
                }
            }
        }
 private void DeleteCottagerButton_Click(object sender, RoutedEventArgs e)
 {
     if (CottagersComboBox.SelectedIndex != -1)
     {
         ModelSprintDBContainer container = new ModelSprintDBContainer(connString);
         List <Cottager>        lst       = container.Set <Cottager>().ToList();
         string deleteStr = CottagersComboBox.SelectedItem.ToString();
         foreach (Cottager item in lst)
         {
             string str = item.Author + "; S = " + item.Square.ToString();
             if (string.Equals(str, deleteStr))
             {
                 var billingLst = container.Set <Billing>().ToList();
                 foreach (var bill in billingLst)
                 {
                     if (bill.Cottager.CottagerID == item.CottagerID)
                     {
                         container.BillingSet.Remove(bill);
                     }
                 }
                 container.CottagerSet.Remove(item);
                 break;
             }
         }
         container.SaveChanges();
         Close();
     }
     else
     {
         MessageBox.Show("Выберите нужный элемент из списка", "Ошибка");
     }
 }
Example #3
0
 private void DeletePeriodButton_Click(object sender, RoutedEventArgs e)
 {
     if (PeriodsComboBox.SelectedIndex > -1)
     {
         ModelSprintDBContainer  container = new ModelSprintDBContainer(connString);
         List <MonthConsumption> lst       = container.Set <MonthConsumption>().ToList();
         string deleteStr = PeriodsComboBox.SelectedItem.ToString();
         foreach (MonthConsumption item in lst)
         {
             string str = (item.Date / 100).ToString() + "/" + (item.Date % 100 < 10 ? "0" + (item.Date % 100).ToString() : (item.Date % 100).ToString());
             if (string.Equals(str, deleteStr))
             {
                 var billingLst = container.Set <Billing>().ToList();
                 foreach (var bill in billingLst)
                 {
                     if (bill.MonthConsumption.MonthBillingID == item.MonthBillingID)
                     {
                         container.BillingSet.Remove(bill);
                     }
                 }
                 container.MonthConsumptionSet.Remove(item);
                 break;
             }
         }
         container.SaveChanges();
         Close();
     }
     else
     {
         MessageBox.Show("Выберите нужный период из списка", "Ошибка");
     }
 }
Example #4
0
        private void AddCottagerButton_Click(object sender, RoutedEventArgs e)
        {
            if (decimal.TryParse(SquareTextBox.Text, out decimal t) == true && t > 0)
            {
                ModelSprintDBContainer container = new ModelSprintDBContainer(connString);
                List <Cottager>        lst       = container.Set <Cottager>().ToList();//cottagers.Add(cottager);

                Cottager cottager = new Cottager
                {
                    Author = AuthorOfCottageTextBox.Text,
                    Square = t
                };

                if (lst.Contains(cottager) == true)
                {
                    MessageBox.Show("Не должно быть одинаковых записей", "Ошибка");
                }
                else if (cottager.Author == "")
                {
                    MessageBox.Show("У дачника должно быть ФИО", "Ошибка");
                }
                else
                {
                    container.CottagerSet.Add(cottager);
                    container.SaveChanges();
                    Close();
                }
            }
            else
            {
                MessageBox.Show("Площадь должна быть неотрицательным числом", "Ошибка");
            }
        }
        public DeleteCottagerWindow(string connectionString)
        {
            InitializeComponent();
            connString = connectionString;
            ModelSprintDBContainer container = new ModelSprintDBContainer(connString);
            List <Cottager>        lst       = container.Set <Cottager>().ToList();

            lst.Sort();
            foreach (Cottager item in lst)
            {
                CottagersComboBox.Items.Add(item.Author + "; S = " + item.Square.ToString());
            }
        }
Example #6
0
        public DeleteMonthConsWindow(string connectionString)
        {
            InitializeComponent();
            connString = connectionString;
            ModelSprintDBContainer  container = new ModelSprintDBContainer(connString);
            List <MonthConsumption> lst       = container.Set <MonthConsumption>().ToList();

            lst.Sort();
            foreach (MonthConsumption item in lst)
            {
                PeriodsComboBox.Items.Add((item.Date / 100).ToString() + "/" + (item.Date % 100 < 10 ? "0" + (item.Date % 100).ToString() : (item.Date % 100).ToString()));
            }
        }
Example #7
0
        private void ShowCostOfWaterBtn_Click(object sender, RoutedEventArgs e)
        {
            ModelSprintDBContainer container = new ModelSprintDBContainer(connString);
            List <CostOfWater>     lst       = container.Set <CostOfWater>().ToList();
            string str  = "";
            int    cost = Convert.ToInt32(lst[0].Cost * 100);

            str = (cost / 100).ToString() + " руб. ";
            if (cost % 100 > 0)
            {
                str += (cost % 100).ToString() + " коп.";
            }

            MessageBox.Show("Кубический метр воды стоит " + str, "Цена за воду");
        }
Example #8
0
        private void SetMonthConsAsItemSource()
        {
            ModelSprintDBContainer  container = new ModelSprintDBContainer(connString);
            List <MonthConsumption> lst       = container.Set <MonthConsumption>().ToList();

            if (lst.Count > 0)
            {
                ViewDataGrid.ItemsSource = lst;
                ViewDataGrid.Columns.RemoveAt(0);
                ViewDataGrid.Columns.RemoveAt(2);
                ViewDataGrid.Columns[0].Header = "Дата";
                ViewDataGrid.Columns[1].Header = "Потребление за месяц";
                SortByFirstColumn();
                currentViewTextBlock.Text = "Потребление воды по месяцам";
            }
        }
Example #9
0
        private void SetCottagersAsItemsSource()
        {
            ModelSprintDBContainer container = new ModelSprintDBContainer(connString);
            List <Cottager>        lst       = container.Set <Cottager>().ToList();

            if (lst.Count > 0)
            {
                ViewDataGrid.ItemsSource = lst;
                ViewDataGrid.Columns.RemoveAt(0);
                ViewDataGrid.Columns.RemoveAt(2);
                ViewDataGrid.Columns[0].Header = "ФИО дачника";
                ViewDataGrid.Columns[1].Header = "Площадь участка";

                SortByFirstColumn();
                currentViewTextBlock.Text = "Дачники";
            }
        }