private void button1_Click(object sender, EventArgs e)
        {
            виды_оплат vRow          = comboBox1.SelectedItem as виды_оплат;
            Guid       кодВидаОплаты = vRow.вид_оплаты;

            var клиентыЛист = temp3List
                              .Where(n => n.оплачено > 0)
                              .GroupBy(n => n.клиент)
                              .Select(n => n.Key).ToList();

            foreach (temp3 tRow in temp3List)
            {
                foreach (оплачено delRow in de.оплачено
                         .Where(n => n.год == клМесяц.год)
                         .Where(n => n.месяц == tRow.месяц)
                         .Where(n => n.услуга == клУслуга.услуга)
                         .Where(n => n.оплаты.клиент == tRow.клиент))
                {
                    de.оплачено.Remove(delRow);
                }
                de.SaveChanges();
            }
            int maxNum = 0;

            if (de.оплаты.Any())
            {
                maxNum = de.оплаты.Max(n => n.номер);
            }

            foreach (Guid kRow in клиентыЛист)
            {
                maxNum++;
                оплаты newOp = new оплаты()
                {
                    дата       = клКалендарь.дата.Value,
                    клиент     = kRow,
                    номер      = maxNum,
                    оплата     = Guid.NewGuid(),
                    сотрудник  = клСотрудник.сотрудник,
                    вид_оплаты = кодВидаОплаты
                };

                de.оплаты.Add(newOp);
                foreach (temp3 tRow in temp3List.Where(n => n.клиент == kRow))
                {
                    if (tRow.оплачено > 0)
                    {
                        оплачено newMez = new оплачено()
                        {
                            год    = клМесяц.год,
                            оплата = newOp.оплата,
                            месяц  = tRow.месяц,
                            сумма  = tRow.оплачено,
                            услуга = клУслуга.услуга,
                            платеж = Guid.NewGuid()
                        };
                        de.оплачено.Add(newMez);
                    }
                }
            }
            try
            {
                de.SaveChanges();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ошибка записи " + ex.Message);
            }
            Close();
        }
Esempio n. 2
0
        private void button3_Click(object sender, EventArgs e)
        {
            оплачено minOp = de.оплачено.OrderBy(n => n.год * 100 + n.месяц).First();

            MessageBox.Show($" {minOp.оплаты.номер}  {minOp.год} {minOp.месяц} {minOp.сумма} {minOp.услуги.наимен}");
        }