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(); }
private void button3_Click(object sender, EventArgs e) { оплачено minOp = de.оплачено.OrderBy(n => n.год * 100 + n.месяц).First(); MessageBox.Show($" {minOp.оплаты.номер} {minOp.год} {minOp.месяц} {minOp.сумма} {minOp.услуги.наимен}"); }