private void заполнить_дни() { dsТабель1.подробности.Clear(); foreach (var gg in db.годы.OrderBy(n => n.год)) { foreach (var mm in db.месяцы.OrderBy(n => n.месяц)) { int длина = DateTime.DaysInMonth(gg.год, mm.месяц); for (int d = 1; d <= длина; d++) { // DateTime dt = DateTime.Parse(d.ToString().Trim() + "." + mm.месяц.ToString().Trim() + "." + gg.год.ToString().Trim()); DateTime dt = new DateTime(gg.год, mm.месяц, d); dsТабель.подробностиRow NewRow = dsТабель1.подробности.NewподробностиRow(); NewRow.дата = dt; NewRow.год = gg.год; NewRow.месяц = mm.месяц; NewRow.день = d; // NewRow.услуга = клУслуга.услуга; // NewRow.отключен = true; dsТабель1.подробности.Rows.Add(NewRow); } } } }
private void дни_договор() { foreach (подключения uRow in db.подключения .Where(n => n.клиент == клКлиент.клиент && n.услуга == клУслуга.услуга)) { string НаименДоговора = "без номера"; if (uRow.номер_дог.Trim().Length == 0 && uRow.номер_пп == 0) { } else { НаименДоговора = uRow.номер_дог.Trim() + uRow.номер_пп.ToString(); } if (uRow.дата_по == null) { for (DateTime dm = uRow.дата_с.AddDays(1); dm < maxData; dm = dm.AddDays(1)) { int gg = dm.Year; int mm = dm.Month; int dd = dm.Day; if (dsТабель1.подробности .Count(n => n.год == gg && n.месяц == mm && n.день == dd) == 1) { dsТабель.подробностиRow tRow = dsТабель1.подробности .Single(n => n.год == gg && n.месяц == mm && n.день == dd); tRow.номер_дог = НаименДоговора; tRow.код_договора = uRow.подключение; tRow.договор = true; } } } else { for (DateTime dm = uRow.дата_с.AddDays(1); dm <= uRow.дата_по; dm = dm.AddDays(1)) { int gg = dm.Year; int mm = dm.Month; int dd = dm.Day; if (dsТабель1.подробности .Count(n => n.год == gg && n.месяц == mm && n.день == dd) == 1) { dsТабель.подробностиRow tRow = dsТабель1.подробности .Single(n => n.год == gg && n.месяц == mm && n.день == dd); tRow.код_договора = uRow.подключение; tRow.договор = true; tRow.номер_дог = НаименДоговора; } } } } }
private void дни_льготы() { foreach (льготы uRow in db.льготы .Where(n => n.клиент == клКлиент.клиент && n.услуга == клУслуга.услуга)) { if (uRow.дата_по == null) { for (DateTime dm = uRow.дата_с; dm < maxData; dm = dm.AddDays(1)) { int gg = dm.Year; int mm = dm.Month; int dd = dm.Day; if (dsТабель1.подробности .Count(n => n.год == gg && n.месяц == mm && n.день == dd) == 1) { dsТабель.подробностиRow tRow = dsТабель1.подробности .Single(n => n.год == gg && n.месяц == mm && n.день == dd); tRow.льгота = uRow.процент; } } } else { for (DateTime dm = uRow.дата_с; dm <= uRow.дата_по; dm = dm.AddDays(1)) { int gg = dm.Year; int mm = dm.Month; int dd = dm.Day; if (dsТабель1.подробности .Count(n => n.год == gg && n.месяц == mm && n.день == dd) == 1) { dsТабель.подробностиRow tRow = dsТабель1.подробности .Single(n => n.год == gg && n.месяц == mm && n.день == dd); tRow.льгота = uRow.процент; } } } } }