コード例 #1
0
        private void button_ok_Click(object sender, EventArgs e)
        {
            var address = MongoRepositoryAddresses.Get(textBox_street.Text, textBox_house.Text, textBox_building.Text,
                                                       textBox_apartment.Text);

            if (address == null)
            {
                MessageBox.Show("Адрес не занесен в базу!");
                return;
            }

            var orgEvent = new OrgEvent
            {
                Id            = OrgEvent?.Id ?? Guid.NewGuid(),
                EventType     = GetEventType(),
                CounterType   = GetCounterType(),
                AddressId     = address.Id,
                DateTime      = dateTimePicker_date.Value.Ticks,
                ImplementerId = ((ComboBoxItem)comboBox_implementer.SelectedItem).HiddenValue,
                Place         = string.IsNullOrEmpty(textBox_place.Text) ? null : textBox_place.Text,
                Count         = Convert.ToDecimal(textBox_count.Text)
            };

            MongoRepositoryOrgEvent.Upsert(orgEvent);

            Close();
        }
コード例 #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            chart1.Visible = true;
            var startTicks = dateTimePicker1.Value.Date.Ticks;
            var endTicks   = dateTimePicker2.Value.Date.AddDays(1).Ticks;

            var eventList = MongoRepositoryOrgEvent.GetByDate(startTicks, endTicks, new List <EventType>
            {
                EventType.DISASSEMBLY,
                EventType.INSTALL,
                EventType.REVISION,
                EventType.VERIFICATION
            });

            var implementers = MongoRepositoryImplementers.GetAll();

            chart1.Series.Clear();
            chart1.Series.Add(new Series(""));
            chart1.Series[0].ChartType = SeriesChartType.Pie;

            foreach (var imp in implementers)
            {
                var count = eventList.Count(c => c.ImplementerId == imp.Id);
                var perc  = eventList.Count != 0 ? decimal.Round((decimal)count / (decimal)eventList.Count * 100, 2) : 0;
                chart1.Series[0].Points.AddXY(imp.Name + " (" + perc + "%)", count);
            }
        }
コード例 #3
0
        private void button2_Click(object sender, EventArgs e)
        {
            var startTicks = dateTimePicker21.Value.Date.Ticks;
            var endTicks   = dateTimePicker22.Value.Date.AddDays(1).Ticks;

            var eventList = MongoRepositoryOrgEvent.GetByDate(startTicks, endTicks,
                                                              new List <EventType>
            {
                EventType.DISASSEMBLY,
                EventType.INSTALL,
                EventType.REVISION,
                EventType.VERIFICATION
            });

            var userList      = MongoRepositoryUsers.GetAll();
            var addressIdList = eventList.Select(s => s.AddressId).Distinct().ToList();
            var addressList   = MongoRepositoryAddresses.GetMany(addressIdList);

            foreach (var orgEvent in eventList)
            {
                orgEvent.AddressId = addressList.First(f => f.Id == orgEvent.AddressId).UserId;
            }

            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
            Workbook   xlWorkBook  = xlApp.Workbooks.Open(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Templates\\template_report_events_controller.xls"), 0, true, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
            _Worksheet xlWorksheet = (_Worksheet)xlWorkBook.Sheets[1];

            xlWorksheet.Cells[4, 2] = dateTimePicker21.Value.Date.ToString("D");
            xlWorksheet.Cells[4, 5] = dateTimePicker22.Value.Date.ToString("D");

            var startRow = 7;
            var grouped  = eventList.GroupBy(g => g.AddressId).ToDictionary(d => d.Key);

            foreach (var keyValue in grouped)
            {
                var val      = keyValue.Value;
                var userName = userList.First(f => f.Id == keyValue.Key).Name;
                xlWorksheet.Cells[startRow, 1] = userName;
                xlWorksheet.Cells[startRow, 2] = val.Count(w => w.EventType == EventType.INSTALL);
                xlWorksheet.Cells[startRow, 3] = val.Count(w => w.EventType == EventType.VERIFICATION);
                xlWorksheet.Cells[startRow, 4] = val.Count(w => w.EventType == EventType.REVISION);
                xlWorksheet.Cells[startRow, 5] = val.Count(w => w.EventType == EventType.DISASSEMBLY);

                var startCell = xlWorksheet.Cells[startRow, 1];
                var endCell   = xlWorksheet.Cells[startRow, 5];
                var range     = xlWorksheet.Range[startCell, endCell];
                range.Style.HorizontalAlignment = XlHAlign.xlHAlignCenter;
                range.Style.VerticalAlignment   = XlVAlign.xlVAlignCenter;
                range.Borders.LineStyle         = XlLineStyle.xlContinuous;

                var start = xlWorksheet.Cells[startRow, 1];
                var end   = xlWorksheet.Cells[startRow, 1];
                xlWorksheet.Range[start, end].Font.Bold      = true;
                xlWorksheet.Range[start, end].Borders.Weight = XlBorderWeight.xlMedium;

                startRow++;
            }
            xlApp.Visible = true;
        }
コード例 #4
0
        private void button_delete_Click(object sender, EventArgs e)
        {
            int             selectedrowindex = dataGridView1.SelectedCells[0].RowIndex;
            DataGridViewRow selectedRow      = dataGridView1.Rows[selectedrowindex];
            string          a = selectedRow.Cells["Id"].Value.ToString();

            MongoRepositoryOrgEvent.Remove(Guid.Parse(a));
        }
コード例 #5
0
        private void button_ok_Click(object sender, EventArgs e)
        {
            //var startDate = dateTimePicker1.Value.DateTime;
            //var endDate = dateTimePicker2.Value.DateTime;

            var startTicks = dateTimePicker1.Value.Date.Ticks;
            var endTicks   = dateTimePicker2.Value.Date.AddDays(1).Ticks;

            var events = MongoRepositoryOrgEvent.GetByDate(startTicks, endTicks, new List <EventType> {
                EventType.DISASSEMBLY, EventType.INSTALL
            });
            var addressIdList = events.Select(s => s.AddressId).Distinct().ToList();
            var addressList   = MongoRepositoryAddresses.Get(addressIdList);

            var disassemblyEventList = events.Where(w => w.EventType == EventType.DISASSEMBLY).ToList();
            var installEventList     = events.Where(w => w.EventType == EventType.INSTALL).ToList();

            var result = new List <Disassembly>();

            foreach (var dis in disassemblyEventList)
            {
                var address = addressList.First(f => f.Id == dis.AddressId);
                var install = installEventList.First(w => w.AddressId == dis.AddressId && w.CounterType == dis.CounterType);

                var disassembly = new Disassembly
                {
                    Date             = dis.DateTime.ToString("dd.MM.yyyy"),
                    Address          = address.Street + " " + address.House + " " + address.Building + " " + address.Apartment,
                    CountDisassembly = dis.Count,
                    CountInstall     = install.Count
                };
                result.Add(disassembly);
            }

            /*  var disList = new List<Disassembly>();
             * disList.Add(new Disassembly
             * {
             *    Date = "10.12.2017",
             *    Address = "ул. Репина",
             *    CountDisassembly = 202103,
             *    CountInstall = 123
             * });
             * disList.Add(new Disassembly
             * {
             *    Date = "10.12.2018",
             *    Address = "ул. Филатова",
             *    CountDisassembly = 25553,
             *    CountInstall = 1
             * }); */

            Export(result);



            Close();
        }
コード例 #6
0
        //private void MainForm_Load(object sender, EventArgs e)
        //{
        //    //DGVBind();

        //    //var bindingList = new BindingList<Implementer>(implementers);
        //    //var source = new BindingSource(bindingList, null);
        //    //dataGridView1.DataSource = source;
        //}

        private void MainForm_Activated(object sender, EventArgs e)
        {
            dataGridView1.Rows.Clear();
            var eventList    = MongoRepositoryOrgEvent.GetAll();
            var addressList  = MongoRepositoryAddresses.GetAll();
            var implementers = MongoRepositoryImplementers.GetAll();

            foreach (var orgEvent in eventList)
            {
                var address       = addressList.First(w => w.Id == orgEvent.AddressId);
                var addressString = string.Join(", ", new List <string> {
                    address.Street, address.House, address.Building, address.Apartment
                });

                var implementer = implementers.First(a => a.Id == orgEvent.ImplementerId).Name;

                var counterType = String.Empty;
                switch (orgEvent.CounterType)
                {
                case Models.CounterType.COLD:
                    counterType = "Холодная вода";
                    break;

                case Models.CounterType.HOT:
                    counterType = "Горячая вода";
                    break;

                case Models.CounterType.ELECTRO:
                    counterType = "Электрический";
                    break;
                }

                var eventType = string.Empty;
                switch (orgEvent.EventType)
                {
                case Models.EventType.INSTALL:
                    eventType = "Установка";
                    break;

                case Models.EventType.REVISION:
                    eventType = "Переустановка";
                    break;

                case Models.EventType.VERIFICATION:
                    eventType = "Поверка";
                    break;

                case Models.EventType.DISASSEMBLY:
                    eventType = "Демонтаж";
                    break;
                }

                dataGridView1.Rows.Add(orgEvent.Id, orgEvent.AddressId, addressString, counterType, orgEvent.Place, new DateTime(orgEvent.DateTime).ToString("D"), implementer, eventType);
            }
        }
コード例 #7
0
        private void button_update_Click(object sender, EventArgs e)
        {
            int             selectedrowindex = dataGridView1.SelectedCells[0].RowIndex;
            DataGridViewRow selectedRow      = dataGridView1.Rows[selectedrowindex];
            string          a        = selectedRow.Cells["Id"].Value.ToString();
            var             orgEvent = MongoRepositoryOrgEvent.Get(Guid.Parse(a));

            Address address = null;

            if (orgEvent != null)
            {
                address = MongoRepositoryAddresses.Get(orgEvent.AddressId);
            }

            new OrgEventForm(orgEvent, address).ShowDialog();
        }
コード例 #8
0
        private void button_ok_Click(object sender, EventArgs e)
        {
            var startTicks = dateTimePicker11.Value.Date.Ticks;
            var endTicks   = dateTimePicker12.Value.Date.AddDays(1).Ticks;
            var events     = MongoRepositoryOrgEvent.GetByDate(startTicks, endTicks, new List <EventType> {
                EventType.VERIFICATION, EventType.INSTALL, EventType.REVISION, EventType.DISASSEMBLY
            });

            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
            Workbook   xlWorkBook  = xlApp.Workbooks.Open(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Templates\\template_report_events_period.xls"), 0, true, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
            _Worksheet xlWorksheet = (_Worksheet)xlWorkBook.Sheets[1];

            var startRow = 8;

            var counterTypeDic = events.GroupBy(g => g.CounterType).ToDictionary(d => d.Key);
            var eventTypeDic   = events.GroupBy(g => g.EventType).ToDictionary(d => d.Key);

            xlWorksheet.Cells[4, 2] = dateTimePicker11.Value.Date.ToString("D");
            xlWorksheet.Cells[4, 5] = dateTimePicker12.Value.Date.Date.ToString("D");

            foreach (var ect in counterTypeDic)
            {
                var val = ect.Value;
                xlWorksheet.Cells[startRow, 2] = val.Count(w => w.EventType == EventType.VERIFICATION);
                xlWorksheet.Cells[startRow, 3] = val.Count(w => w.EventType == EventType.REVISION);
                xlWorksheet.Cells[startRow, 4] = val.Count(w => w.EventType == EventType.INSTALL);
                xlWorksheet.Cells[startRow, 5] = val.Count(w => w.EventType == EventType.DISASSEMBLY);
                xlWorksheet.Cells[startRow, 6] = val.Count();
                startRow++;
            }

            xlWorksheet.Cells[11, 2] = eventTypeDic[EventType.VERIFICATION].Count();
            xlWorksheet.Cells[11, 3] = eventTypeDic[EventType.REVISION].Count();
            xlWorksheet.Cells[11, 4] = eventTypeDic[EventType.INSTALL].Count();
            xlWorksheet.Cells[11, 5] = eventTypeDic[EventType.DISASSEMBLY].Count();



            xlApp.Visible = true;
        }
コード例 #9
0
        private void button_load_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(textBox_path.Text))
            {
                MessageBox.Show("Укажите путь к файлу!");
            }

            var exist = File.Exists(textBox_path.Text);

            if (!exist)
            {
                MessageBox.Show("Файл не найден!");
            }

            var addressList = MongoRepositoryAddresses.GetByUserId(((ComboBoxItem)comboBox1.SelectedItem).HiddenValue);

            verificList = MongoRepositoryOrgEvent.GetByAddressandType(addressList, EventType.VERIFICATION);

            progressBar1.Minimum = 0;
            var verificationList = Parse(addressList);

            Export_revision(verificationList, verificList);
        }
コード例 #10
0
        private void button_ok_Click(object sender, EventArgs e)
        {
            var startTicks = dateTimePicker_start.Value.Date.Ticks;
            var endTicks   = dateTimePicker_end.Value.Date.AddDays(1).Ticks;
            var eventTypes = new List <EventType> {
                EventType.INSTALL
            };


            var eventList     = MongoRepositoryOrgEvent.GetByDate(startTicks, endTicks, eventTypes);
            var addressIdList = eventList.Select(s => s.AddressId).Distinct().ToList();
            var addressList   = MongoRepositoryAddresses.Get(addressIdList);


            object fileName = Path.Combine(Application.StartupPath, "Templates\\template_acceptance_acts.doc");

            Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application {
                Visible = true
            };
            Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Open(fileName, ReadOnly: false, Visible: true);
            aDoc.Activate();


            FindAndReplace(wordApp, "{date}", DateTime.Today.ToString("D"));
            object missing = System.Reflection.Missing.Value;

            for (int i = 0; i < eventList.Count; i++)
            {
                var address = addressList.First(w => w.Id == eventList[i].AddressId);

                var counterType = string.Empty;
                switch (eventList[i].CounterType)
                {
                case CounterType.COLD:
                    counterType = "ХВС";
                    break;

                case CounterType.HOT:
                    counterType = "ГВС";
                    break;

                case CounterType.ELECTRO:
                    counterType = "Электр.";
                    break;
                }

                aDoc.Tables[1].Rows.Add(ref missing);
                aDoc.Tables[1].Rows[i + 4].Range.Bold      = 0;
                aDoc.Tables[1].Rows[i + 4].Range.Font.Size = 10;


                aDoc.Tables[1].Rows[i + 4].Cells[1].Range.Text = address.Street;
                aDoc.Tables[1].Rows[i + 4].Cells[2].Range.Text = address.House;
                aDoc.Tables[1].Rows[i + 4].Cells[3].Range.Text = address.Apartment;
                aDoc.Tables[1].Rows[i + 4].Cells[4].Range.Text = new DateTime(eventList[i].DateTime).ToString("D");
                aDoc.Tables[1].Rows[i + 4].Cells[5].Range.Text = counterType;
                aDoc.Tables[1].Rows[i + 4].Cells[6].Range.Text = eventList[i].Place;
            }



            Close();
        }
コード例 #11
0
        private void button_ok_Click(object sender, EventArgs e)
        {
            var startDate = dateTimePicker_start.Value.Date.Ticks;
            var endDate = dateTimePicker_end.Value.Date.AddDays(1).Ticks;

            var counterTypeList = new List<CounterType>();
            if (comboBox1.SelectedIndex == 0)
            {
                counterTypeList.Add(CounterType.COLD);
                counterTypeList.Add(CounterType.HOT);
            }
            else
            {
                counterTypeList.Add(CounterType.ELECTRO);
            }

            var events = MongoRepositoryOrgEvent.GetByDate(startDate, endDate,
                new List<EventType> {EventType.VERIFICATION}, counterTypeList);


            object fileName = Path.Combine(Application.StartupPath, "Templates\\template_verification_register.doc");
            Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application { Visible = true };
            Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Open(fileName, ReadOnly: false, Visible: true);
            aDoc.Activate();


            FindAndReplace(wordApp, "{date}", DateTime.Today.ToString("D"));
            object missing = System.Reflection.Missing.Value;

            
            if (comboBox1.SelectedIndex == 0)
            {
                var dd = events.GroupBy(g => new {g.AddressId, g.Place}).ToDictionary(d => d.Key.AddressId);

                for (int i = 0; i < 8; i++)
                {
                    aDoc.Tables[1].Columns.Add(ref missing);
                }

                aDoc.Tables[1].Rows[1].Range.Bold = 1;
                aDoc.Tables[1].Rows[1].Cells[1].Range.Text = "№ п/п";
                aDoc.Tables[1].Rows[1].Cells[2].Range.Text = "Адрес";
                aDoc.Tables[1].Rows[1].Cells[3].Range.Text = "Дата поверки";
                aDoc.Tables[1].Rows[1].Cells[4].Range.Text = "ХВС № заводск.";
                aDoc.Tables[1].Rows[1].Cells[5].Range.Text = "показания";
                aDoc.Tables[1].Rows[1].Cells[6].Range.Text = "Дата след.гос.поверки";
                aDoc.Tables[1].Rows[1].Cells[7].Range.Text = "ГВС № заводск.";
                aDoc.Tables[1].Rows[1].Cells[8].Range.Text = "показания";
                aDoc.Tables[1].Rows[1].Cells[9].Range.Text = "Дата след.гос.поверки";




                foreach (var rec in dd)
                {
                    var cold = rec.Value.FirstOrDefault(w => w.CounterType == CounterType.COLD);
                    var hot = rec.Value.FirstOrDefault(w => w.CounterType == CounterType.HOT);

                    var i = 1;
                    aDoc.Tables[1].Rows.Add(ref missing);
                    aDoc.Tables[1].Rows[i + 1].Range.Bold = 0;
                    aDoc.Tables[1].Rows[i + 1].Range.Font.Size = 10;
                    aDoc.Tables[1].Rows[i + 1].Cells[1].Range.Text = i.ToString();
                    aDoc.Tables[1].Rows[i + 1].Cells[2].Range.Text = "LEL";
                    aDoc.Tables[1].Rows[i + 1].Cells[3].Range.Text = new DateTime(cold.DateTime).ToString("D"); 
                    aDoc.Tables[1].Rows[i + 1].Cells[4].Range.Text = cold.Place;
                    aDoc.Tables[1].Rows[i + 1].Cells[5].Range.Text = cold.Count.ToString();
                    aDoc.Tables[1].Rows[i + 1].Cells[6].Range.Text = new DateTime(cold.DateTime).AddYears(4).ToString("D");
                    aDoc.Tables[1].Rows[i + 1].Cells[7].Range.Text = hot?.Place;
                    aDoc.Tables[1].Rows[i + 1].Cells[8].Range.Text = hot?.Count.ToString();
                    aDoc.Tables[1].Rows[i + 1].Cells[9].Range.Text = hot == null ? null : new DateTime(hot.DateTime).AddYears(4).ToString("D");
                }




                //for (int i = 0; i < dissasemblyList.Count; i++)
                //{
                //      aDoc.Tables[1].Rows.Add(ref missing);
                //    aDoc.Tables[1].Rows[i + 2].Range.Bold = 0;
                //    aDoc.Tables[1].Rows[i + 2].Range.Font.Size = 10;
                //    aDoc.Tables[1].Rows[i + 2].Cells[1].Range.Text = (i + 1).ToString();
                //    aDoc.Tables[1].Rows[i + 2].Cells[2].Range.Text = dissasemblyList[i].Date;
                //    aDoc.Tables[1].Rows[i + 2].Cells[3].Range.Text = dissasemblyList[i].Address;
                //    aDoc.Tables[1].Rows[i + 2].Cells[4].Range.Text = dissasemblyList[i].CountDisassembly.ToString();
                //    aDoc.Tables[1].Rows[i + 2].Cells[5].Range.Text = dissasemblyList[i].CountInstall.ToString();
                //}
            }
            else
            {
                
            }


            Close();
        }