private void Temp_Moving(temp obj) { примечания[] aRows = de.примечания.Where(n => n.клиент == obj.клиент && n.услуга == клУслуга.услуга).ToArray(); foreach (примечания delRow in aRows) { de.примечания.Remove(delRow); } de.SaveChanges(); if (obj.прим != null) { if (obj.прим.Trim() != String.Empty) { примечания newRow = new примечания() { клиент = obj.клиент, прим = obj.прим, услуга = клУслуга.услуга }; try { de.примечания.Add(newRow); de.SaveChanges(); } catch (Exception ex) { MessageBox.Show("Сбой записи " + ex.Message); } } } }
void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) { if (dataGridView1.Columns[e.ColumnIndex] == примColumn) { temp tRow = bindingSource1.Current as temp; if (tRow.прим == null) { tRow.прим = ""; } примечания[] aDel = de.примечания .Where(n => n.клиент == клКлиент.клиент) .Where(n => n.услуга == tRow.услуга) .ToArray(); foreach (примечания dRow in aDel) { de.примечания.Remove(dRow); } de.SaveChanges(); if (tRow.прим.Trim() != String.Empty) { примечания newRow = new примечания(); newRow.клиент = клКлиент.клиент; newRow.услуга = tRow.услуга; newRow.прим = tRow.прим.Trim(); de.примечания.Add(newRow); de.SaveChanges(); } } if (dataGridView1.Columns[e.ColumnIndex] == нашColumn) { temp tRow = bindingSource1.Current as temp; клиенты kRow = de.клиенты.Single(n => n.клиент == клКлиент.клиент); услуги[] aDel = kRow.услуги.Where(n => n.услуга == tRow.услуга).ToArray(); foreach (услуги dRow in aDel) { kRow.услуги.Remove(dRow); } de.SaveChanges(); if (tRow.наш) { услуги newRow = de.услуги.Single(n => n.услуга == tRow.услуга); kRow.услуги.Add(newRow); de.SaveChanges(); } } }
void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { Cursor = Cursors.WaitCursor; if (dataGridView1.Columns[e.ColumnIndex] == подключенColumn) { dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex]; temp tRow = bindingSource1.Current as temp; //bool xy = (bool)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value; //Guid кодУслуги = (Guid)dataGridView1.Rows[e.RowIndex].Cells["услугаColumn"].Value; услуги yRow = de.услуги.Single(n => n.услуга == tRow.услуга); клиенты kRow = de.клиенты.Single(n => n.клиент == клКлиент.клиент); kRow.услуги.Remove(yRow); de.SaveChanges(); if (tRow.подключена) { kRow.услуги.Add(yRow); de.SaveChanges(); } } if (dataGridView1.Columns[e.ColumnIndex] == примColumn) { dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex]; temp tRow = bindingSource1.Current as temp; // Guid кодУслуги = (Guid)dataGridView1.Rows[e.RowIndex].Cells["услугаColumn"].Value; if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == null) { dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = ""; } string текст = (string)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value; if (de.примечания.Where(n => n.клиент == клКлиент.клиент).Any(n => n.услуга == tRow.услуга)) { примечания pRow = de.примечания.Where(n => n.клиент == клКлиент.клиент).Single(n => n.услуга == tRow.услуга); de.примечания.Remove(pRow); de.SaveChanges(); } if (текст.Trim() != String.Empty) { примечания newRow = new примечания(); newRow.услуга = tRow.услуга; newRow.клиент = клКлиент.клиент; newRow.прим = текст; de.примечания.Add(newRow); de.SaveChanges(); } } Cursor = Cursors.Default; }
void temp_Moving(temp obj) { Console.WriteLine(obj.фио); if (obj.поле == "прим0") { if (obj.прим0 == null) { obj.прим0 = ""; } клиенты kRow = de.клиенты.Single(n => n.клиент == obj.клиент); kRow.прим = obj.прим0; de.SaveChanges(); } if (obj.поле == "телефон") { if (obj.телефон == null) { obj.телефон = ""; } клиенты kRow = de.клиенты.Single(n => n.клиент == obj.клиент); kRow.телефон = obj.телефон; de.SaveChanges(); } if (obj.поле == "прим") { if (obj.прим == null) { obj.прим = ""; } примечания[] aRow = de.примечания.Where(n => n.клиент == obj.клиент && n.услуга == клУслуга.услуга).ToArray(); //foreach( примечания delRow in aRow) //{ de.примечания.RemoveRange(aRow); de.SaveChanges(); if (obj.прим != String.Empty) { примечания newRow = new примечания(); newRow.клиент = obj.клиент; newRow.услуга = клУслуга.услуга; newRow.прим = obj.прим; de.примечания.Add(newRow); de.SaveChanges(); } } }
void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (dataGridView1.Columns[e.ColumnIndex] == нашColumn) { temp uRow = bindingSource1.Current as temp; Guid кодУслуги = uRow.услуга; // if(клКлиент.deRow.услуги.Count(n=>n.услуга==uRow.услуга)>0) услуги[] delRows = клКлиент.deRow.услуги.Where(n => n.услуга == uRow.услуга).ToArray(); foreach (услуги dRow in delRows) { клКлиент.deRow.услуги.Remove(dRow); db.SaveChanges(); } if (uRow.наш) { услуги newRow = db.услуги.Single(n => n.услуга == uRow.услуга); клКлиент.deRow.услуги.Add(newRow); } db.SaveChanges(); } if (dataGridView1.Columns[e.ColumnIndex] == примColumn) { temp uRow = bindingSource1.Current as temp; Guid кодУслуги = uRow.услуга; // if(клКлиент.deRow.услуги.Count(n=>n.услуга==uRow.услуга)>0) примечания[] delRows = клКлиент.deRow.примечания.Where(n => n.услуга == uRow.услуга).ToArray(); foreach (примечания dRow in delRows) { клКлиент.deRow.примечания.Remove(dRow); db.SaveChanges(); } if (uRow.прим != null) { if (uRow.прим.Trim() != String.Empty) { // услуги newRow = db.услуги.Single(n => n.услуга == uRow.услуга); примечания newRow = new примечания(); newRow.клиент = клКлиент.клиент; newRow.прим = uRow.прим; newRow.услуга = uRow.услуга; клКлиент.deRow.примечания.Add(newRow); } db.SaveChanges(); } } }
void temp_Событие(новый_клиент.temp obj) { Console.WriteLine(obj.поле); if (obj.поле == "прим0") { клКлиент.deRow.прим = obj.прим0; db.SaveChanges(); } if (obj.поле == "прим") { примечания[] delRows = клКлиент.deRow.примечания.Where(n => n.услуга == obj.услуга).ToArray(); foreach (примечания dRow in delRows) { клКлиент.deRow.примечания.Remove(dRow); db.SaveChanges(); } if (obj.прим != null) { if (obj.прим.Trim() != String.Empty) { // услуги newRow = db.услуги.Single(n => n.услуга == uRow.услуга); примечания newRow = new примечания(); newRow.клиент = клКлиент.клиент; newRow.прим = obj.прим; newRow.услуга = obj.услуга; клКлиент.deRow.примечания.Add(newRow); } db.SaveChanges(); } } if (obj.поле == "наш") { услуги[] delRows = клКлиент.deRow.услуги.Where(n => n.услуга == obj.услуга).ToArray(); foreach (услуги dRow in delRows) { клКлиент.deRow.услуги.Remove(dRow); db.SaveChanges(); } if (obj.наш) { услуги newRow = db.услуги.Single(n => n.услуга == obj.услуга); клКлиент.deRow.услуги.Add(newRow); } db.SaveChanges(); } }
private void обновить_дом() { // bool yy = false; foreach (var uRow in de.клиенты .Where(n => n.дом == клДом.дом) .Where(n => n.подъезд == клПодъезд.подъезд) .OrderBy(n => n.квартира) .ThenBy(n => n.ввод)) { // int i = 0; temp NewRow = new temp(); NewRow.подъезд = uRow.подъезд; NewRow.квартира = uRow.квартира; NewRow.ввод = uRow.ввод; NewRow.клиент = uRow.клиент; NewRow.фио = uRow.фио; NewRow.Имя = uRow.имя; NewRow.Отчество = uRow.отчество; NewRow.телефон = uRow.телефон; NewRow.прим0 = uRow.прим; var qПрим = uRow.примечания.Where(n => n.услуга == клУслуга.услуга); if (qПрим.Any()) { примечания pRow = qПрим.First(); NewRow.прим += pRow.прим.Trim(); } var qДог = uRow.подключения.Where(n => n.услуга == клУслуга.услуга); if (qДог.Any()) { DateTime maxData = qДог.Max(p => p.дата_с); NewRow.подключен = maxData; } var qОткл = uRow.отключения.Where(n => n.услуга == клУслуга.услуга); if (qОткл.Any()) { DateTime maxData = qОткл.Max(p => p.дата_с); NewRow.отключен = maxData; } var qЛьгота = uRow.льготы.Where(n => n.услуга == клУслуга.услуга); if (qЛьгота.Any()) { // DateTime maxData = qЛьгота.Max(p => p.дата_с); // NewRow.прим += " Льгота " + maxData.ToShortDateString(); NewRow.льгота = true; } var qПовт = uRow.повторы.Where(n => n.услуга == клУслуга.услуга); if (qПовт.Any()) { DateTime maxData = qПовт.Max(p => p.дата_с); NewRow.повтор = maxData; } tempList.Add(NewRow); } tempDict = tempList.ToDictionary(n => n.клиент); /////////////////////// //var абоненты = dsПодъезд1.абоненты1дома.ToDictionary(n => n.клиент); //DsПодъезд.абоненты1домаRow tRow; var queryMax = de.оплачено .Where(n => n.услуга == клУслуга.услуга) .Where(n => n.оплаты.клиенты.дом == клДом.дом) .Where(n => n.оплаты.клиенты.подъезд == клПодъезд.подъезд) .GroupBy(n => n.оплаты.клиент) .Select(n => new { клиент = n.Key, maxGM = n.Max(m => m.год * 100 + m.месяц) }); foreach (var yRow in queryMax) { var ключ = yRow.клиент; if (tempDict.ContainsKey(ключ)) { tempDict[ключ].мГод = (int)(yRow.maxGM / 100); tempDict[ключ].мМесяц = yRow.maxGM - tempDict[ключ].мГод * 100; } } // заполнение оплачено при помощи вспомогательного поля aM в temp foreach (оплачено oRow in de.оплачено .Where(n => n.услуга == клУслуга.услуга) .Where(n => n.год == клМесяц.год) .Where(n => n.оплаты.клиенты.дом == клДом.дом) .Where(n => n.оплаты.клиенты.подъезд == клПодъезд.подъезд)) { var ключ = oRow.оплаты.клиент; if (tempDict.ContainsKey(ключ)) { temp tRow = tempDict[ключ]; tRow.SetFild(oRow.месяц, oRow.сумма); } } bindingSource1.DataSource = tempList; }