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);
                    }
                }
            }
        }
Example #2
0
        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;
        }
Example #4
0
        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();
                }
            }
        }
Example #5
0
        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();
                }
            }
        }
Example #6
0
        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;
        }