void обновить() { de = new domofon14Entities(); de.дома .Where(n => n.улица == клУлица.улица) .OrderBy(n => n.номер) .ThenBy(n => n.корпус) .Load(); домаЛист = de.дома.Local.ToBindingList(); bindingSource1.DataSource = домаЛист; }
void обновить() { bindingSource1.PositionChanged -= bindingSource1_PositionChanged; //tempList.Clear(); de = new domofon14Entities(); try { de.сотрудники.Load(); de.клиенты.Load(); de.виды_оплат.Load(); de.оплаты .Where(n => n.дата == датаСбора) .Where(n => n.сотрудник == кодСотрудника) .OrderBy(n => n.дата) .ThenBy(n => n.номер) .Load(); оплатыЛист = de.оплаты.Local.ToBindingList(); bindingSource1.DataSource = оплатыЛист; bindingSource1.Sort = "номер"; bindingSource1.MoveLast(); } catch { MessageBox.Show("Сбой загрузки"); } // tempList.Clear(); if (bindingSource1.Count > 0) { заполнить_оплатить(); заполнить_услуги(); пересчет(); } //else //{ // tempList.Clear(); // пересчет(); //} dataGridView1.Focus(); bindingSource1.PositionChanged += bindingSource1_PositionChanged; // bindingSource1.MoveLast(); }
private void button17_Click(object sender, EventArgs e) { //записать(); оплаты uRow = bindingSource1.Current as оплаты; клОплата.оплата = uRow.оплата; de = new domofon14Entities(); int СуммаВозврата = de.возврат .Where(n => n.оплата == клОплата.оплата) .Sum(n => n.сумма); Word.Application oWord = new Word.Application(); string curDir = System.IO.Directory.GetCurrentDirectory(); object шаблон = curDir + @"\расходник.dot"; if (!System.IO.File.Exists(шаблон.ToString())) { MessageBox.Show("Нет файла " + шаблон.ToString()); return; } клФирма.init(); клФилиал.init(); Word.Document o = oWord.Documents.Add(Template: шаблон); o.Bookmarks["кассир"].Range.Text = uRow.сотрудники.фио; o.Bookmarks["дата"].Range.Text = uRow.дата.ToLongDateString(); o.Bookmarks["филиал"].Range.Text = клФилиал.наимен; o.Bookmarks["сумма"].Range.Text = СуммаВозврата.ToString(); o.Bookmarks["номер"].Range.Text = uRow.номер.ToString(); o.Bookmarks["фио"].Range.Text = uRow.клиенты.фио; oWord.Application.Visible = true; }
private void выбор_улицы_Load(object sender, EventArgs e) { try { domofon40.domofon14Entities de = new domofon40.domofon14Entities(); foreach (var gg in de.поселки.OrderBy(n => n.порядок)) { TreeNode node = this.treeView1.Nodes.Add(gg.наимен); node.Tag = gg.поселок; node.ForeColor = Color.Green; foreach (var mm in de.улицы.Where(n => n.поселок == gg.поселок) .OrderBy(n => n.наимен)) { TreeNode node1 = node.Nodes.Add(mm.наимен); node1.Tag = mm; node1.ForeColor = Color.Blue; foreach (var dd in mm.дома .OrderBy(n => n.номер) .ThenBy(n => n.корпус)) { TreeNode node2 = node1.Nodes.Add(dd.номер.ToString().PadRight(2) + " " + dd.корпус); node2.Tag = dd; if (dd.дом == клДом.дом) { treeView1.SelectedNode = node2; } } } } } catch (Exception ex) { MessageBox.Show($"Сбой загрузки {ex.Message}"); } }
private void печать2квитанции_работ() { // записать(); // DataSet.оплатаRow uRow = (оплатаBindingSource.Current as DataRowView).Row as DataSet.оплатаRow; оплаты uRow = bindingSource1.Current as оплаты; клОплата.оплата = uRow.оплата; de = new domofon14Entities(); // domofon10.DataClasses1DataContext db1 = new DataClasses1DataContext(); //int номерКвитанции = 0; //if (db1.опл_работы // .Any(n => n.оплата == клОплата.оплата)) //{ // номерКвитанции = db1.опл_работы // .Where(n => n.оплата == клОплата.оплата) // .Max(n => n.код); //} // var yRow = db1.опл_работы //.Where(n => n.оплата == клОплата.оплата) //.GroupBy(n => n.работа1) //.Select(n => new { n.Key, цена = n.Max(z => z.стоимость), сумма = n.Sum(z => z.оплачено) }); var query = de.опл_работы .Where(n => n.оплата == клОплата.оплата) .OrderBy(n => n.работы.порядок); квитанцияЛист.Clear(); foreach (var kRow in query) { квитанция NewRow = new квитанция(); NewRow.услуга = kRow.работа; NewRow.наимен_услуги = kRow.работы.наимен.Trim(); NewRow.прейскурант = kRow.работы.прейскурант.Trim(); // NewRow.наряд = kRow.задание; NewRow.сумма = kRow.стоимость; NewRow.материалы = (int)kRow.ст_материалов; NewRow.зарплата = (int)NewRow.сумма - NewRow.материалы; NewRow.фио_мастера = kRow.сотрудники.фио; квитанцияЛист.Add(NewRow); // dsТабель1.квитанция.Rows.Add(NewRow); } Word.Application oWord = new Word.Application(); string curDir = System.IO.Directory.GetCurrentDirectory(); object шаблон = curDir + @"\квитанция3работы.dot"; if (!System.IO.File.Exists(шаблон.ToString())) { MessageBox.Show("Нет файла " + шаблон.ToString()); return; } клФирма.init(); клФилиал.init(); Word.Document o = oWord.Documents.Add(Template: шаблон); o.Bookmarks["менеджер"].Range.Text = uRow.сотрудники.фио; o.Bookmarks["менеджер2"].Range.Text = uRow.сотрудники.фио; o.Bookmarks["дата"].Range.Text = uRow.дата.ToLongDateString(); o.Bookmarks["дата2"].Range.Text = uRow.дата.ToLongDateString(); o.Bookmarks["филиал"].Range.Text = клФилиал.наимен; o.Bookmarks["адрес_филиала"].Range.Text = клФилиал.адрес.Trim(); o.Bookmarks["телефон_филиала"].Range.Text = клФилиал.deRow.телефон.Trim(); o.Bookmarks["филиал2"].Range.Text = клФилиал.наимен; o.Bookmarks["адрес2филиала"].Range.Text = клФилиал.адрес.Trim(); o.Bookmarks["телефон2филиала"].Range.Text = клФилиал.deRow.телефон.Trim(); o.Bookmarks["номер_квитанции"].Range.Text = uRow.номер.ToString(); o.Bookmarks["номер2квитанции"].Range.Text = uRow.номер.ToString(); o.Bookmarks["фио"].Range.Text = uRow.клиенты.фио; //string адрес_абонента = "ул. " + uRow.наимен_улицы.Trim() // + " д. " + uRow.номер_дома.Trim() + " " // + uRow.корпус.Trim() + " кв. " + uRow.квартира.Trim(); //if (uRow.ввод > 0) //{ // адрес_абонента += " ввод " + uRow.ввод.ToString(); //} o.Bookmarks["адрес"].Range.Text = uRow.клиенты.адрес; o.Bookmarks["фио2"].Range.Text = uRow.клиенты.фио; o.Bookmarks["адрес2"].Range.Text = uRow.клиенты.адрес; o.Bookmarks["наимен_фирмы"].Range.Text = клФирма.deRow.наимен.Trim(); o.Bookmarks["наимен2фирмы"].Range.Text = клФирма.deRow.наимен.Trim(); o.Bookmarks["инн"].Range.Text = "ИНН " + клФирма.deRow.инн.Trim(); o.Bookmarks["инн2"].Range.Text = "ИНН " + клФирма.deRow.инн.Trim(); o.Bookmarks["кпп"].Range.Text = "КПП " + клФирма.deRow.код.Trim(); o.Bookmarks["кпп2"].Range.Text = "КПП " + клФирма.deRow.код.Trim(); o.Bookmarks["расчетный_счет"].Range.Text = "р/с " + клФирма.deRow.р_счет.Trim(); o.Bookmarks["расчетный2счет"].Range.Text = "р/с " + клФирма.deRow.р_счет.Trim(); o.Bookmarks["наимен_банка"].Range.Text = " " + клФирма.deRow.банк.Trim(); o.Bookmarks["наимен2банка"].Range.Text = " " + клФирма.deRow.банк.Trim(); o.Bookmarks["город"].Range.Text = клФирма.deRow.город.Trim(); o.Bookmarks["город2"].Range.Text = клФирма.deRow.город.Trim(); o.Bookmarks["кор_счет"].Range.Text = "к/с " + клФирма.deRow.к_счет.Trim(); o.Bookmarks["кор2счет"].Range.Text = "к/с " + клФирма.deRow.к_счет.Trim(); o.Bookmarks["адрес_фирмы"].Range.Text = клФирма.deRow.адрес.Trim(); o.Bookmarks["адрес2фирмы"].Range.Text = клФирма.deRow.адрес.Trim(); int j = 1; decimal итого = 0; foreach (квитанция kRow in квитанцияЛист) { // string текст1 = kRow.начало + " - " + kRow.конец + " " + kRow.год.ToString(); j++; o.Tables[5].Cell(j, 1).Range.Text = kRow.наряд.ToString("0;#;#"); o.Tables[5].Cell(j, 2).Range.Text = kRow.прейскурант; o.Tables[5].Cell(j, 3).Range.Text = kRow.наимен_услуги.Trim() + " мастер " + kRow.фио_мастера.Trim(); // o.Tables[5].Cell(j, 4).Range.Text = kRow.материалы.ToString("0.00;#;#"); o.Tables[5].Cell(j, 4).Range.Text = kRow.сумма.ToString("0.00;#;#"); o.Tables[5].Rows.Add(); итого += kRow.сумма; o.Tables[11].Cell(j, 1).Range.Text = kRow.наряд.ToString("0;#;#"); o.Tables[11].Cell(j, 2).Range.Text = kRow.прейскурант; o.Tables[11].Cell(j, 3).Range.Text = kRow.наимен_услуги.Trim() + " мастер " + kRow.фио_мастера.Trim(); o.Tables[11].Cell(j, 4).Range.Text = kRow.материалы.ToString("0.00;#;#"); o.Tables[11].Cell(j, 5).Range.Text = kRow.сумма.ToString("0.00;#;#"); o.Tables[11].Rows.Add(); } o.Tables[5].Cell(j + 1, 4).Range.Text = итого.ToString("0.00"); o.Tables[11].Cell(j + 1, 5).Range.Text = итого.ToString("0.00"); клTemp.Caption = o.ActiveWindow.Caption; oWord.Application.Visible = true; }
private void button5_Click(object sender, EventArgs e) { оплаты uRow = bindingSource1.Current as оплаты; клОплата.оплата = uRow.оплата; de = new domofon14Entities(); string[] aMez = de.месяцы .OrderBy(n => n.месяц) .Select(n => n.наимен) .ToArray(); var услугиQuery = de.оплачено .Where(n => n.оплата == клОплата.оплата) .GroupBy(n => new { n.услуги, n.год, n.сумма }) .Select(n => new { n.Key.услуги, n.Key.услуги.наимен, n.Key.услуги.порядок, цена = n.Key.сумма, сумма = n.Sum(p => p.сумма), n.Key.год, minMez = n.Min(p => p.месяц), maxMez = n.Max(p => p.месяц) }) .OrderBy(n => n.порядок); //dsТабель1.квитанция.Clear(); квитанцияЛист.Clear(); foreach (var kRow in услугиQuery) { // dsТабель1.за_месяца.Clear(); // за_месяцЛист.Clear(); // dsТабель.квитанцияRow NewRow = dsТабель1.квитанция.NewквитанцияRow(); квитанция NewRow = new квитанция(); NewRow.услуга = kRow.услуги.услуга; NewRow.наимен_услуги = kRow.наимен; NewRow.тариф = kRow.цена; NewRow.месяцы = ""; NewRow.начало = aMez[kRow.minMez - 1]; if (kRow.maxMez > kRow.minMez) { NewRow.конец = aMez[kRow.maxMez - 1]; } NewRow.сумма = kRow.сумма; NewRow.год = kRow.год; квитанцияЛист.Add(NewRow); //dsТабель1.квитанция.Rows.Add(NewRow); } Word.Application oWord = new Word.Application(); string curDir = System.IO.Directory.GetCurrentDirectory(); object шаблон = curDir + @"\квитанция.dot"; if (!System.IO.File.Exists(шаблон.ToString())) { MessageBox.Show("Нет файла " + шаблон.ToString()); return; } клФирма.init(); клФилиал.init(); Word.Document o = oWord.Documents.Add(Template: шаблон); // oWord.Application.Visible = true; o.Bookmarks["менеджер"].Range.Text = uRow.сотрудники.фио; o.Bookmarks["менеджер2"].Range.Text = uRow.сотрудники.фио; o.Bookmarks["дата"].Range.Text = uRow.дата.ToLongDateString(); o.Bookmarks["дата2"].Range.Text = uRow.дата.ToLongDateString(); o.Bookmarks["филиал"].Range.Text = клФилиал.наимен; o.Bookmarks["адрес_филиала"].Range.Text = клФилиал.адрес.Trim(); o.Bookmarks["телефон_филиала"].Range.Text = клФилиал.deRow.телефон.Trim(); o.Bookmarks["филиал2"].Range.Text = клФилиал.наимен; o.Bookmarks["адрес2филиала"].Range.Text = клФилиал.адрес.Trim(); o.Bookmarks["телефон2филиала"].Range.Text = клФилиал.deRow.телефон.Trim(); o.Bookmarks["номер_квитанции"].Range.Text = uRow.номер.ToString(); o.Bookmarks["номер2квитанции"].Range.Text = uRow.номер.ToString(); o.Bookmarks["фио"].Range.Text = uRow.клиенты.фио; //string адрес_абонента = "ул. " + uRow.наимен_улицы.Trim() // + " д. " + uRow.номер_дома.Trim() + " " // + uRow.корпус.Trim() // + " кв. " + uRow.квартира.Trim(); string адрес_абонента = uRow.клиенты.адрес; if (uRow.клиенты.ввод > 0) { адрес_абонента += " ввод " + uRow.клиенты.ввод.ToString(); } o.Bookmarks["адрес"].Range.Text = адрес_абонента; o.Bookmarks["фио2"].Range.Text = uRow.клиенты.фио; o.Bookmarks["адрес2"].Range.Text = адрес_абонента; o.Bookmarks["наимен_фирмы"].Range.Text = клФирма.deRow.наимен.Trim(); o.Bookmarks["наимен2фирмы"].Range.Text = клФирма.deRow.наимен.Trim(); o.Bookmarks["инн"].Range.Text = "ИНН " + клФирма.deRow.инн.Trim(); o.Bookmarks["инн2"].Range.Text = "ИНН " + клФирма.deRow.инн.Trim(); o.Bookmarks["кпп"].Range.Text = "КПП " + клФирма.deRow.код.Trim(); o.Bookmarks["кпп2"].Range.Text = "КПП " + клФирма.deRow.код.Trim(); o.Bookmarks["расчетный_счет"].Range.Text = "р/с " + клФирма.deRow.р_счет.Trim(); o.Bookmarks["расчетный2счет"].Range.Text = "р/с " + клФирма.deRow.р_счет.Trim(); o.Bookmarks["наимен_банка"].Range.Text = " " + клФирма.deRow.банк.Trim(); o.Bookmarks["наимен2банка"].Range.Text = " " + клФирма.deRow.банк.Trim(); o.Bookmarks["город"].Range.Text = клФирма.deRow.город.Trim(); o.Bookmarks["город2"].Range.Text = клФирма.deRow.город.Trim(); o.Bookmarks["кор_счет"].Range.Text = "к/с " + клФирма.deRow.к_счет.Trim(); o.Bookmarks["кор2счет"].Range.Text = "к/с " + клФирма.deRow.к_счет.Trim(); o.Bookmarks["адрес_фирмы"].Range.Text = клФирма.deRow.адрес.Trim(); o.Bookmarks["адрес2фирмы"].Range.Text = клФирма.deRow.адрес.Trim(); int j = 1; decimal итого = 0; foreach (квитанция kRow in квитанцияЛист) { string текст1 = kRow.начало + " - " + kRow.конец + " " + kRow.год.ToString(); j++; o.Tables[5].Cell(j, 1).Range.Text = kRow.наимен_услуги; o.Tables[5].Cell(j, 2).Range.Text = kRow.тариф.ToString("0.00;#;#"); o.Tables[5].Cell(j, 3).Range.Text = текст1; o.Tables[5].Cell(j, 4).Range.Text = kRow.сумма.ToString("0.00"); o.Tables[5].Rows.Add(); итого += kRow.сумма; o.Tables[11].Cell(j, 1).Range.Text = kRow.наимен_услуги; o.Tables[11].Cell(j, 2).Range.Text = kRow.тариф.ToString("0.00;#;#"); o.Tables[11].Cell(j, 3).Range.Text = текст1; o.Tables[11].Cell(j, 4).Range.Text = kRow.сумма.ToString("0.00"); o.Tables[11].Rows.Add(); } o.Tables[5].Cell(j + 1, 4).Range.Text = итого.ToString("0.00"); o.Tables[11].Cell(j + 1, 4).Range.Text = итого.ToString("0.00"); клTemp.Caption = o.ActiveWindow.Caption; oWord.Application.Visible = true; }
private void button17_Click(object sender, EventArgs e) { if (bindingSource1.Count > 0) { оплаты uRow = bindingSource1.Current as оплаты; клОплата.оплата = uRow.оплата; string фио = uRow.клиенты.фио; de = new domofon14Entities(); //int СуммаВозврата = de.возврат // .Where(n => n.оплата == клОплата.оплата) // .Sum(n => n.сумма); Word.Application oWord = new Word.Application(); string curDir = System.IO.Directory.GetCurrentDirectory(); object шаблон = curDir + @"\расходник.dot"; if (!System.IO.File.Exists(шаблон.ToString())) { MessageBox.Show("Нет файла " + шаблон.ToString()); return; } клФирма.init(); клФилиал.init(); Word.Document o = oWord.Documents.Add(Template: шаблон); o.Bookmarks["кассир"].Range.Text = uRow.сотрудники.фио; o.Bookmarks["дата"].Range.Text = uRow.дата.ToLongDateString(); o.Bookmarks["филиал"].Range.Text = клФилиал.наимен; if (de.возврат.Any(n => n.оплата == клОплата.оплата) || de.воз_работы.Any(n => n.оплата == клОплата.оплата)) { int СуммаВозврата = de.возврат .Where(n => n.оплата == клОплата.оплата) .Sum(n => n.сумма); int ВозвратРаботы = de.воз_работы .Where(n => n.оплата == клОплата.оплата) .Sum(n => n.сумма); СуммаВозврата += ВозвратРаботы; // MessageBox.Show(прописью.буквами(СуммаВозврата)); if (o.Bookmarks.Exists("сумма")) { o.Bookmarks["сумма"].Range.Text = СуммаВозврата.ToString(); } if (o.Bookmarks.Exists("выдано_прописью")) { o.Bookmarks["выдано_прописью"].Range.Text = прописью.буквами(СуммаВозврата) + "____"; } } // o.Bookmarks["сумма"].Range.Text = СуммаВозврата.ToString(); if (o.Bookmarks.Exists("номер")) { o.Bookmarks["номер"].Range.Text = uRow.номер.ToString(); } if (o.Bookmarks.Exists("фио")) { o.Bookmarks["фио"].Range.Text = фио; } oWord.Application.Visible = true; } }
private void обновить() { de = new domofon14Entities(); tempList.Clear(); foreach (услуги yRow in de.услуги .Where(n => n.вид_услуги == клВид_услуги.вид_услуги) .OrderBy(n => n.порядок)) { foreach (сотрудники sRow in de.сотрудники .OrderBy(n => n.порядок)) { int повторов = sRow.повторы .Where(n => n.дата_с >= клПериод.дата_с) .Where(n => n.дата_с <= клПериод.дата_по) .Count(n => n.услуга == yRow.услуга); int отключений = sRow.отключения .Where(n => n.дата_с >= клПериод.дата_с) .Where(n => n.дата_с <= клПериод.дата_по) .Count(n => n.услуга == yRow.услуга); int договоров = sRow.подключения .Where(n => n.дата_с >= клПериод.дата_с) .Where(n => n.дата_с <= клПериод.дата_по) .Count(n => n.услуга == yRow.услуга); if (повторов > 0 || отключений > 0 || договоров > 0) { // DsTemp.отключенийRow NewRow = dsTemp.отключений.NewотключенийRow(); temp NewRow = new temp(); NewRow.услуга = yRow.услуга; NewRow.мастер = sRow.сотрудник; NewRow.должность = sRow.должность; NewRow.фио = sRow.фио; NewRow.отключено = отключений; NewRow.повторно = повторов; NewRow.подключено = договоров; NewRow.наимен_услуги = yRow.обозначение; tempList.Add(NewRow); } } } var queryAll = tempList .GroupBy(n => new { n.услуга, n.наимен_услуги }) .Select(n => new { n.Key.услуга, n.Key.наимен_услуги, откл = n.Sum(p => p.отключено), повтор = n.Sum(p => p.повторно), договоров = n.Sum(p => p.подключено) }); foreach (var aRow in queryAll) { temp NewRow = new temp(); NewRow.услуга = aRow.услуга; NewRow.мастер = Guid.Empty; NewRow.должность = ""; NewRow.фио = "Всего"; NewRow.отключено = aRow.откл; NewRow.повторно = aRow.повтор; NewRow.подключено = aRow.договоров; NewRow.наимен_услуги = aRow.наимен_услуги; tempList.Add(NewRow); } bindingSource1.DataSource = tempList; dataGridView1.DataSource = bindingSource1; dataGridView1.Refresh(); dataGridView1.Focus(); }