private void AddFromListButton_Click(object sender, RoutedEventArgs e) { var vm = this.DataContext as SendGroupViewModel; var psw = new PersonsView(1); var pswVm = psw.DataContext as PersonsViewModel; pswVm.ReadyOnly = true; pswVm.Gorod = vm.City; pswVm.VihodDat = vm.OtprDat; pswVm.FindCommand.Execute(null);//psw.FindButton_Click(null,null); if (psw.ShowDialog() == true) { var db = new ProvodnikContext(); foreach (var id in psw.vm.PersonList.Where(pp => pp.IsSelected).Select(pp => pp.Id)) { if (vm.Persons.FirstOrDefault(pp => pp.PersonId == id) != null) { continue; } var np = MainWindow.Mapper.Value.Map <SendGroupPersonViewModel>(db.Persons.First(pp => pp.Id == id)); np.SendGroupViewModel = vm; if (vm.Persons.Count == 0) { np.IsMain = true; } vm.Persons.Add(np); } } }
public void RefreshList() { List.Clear(); var db = new ProvodnikContext(); var yearStart = DateTime.Today; yearStart = yearStart.AddDays(-yearStart.Day + 1).AddMonths(-yearStart.Month + 1); var qq = (from p in db.Persons where //p.UchebStartDat > yearStart && p.UchebGruppa != null orderby p.UchebStartDat descending select new { p.UchebGruppa, p.UchebStartDat, p.UchebEndDat, p.UchebCentr }).Distinct() .Select(pp => new UchebGruppaViewModel() { UchebCentr = pp.UchebCentr, UchebGruppa = pp.UchebGruppa, UchebStartDat = pp.UchebStartDat, UchebEndDat = pp.UchebEndDat }); foreach (var q in qq) { List.Add(q); } }
void ListView_MouseDoubleClick(object sender, MouseButtonEventArgs e) { var p = ((FrameworkElement)e.OriginalSource).DataContext as PersonShortViewModel; if (p != null) { var pw = new PersonView(); var db = new ProvodnikContext(); var pvm = new PersonViewModel(p.Id); pw.DataContext = pvm; if (pw.ShowDialog() == true) { var ind = vm.PersonList.IndexOf(p); vm.PersonList.RemoveAt(ind); p = MainWindow.Mapper.Value.Map <PersonShortViewModel>(new ProvodnikContext().Persons.First(pp => pp.Id == p.Id)); vm.PersonList.Insert(ind, p); //vm.RefreshPersonList(); //TODO goto if exist or add anyway and goto vm.InitCollectionsForCombo(); Helper.SetPersonShortIndexes(PersonsListView); } } }
public SendGroupsView() { InitializeComponent(); var db = new ProvodnikContext(); var qq = (from g in db.SendGroups orderby g.Id descending select g).ToList(); // var ptt = MainWindow.Mapper.Value.Map<SendGroupViewModel>(new ProvodnikContext().SendGroups.First(pp => pp.Id == 2)); foreach (var q in qq) { var g = MainWindow.Mapper.Value.Map <SendGroupViewModel>(q); /* SendGroupViewModel g = new SendGroupViewModel() * { * City = q.City, * Depo = q.Depo, * Id = q.Id, * Marshrut = q.Marshrut, * OtprDat = q.OtprDat, * Poezd = q.Poezd, * PribDat = q.PribDat, * PribTime = q.PribTime, * RegOtdelenie = q.RegOtdelenie, * Uvolnenie = q.Uvolnenie, * Vagon = q.Vagon, * Vokzal = q.Vokzal, * Vstrechat = q.Vstrechat * };*/ //MainWindow.Mapper.Value.Map(q,g);g.Id = q.Id; groups.Add(g); } GroupsListView.ItemsSource = groups; // this.DataContext = new PersonViewModel(new ProvodnikContext().Persons.FirstOrDefault()==null?(int?)null:1); }
public void VSOP2()//DateTime start, DateTime end, ProgressBar progress) { var vm = DataContext as SendGroupViewModel; excelReport excel = new excelReport(); excel.Init("ВСОП_2.xlsx", string.Format(@"ВСОП_2_{0}_{1}__{2}_{3}.xlsx", vm.OtprDat.Value.ToString("dd.MM.yyyy"), "Новосибирск", vm.City, vm.Persons.Count), otchetDir: otchetDir); int ri = 1; var db = new ProvodnikContext(); var ids = vm.Persons.Select(pp => pp.PersonId).ToList(); var rr = db.Persons.Where(pp => ids.Contains(pp.Id)); foreach (var r in rr)//vm.Persons) { ri++; excel.cell[ri, 1].value2 = ri - 1; excel.cell[ri, 2].value2 = vm.RegOtdelenie; var fio = new StringHelper().ParseFio(r.Fio); excel.cell[ri, 3].value2 = fio[0]; excel.cell[ri, 4].value2 = fio[1]; excel.cell[ri, 5].value2 = fio[2]; excel.cell[ri, 6].value2 = r.BirthDat.HasValue ? r.BirthDat.Value.ToString("dd.MM.yyyy") : ""; excel.cell[ri, 7].value2 = r.UchebCentr; excel.cell[ri, 8].value2 = (r.ExamenDat.HasValue) ? r.ExamenDat.Value.Year.ToString() : (r.UchebEndDat.HasValue ? r.UchebEndDat.Value.Year.ToString() : ""); } excel.setAllBorders(excel.get_Range("A2", "I" + ri)); excel.Finish(); }
public void Soglasie() { var path = (string.Format("{0}\\_шаблоны\\" + "Согласие на обработку персональных данных.dotx", AppDomain.CurrentDomain.BaseDirectory)); Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application { Visible = true }; Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Add(path); //, ReadOnly: false, Visible: true); aDoc.Activate(); // var vm = DataContext as SendGroupViewModel; var db = new ProvodnikContext(); var p = this.DataContext as PersonViewModel; Microsoft.Office.Interop.Word.Range range = aDoc.Content; range.Find.ClearFormatting(); range.Find.Execute(FindText: "{today}", ReplaceWith: DateTime.Today.ToString("dd.MM.yyyy"), Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll); range.Find.Execute(FindText: "{till}", ReplaceWith: DateTime.Today.AddYears(1).ToString("dd.MM.yyyy"), Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll); string passport = $"{p.PaspSeriya} {p.PaspNomer} выдан {p.PaspVidan} {p.VidanDat}"; range.Find.Execute(FindText: "{passport}", ReplaceWith: passport, Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll); range.Find.Execute(FindText: "{fio}", ReplaceWith: p.Fio, Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll); range.Find.Execute(FindText: "{addres}", ReplaceWith: p.PaspAdres, Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll); range.Find.Execute(FindText: "{till}", ReplaceWith: DateTime.Today.AddYears(1).ToString("dd.MM.yyyy"), Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll); //string otchetDir = @"C:\_provodnikFTP"; //aDoc.SaveAs(FileName: otchetDir + @"\Согласие на обработку персональных данных.DOCX"); }
public MedKomZayavkiView() { InitializeComponent(); var db = new ProvodnikContext(); var qq = (from g in db.MedKomZayavki select g) .ToList() .Select(x => new { x, num = int.TryParse(x.Name.Substring(0, x.Name.IndexOf("_")), out var num) ? (int?)num : null })
private void PersonsListView_KeyUp(object sender, KeyEventArgs e) { if (e.Key == Key.Delete) { if (PersonsListView.SelectedItem != null && MessageBox.Show("Удалить группу? У участников будут очищены соотвествующие поля", "Подтверждение удаления", MessageBoxButton.OKCancel, MessageBoxImage.Question) == MessageBoxResult.OK) { var ug = PersonsListView.SelectedItem as UchebGruppaViewModel; var vm = DataContext as ObucheniyasViewModel; using (var db = new ProvodnikContext()) { var toDelete = (from p in db.Persons where p.UchebGruppa == ug.UchebGruppa && p.UchebCentr == ug.UchebCentr && p.UchebStartDat == ug.UchebStartDat && p.UchebEndDat == ug.UchebEndDat select p).ToList(); foreach (var p in toDelete) { p.UchebGruppa = null; p.UchebCentr = null; p.UchebStartDat = null; p.UchebEndDat = null; db.SaveChanges(); var pvm = new PersonViewModel(p.Id, false); pvm.FillMessagesAndAlls(p); db.SaveChanges(); } vm.List.Remove(ug); } } } }
public List <string> GetMarshruts() { var r = new ProvodnikContext().SendGroups.Select(pp => pp.Marshrut) .Union(new string[] { "Новосибирск – Москва – Новосибирск", "Новосибирск – Санкт-Петербург – Новосибирск", "Новосибирск – Адлер – Новосибирск", "Новосибирск – Новороссийск – Новосибирск" }) .Distinct().OrderBy(pp => pp).ToList(); return(r); }
public List <string> GetUchZavedeniya() { var items = new ProvodnikContext().Persons.Select(pp => pp.UchZavedenie).Distinct().OrderBy(pp => pp).ToList(); items.Remove(RepoConsts.NoUchZavedenie); items.Insert(0, RepoConsts.NoUchZavedenie); return(items);// new List<string> { "не учится", "СГУПС" }; }
public void ReestrPeredachi() { var vm = DataContext as SendGroupViewModel; var db = new ProvodnikContext(); var ids = vm.Persons.Select(pp => pp.PersonId); var pe = db.Persons.Where(pp => ids.Contains(pp.Id)).ToList(); if (pe.Count == 0) { return; } var path = (string.Format("{0}\\_шаблоны\\" + "Акт передачи документов.docx", AppDomain.CurrentDomain.BaseDirectory)); Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application { Visible = false }; Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Open(path, ReadOnly: false, Visible: false); aDoc.Activate(); object missing = Missing.Value; Microsoft.Office.Interop.Word.Range range = aDoc.Content; range.Find.ClearFormatting(); range.Find.Execute(FindText: "{City}", ReplaceWith: vm.City, Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll); range.Find.Execute(FindText: "{Filial}", ReplaceWith: vm.Filial, Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll); range.Find.Execute(FindText: "{Sp}", ReplaceWith: vm.Sp, Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll); range.Find.Execute(FindText: "{Ochniki}", ReplaceWith: vm.Persons.Count(x => x.UchForma == UchFormaConsts.Ochnaya), Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll); range.Find.Execute(FindText: "{Count}", ReplaceWith: vm.Persons.Count(), Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll); range.Find.Execute(FindText: "{ВЧ}", ReplaceWith: vm.DepoRod, Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll); var table = aDoc.Tables[3]; int iRow = 2; foreach (var p in vm.Persons) { if (iRow > 2) { table.Rows.Add(ref missing); } table.Cell(iRow, 1).Range.Text = (iRow - 1).ToString() + '.'; table.Cell(iRow, 2).Range.Text = p.Fio; table.Cell(iRow, 3).Range.Text = p.UchForma; table.Cell(iRow, 4).Range.Text = "ЕСТЬ"; iRow++; } aDoc.SaveAs(FileName: otchetDir + $@"\Акт передачи документов.docx"); aDoc.Close(); }
public void VSOP3(bool otdelno = false)//DateTime start, DateTime end, ProgressBar progress) { var vm = DataContext as SendGroupViewModel; excelReport excel = new excelReport(); if (!otdelno) { excel.Init("ВСОП_3.xlsx", string.Format(@"ВСОП_3_{0}_{1}__{2}_{3}.xlsx", vm.OtprDat.Value.ToString("dd.MM.yyyy"), "Новосибирск", vm.City, vm.Persons.Count), otchetDir: otchetDir); } else { excel.Init("ВСОП_3.xlsx", string.Format(@"ВСОП_3_{0}_{1}__{2}_{3}.xlsx", vm.OtprDat.Value.ToString("dd.MM.yyyy"), "Новосибирск", vm.City, vm.Persons.Count), true); } int ri = 1; var db = new ProvodnikContext(); var ids = vm.Persons.Select(pp => pp.PersonId).ToList(); var rr = db.Persons.Where(pp => ids.Contains(pp.Id)); ri = 2; excel.cell[ri, 2].value2 = vm.RegOtdelenie; excel.cell[ri, 3].value2 = vm.Persons.Count; excel.cell[ri, 4].value2 = vm.Poezd; excel.cell[ri, 5].value2 = vm.Vagon; excel.cell[ri, 6].value2 = vm.OtprDat.HasValue ? vm.OtprDat.Value.ToString("dd.MM.yyyy") : ""; excel.cell[ri, 7].value2 = vm.PribDat.HasValue ? vm.PribDat.Value.ToString("dd.MM.yyyy") : ""; excel.cell[ri, 8].value2 = vm.PribTime; var main = vm.Persons.FirstOrDefault(pp => pp.IsMain); if (main != null) { excel.cell[ri, 9].value2 = main.Fio; excel.cell[ri, 10].value2 = Helper.FormatPhone(main.Phone); } excel.cell[ri, 11].value2 = vm.Vstrechat?"да":"нет"; excel.cell[ri, 12].value2 = vm.Vokzal; ri = 1; foreach (var r in rr)//vm.Persons) { ri++; excel.cell[ri, 13].value2 = r.Fio; } excel.setAllBorders(excel.get_Range("B2", "M" + ri)); excel.Finish(!otdelno); }
private void SaveButton_Click(object sender, RoutedEventArgs e) { var vm = this.DataContext as MedKomZayavkaViewModel; if (!vm.Validator.IsValid) { MessageBox.Show(string.Join(Environment.NewLine, vm.Validator.ValidationMessages)); } var db = new ProvodnikContext(); MedKomZayavka p; if (vm.Id.HasValue) { p = db.MedKomZayavki.Single(pp => pp.Id == vm.Id.Value); MainWindow.Mapper.Value.Map(vm, p); var currents = vm.Persons.Select(pp => pp.PersonId).ToList(); var toDelete = (from pd in db.MedKomZayavkaPersons where pd.MedKomZayavkaId == p.Id && !currents.Contains(pd.PersonId) select pd); db.MedKomZayavkaPersons.RemoveRange(toDelete); db.SaveChanges(); } else { p = new MedKomZayavka(); MainWindow.Mapper.Value.Map(vm, p); db.MedKomZayavki.Add(p); db.SaveChanges(); } foreach (var d in vm.Persons) { MedKomZayavkaPerson pd; if (d.Id == null) { db.MedKomZayavkaPersons.Add(pd = new MedKomZayavkaPerson() { MedKomZayavkaId = p.Id, PersonId = d.PersonId }); db.SaveChanges(); } var person = (from pe in db.Persons where d.PersonId == pe.Id select pe).FirstOrDefault(); if (person != null) { person.IsNaprMedZakazano = d.IsNaprMedZakazano; person.IsNaprMedPolucheno = d.IsNaprMedPolucheno; person.IsNaprMedVidano = d.IsNaprMedVidano; db.SaveChanges(); } } DialogResult = true; }
public List <string> GetSezons() { var ret = new ProvodnikContext().Persons.Select(pp => pp.Sezon).Distinct().OrderByDescending(pp => pp).ToList(); var cur = GetCurSezon();//.ToString("dd.MM.yyyy"); if (!ret.Any() || ret[0] != cur) { ret.Insert(0, cur); } return(ret); }
private void buttonOpen_Click(object sender, RoutedEventArgs e) { string error = null; // Rabotnik r = null; if (string.IsNullOrWhiteSpace(rabPopup.Text)) { error = "Не выбран пользователь!"; } else { App.user = new ProvodnikContext().Users.First(pp => pp.Login == rabPopup.Text); //rabPopup.selElem.param as Rabotnik; if (App.user.Wand != passwordBox.Password.GetHashCode().ToString()) { error = "Не верный пароль!"; } } if (rowNewPass.Height.IsAuto && newPasswordBox.Password.Length == 0 && isonload) { error = "Пустой новый пароль!"; } if (error != null) { MessageBox.Show(error, "Ошибка"); return; } /**/ if (passwordBox.Password == "123" && rowNewPass.Height.IsAbsolute && MessageBox.Show("Рекомендуется сменить стандартный пароль! Сменить сейчас?", "Смена пароля", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { rowNewPass.Height = new GridLength(1, GridUnitType.Auto); newPasswordBox.Focus(); return; } if (newPasswordBox.Password.Length > 0) { if (!checkNewPassword(newPasswordBox.Password)) { MessageBox.Show(error, "Пароль слишком простой"); return; } /* SafeQuery.RunAsync(() => * SafeQuery.Run(() => * {*/ App.user.Wand = newPasswordBox.Password.GetHashCode().ToString(); using (var db = new ProvodnikContext()) { db.Users.First(pp => pp.Id == App.user.Id).Wand = App.user.Wand; db.SaveChanges(); } /* }, 15000, () => { }) * , () => {//MessageBox.Show("Пароль изменен!"); * });*/ }
private void SaveButton_Click(object sender, RoutedEventArgs e) { try { var vm = this.DataContext as SendGroupViewModel; if (!vm.Validator.IsValid) { MessageBox.Show(string.Join(Environment.NewLine, vm.Validator.ValidationMessages)); } var db = new ProvodnikContext(); SendGroup p; if (vm.Id.HasValue) { p = db.SendGroups.Single(pp => pp.Id == vm.Id.Value); MainWindow.Mapper.Value.Map(vm, p); var currents = vm.Persons.Select(pp => pp.PersonId).ToList(); var toDelete = (from pd in db.SendGroupPersons where pd.SendGroupId == p.Id && !currents.Contains(pd.PersonId) select pd); db.SendGroupPersons.RemoveRange(toDelete); db.SaveChanges(); } else { p = new SendGroup(); MainWindow.Mapper.Value.Map(vm, p); db.SendGroups.Add(p); db.SaveChanges(); } foreach (var d in vm.Persons) { SendGroupPerson pd; if (d.Id == null) { db.SendGroupPersons.Add(pd = new SendGroupPerson() { IsMain = d.IsMain, SendGroupId = p.Id, PersonId = d.PersonId }); db.SaveChanges(); } } DialogResult = true; } catch (Exception ex) { MessageBox.Show("Ошибка при сохранении" + Environment.NewLine + ex.Message); } }
public int GetAlarmsCount() { using (var db = new ProvodnikContext()) { var dat = DateTime.Today.AddDays(-10); var medNaprQuery = from p in db.Persons where !p.IsMedKomm && p.NaprMedVidanoDat != null && p.NaprMedVidanoDat.Value < dat select 1; var docPrinesetKQuery = from p in db.Persons join pd in db.PersonDocs on p.Id equals pd.PersonId where pd.PrinesetK < DateTime.Today select 1; return((medNaprQuery.Union(docPrinesetKQuery)).Count()); } }
private void PersonsListView_KeyUp(object sender, KeyEventArgs e) { if (e.Key == Key.Delete) { if (PersonsListView.SelectedItem != null && MessageBox.Show("Удалить?", "Подтверждение удаления", MessageBoxButton.OKCancel, MessageBoxImage.Question) == MessageBoxResult.OK) { var g = PersonsListView.SelectedItem as PersonShortViewModel; vm.PersonList.Remove(g); var db = new ProvodnikContext(); db.Persons.Remove(db.Persons.First(pp => pp.Id == g.Id)); db.SaveChanges(); } } }
public MedKomZayavkaViewModel(int?medKomZayavkaId = null) { Validator = GetValidator(); Persons = new ObservableCollection <MedKomZayavkaPersonViewModel>(); Depos.Clear(); foreach (var d in repository.GetDeposMed()) { Depos.Add(d); } var db = new ProvodnikContext(); if (medKomZayavkaId.HasValue) { Id = medKomZayavkaId; MainWindow.Mapper.Value.Map(db.MedKomZayavki.Single(pp => pp.Id == medKomZayavkaId), this); var qq = (from pd in db.MedKomZayavkaPersons join p in db.Persons on pd.PersonId equals p.Id where pd.MedKomZayavkaId == medKomZayavkaId select new { pd, p }).ToList(); foreach (var q in qq) { MedKomZayavkaPersonViewModel pe = new MedKomZayavkaPersonViewModel(); MainWindow.Mapper.Value.Map(q.pd, pe); MainWindow.Mapper.Value.Map(q.p, pe); pe.MedKomZayavkaViewModel = this; Persons.Add(pe); } //Persons.Add(MainWindow.Mapper.Value.Map< MedKomZayavkaPersonViewModel>(db.MedKomZayavkas.Single(pp => pp.Id == MedKomZayavkaId), this); } else { var lastZayavka = db.MedKomZayavki.OrderByDescending(x => x.Id).FirstOrDefault(); if (lastZayavka != null && !string.IsNullOrEmpty(lastZayavka.BolnicaName)) { BolnicaName = lastZayavka.BolnicaName; BolnicaAdres = lastZayavka.BolnicaAdres; } else { BolnicaName = @"Поликлиника: ЧУЗ «КБ «РЖД - Медицина» г.Новосибирск» Псих.освидетельствование:Медицинский психодиагностический центр ""МЕНТАЛ КОНСАЛТИНГ"""; BolnicaAdres = @"Поликлиника: г.Новосибирск, ул.Сибирская, 21 Псих.осведетельствование: г.Новосибирск, ул.Красный проспект, 99"; } } }
private void ScansButton_Click(object sender, RoutedEventArgs e) { excelReport excel = new excelReport(); excel.Init("Сканы.xltx", $"Сканы.xlsx");//,visible:true);//, otchetDir: otchetDir); int ri = 1; var db = new ProvodnikContext(); var ids = vm.PersonList.Select(pp => pp.Id).ToList(); var qq = from p in db.Persons join pd in db.PersonDocs on p.Id equals pd.PersonId //join d in db.DocTypes on where ids.Contains(p.Id) && pd.FileName != null group pd by p into g select new { g.Key.Fio, g.Key.Otryad, scans = g.Select(pp => pp.DocTypeId) }; var dts = db.DocTypes.ToList(); int c = 2; foreach (var dt in dts) { c++; excel.cell[1, c].value2 = dt.Description; } foreach (var r in qq.OrderBy(pp => pp.Fio)) { ri++; excel.cell[ri, 1].value2 = r.Fio; excel.cell[ri, 2].value2 = r.Otryad; var set = new HashSet <int>(r.scans); c = 2; foreach (var dt in dts) { c++; excel.cell[ri, c].value2 = set.Contains(dt.Id) ? 1 : 0; } } excel.setAllBorders(excel.mySheet.Range[excel.cell[1, 1], excel.cell[ri, 2 + dts.Count]]); excel.myExcel.Visible = true; }
public void F6() //DateTime start, DateTime end, ProgressBar progress) { var vm = DataContext as SendGroupViewModel; excelReport excel = new excelReport(); excel.Init(/*(vm.City== "Москва")?"Ф6_Msk.xlsx":*/ "Ф6_ost.xlsx", $@"Ф6_{vm.OtprDat.Value.ToString("dd.MM.yyyy")}_Новосибирск__{ vm.City}_{vm.Persons.Count}.xlsx", otchetDir: otchetDir//,visible:true ); int ri = 7; var db = new ProvodnikContext(); var ids = vm.Persons.Select(pp => pp.PersonId).ToList(); var rr = db.Persons.Where(pp => ids.Contains(pp.Id)); excel.cell[4, 1].value2 = vm.DepoRod;// new Repository().GetF6Depo(vm.City, vm.Depo); if (vm.Persons.Count > 1) { excel.get_Range("A9", "A" + (8 + vm.Persons.Count - 1)).EntireRow.Select(); excel.myExcel.Selection.Insert(Excel.XlInsertShiftDirection.xlShiftDown, Excel.XlInsertFormatOrigin.xlFormatFromLeftOrAbove); } foreach (var r in rr)//vm.Persons) { ri++; excel.cell[ri, 1].value2 = ri - 7; excel.cell[ri, 2].value2 = r.Fio + Environment.NewLine + (r.BirthDat.HasValue ? r.BirthDat.Value.ToString("dd.MM.yyyy") : "") + Environment.NewLine + r.MestoRozd; excel.cell[ri, 3].value2 = "Проводник" + Environment.NewLine + "пассажирского" + Environment.NewLine + "вагона"; excel.cell[ri, 5].value2 = r.PaspAdres; excel.cell[ri, 6].value2 = r.Grazdanstvo == "КЗ"? "Паспорт гр-на РК:" : "Паспорт гр-на РФ:" + Environment.NewLine + r.PaspSeriya + " " + r.PaspNomer + Environment.NewLine + Helper.FormatSnils(r.Snils); excel.cell[ri, 7].value2 = (!string.IsNullOrWhiteSpace(vm.PeresadSt)) ? $"Новосибирск – {vm.PeresadSt} – {vm.City} – {vm.PeresadSt} – Новосибирск" : $"Новосибирск – {vm.City} – Новосибирск"; excel.cell[ri, 11].value2 = vm.Uvolnenie.HasValue ? vm.Uvolnenie.Value.ToString("dd.MM.yyyy") : ""; } excel.setAllBorders(excel.get_Range("A8", "K" + ri)); excel.Finish(); }
private void Button_Click(object sender, RoutedEventArgs e) { var pw = new SendGroupView(); pw.DataContext = new SendGroupViewModel(null);// new ProvodnikContext().Persons.FirstOrDefault()==null?(int?)null:1); if (pw.ShowDialog() == true) { groups.Clear(); var db = new ProvodnikContext(); var qq = (from g in db.SendGroups select g); foreach (var q in qq) { groups.Add(MainWindow.Mapper.Value.Map <SendGroupViewModel>(q)); } } }
private void ListView_MouseDoubleClick(object sender, MouseButtonEventArgs e) { var pe = ((FrameworkElement)e.OriginalSource).DataContext as AlarmViewModel; if (pe != null) { var vm = this.DataContext as SendGroupViewModel; var pw = new PersonView(); var db = new ProvodnikContext(); var pvm = new PersonViewModel(pe.Id); pw.DataContext = pvm; if (pw.ShowDialog() == true) { RefreshList(); } } }
public List <AlarmViewModel> GetAlarms() { using (var db = new ProvodnikContext()) { var dat = DateTime.Today.AddDays(-10); var medNaprQuery = from p in db.Persons where !p.IsMedKomm && p.NaprMedVidanoDat != null && p.NaprMedVidanoDat.Value < dat //orderby pd.PrinesetK, p.Fio select new { p.Id, p.Fio, p.Phone, p.BirthDat, Description = "Медкомиссия не пройдена", PrinesetK = p.NaprMedVidanoDat }; var docPrinesetKQuery = from p in db.Persons join pd in db.PersonDocs on p.Id equals pd.PersonId join pdt in db.DocTypes on pd.DocTypeId equals pdt.Id where pd.PrinesetK < DateTime.Today //orderby pd.PrinesetK, p.Fio select new { p.Id, p.Fio, p.Phone, p.BirthDat, pdt.Description, pd.PrinesetK }; return((medNaprQuery.Union(docPrinesetKQuery)).OrderBy(x => new { x.PrinesetK, x.Fio }).ToList() .Select(p => new AlarmViewModel(p.Id, p.Fio, p.Phone, p.BirthDat, p.Description, p.PrinesetK)).ToList()); } }
public void VSOP1() //DateTime start, DateTime end, ProgressBar progress) { var vm = DataContext as SendGroupViewModel; excelReport excel = new excelReport(); excel.Init("ВСОП_1.xlsx", string.Format(@"ВСОП_1_{0}_{1}__{2}_{3}.xlsx", vm.OtprDat.Value.ToString("dd.MM.yyyy"), "Новосибирск", vm.City, vm.Persons.Count), otchetDir: otchetDir); int ri = 1; var db = new ProvodnikContext(); var ids = vm.Persons.Select(pp => pp.PersonId).ToList(); var rr = db.Persons.Where(pp => ids.Contains(pp.Id)); foreach (var r in rr)//vm.Persons) { ri++; excel.cell[ri, 1].value2 = vm.RegOtdelenie; excel.cell[ri, 2].value2 = r.Fio; excel.cell[ri, 3].value2 = vm.Depo; excel.cell[ri, 4].value2 = Helper.FormatPhone(r.Phone); excel.cell[ri, 5].value2 = r.VaccineSert; excel.cell[ri, 6].value2 = r.VaccineSertDat?.ToString("dd.MM.yyyy"); excel.cell[ri, 7].value2 = r.UchZavedenie; excel.cell[ri, 8].value2 = r.UchForma; excel.cell[ri, 9].value2 = r.Grazdanstvo; excel.cell[ri, 10].value2 = r.Otryad; excel.cell[ri, 11].value2 = r.UchebCentr; excel.cell[ri, 12].value2 = (r.ExamenDat.HasValue)?r.ExamenDat.Value.Year.ToString() : (r.UchebEndDat.HasValue?r.UchebEndDat.Value.Year.ToString():""); excel.cell[ri, 13].value2 = Helper.FormatPhone(r.RodPhone); excel.cell[ri, 14].value2 = r.RodFio; } excel.setAllBorders(excel.get_Range("A2", "N" + ri)); excel.Finish(); }
public void Napravleniya() //DateTime start, DateTime end, ProgressBar progress) { var vm = DataContext as MedKomZayavkaViewModel; var num = ""; foreach (var n in vm.Name) { if (char.IsDigit(n)) { num += n; } else { break; } } excelReport excel = new excelReport(); excel.Init("Направление мед.xltx", $"Список на мед.комиссию{num}Новосибирское РО_{vm.Depo}.xlsx", false, System.IO.Path.GetTempPath());//,visible:true);//, otchetDir: otchetDir); int ri = 1; var db = new ProvodnikContext(); foreach (var r in vm.Persons) { ri++; excel.cell[ri, 1].value2 = ri - 1; excel.cell[ri, 2].value2 = r.VihodDat?.ToString("dd.MM.yyyy"); excel.cell[ri, 3].value2 = vm.Depo; excel.cell[ri, 4].value2 = "Новосибирское РО"; excel.cell[ri, 5].value2 = r.Fio; excel.cell[ri, 6].value2 = r.BirthDat?.ToString("dd.MM.yyyy"); excel.cell[ri, 7].value2 = vm.BolnicaName; excel.cell[ri, 8].value2 = vm.BolnicaAdres; } excel.setAllBorders(excel.get_Range("A1", "H" + ri)); excel.myExcel.Visible = true; excel.Finish(false); }
private void SpravkiPSOButton_Click(object sender, RoutedEventArgs e) { var db = new ProvodnikContext(); var ids = vm.PersonList.Select(pp => pp.Id).ToList(); var idsWithSpravka = new HashSet <int>(from p in db.Persons where ids.Contains(p.Id) join pd in db.PersonDocs on p.Id equals pd.PersonId where pd.DocTypeId == DocConsts.СправкаРСО && pd.FileName != null select p.Id); var persons = vm.PersonList.Where(p => !idsWithSpravka.Contains(p.Id)); if (!persons.Any()) { MessageBox.Show("Справки есть у всех"); return; } excelReport excel = new excelReport(); excel.Init("Справки РСО.xltx", $"Справки РСО { DateTime.Now.Ticks}.xlsx");//,visible:true);//, otchetDir: otchetDir); int ri = 1; foreach (var r in persons) { ri++; excel.cell[ri, 1].value2 = ri - 1; excel.cell[ri, 2].value2 = r.Fio; //excel.cell[ri, 3].value2 = "АО \"ФПК\""; excel.cell[ri, 4].value2 = r.BirthDat?.ToString("dd.MM.yyyy"); excel.cell[ri, 5].value2 = r.UchZavedenie; excel.cell[ri, 6].value2 = r.UchFac; excel.cell[ri, 7].value2 = r.Inn; excel.cell[ri, 8].value2 = Helper.FormatSnils(r.Snils); //excel.cell[ri, 9].value2 = "01.04.2021 - 31.12.2021 г."; } excel.setAllBorders(excel.get_Range("A1", "I" + ri)); excel.myExcel.Visible = true; }
public SendGroupViewModel(int?sendGroupId = null) { Validator = GetValidator(); RegOtdeleniya = repository.GetRegOtdeleniya(); Cities = repository.GetCities(); PeresadSts = repository.GetPeresadSts(); Persons = new ObservableCollection <SendGroupPersonViewModel>(); var db = new ProvodnikContext(); if (sendGroupId.HasValue) { Id = sendGroupId; MainWindow.Mapper.Value.Map(db.SendGroups.Single(pp => pp.Id == sendGroupId), this); var qq = (from pd in db.SendGroupPersons join p in db.Persons on pd.PersonId equals p.Id where pd.SendGroupId == sendGroupId select new { pd, p }).ToList(); foreach (var q in qq) { SendGroupPersonViewModel pe = new SendGroupPersonViewModel(); MainWindow.Mapper.Value.Map(q.pd, pe); MainWindow.Mapper.Value.Map(q.p, pe); pe.SendGroupViewModel = this; Persons.Add(pe); } //Persons.Add(MainWindow.Mapper.Value.Map< SendGroupPersonViewModel>(db.SendGroups.Single(pp => pp.Id == sendGroupId), this); } else { RegOtdelenie = RegOtdeleniya[0]; } _isLoaded = true; }
public void PismoLgoti() { var vm = DataContext as SendGroupViewModel; var db = new ProvodnikContext(); var ids = vm.Persons.Select(pp => pp.PersonId); var pe = db.Persons.Where(pp => ids.Contains(pp.Id) && !(/*pp.HasLgota*/ pp.UchForma == UchFormaConsts.Ochnaya)).ToList(); if (pe.Count == 0) { return; } var path = (string.Format("{0}\\_шаблоны\\" + "Письмо об отсутствии льготы.docx", AppDomain.CurrentDomain.BaseDirectory)); Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application { Visible = false }; Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Open(path, ReadOnly: false, Visible: false); aDoc.Activate(); Microsoft.Office.Interop.Word.Range range = aDoc.Content; range.Find.ClearFormatting(); var list = new List <string>(); for (int i = 0; i < pe.Count; i++) { list.Add($"{i + 1}. {pe[i].Fio}"); } range.Find.Execute(FindText: "{list}", ReplaceWith: string.Join("\r", list), Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll); aDoc.SaveAs(FileName: otchetDir + @"\Письмо об отсутствии льготы.docx"); aDoc.Close(); }
private void Patch_ExecOnceThanDelete() { using (var db = new ProvodnikContext()) { /* foreach (var p in db.Persons.Where(x=>x.Fio== "Белых Артём Александрович")) * { * //db.PersonDocs.Add(new PersonDoc() { PersonId = p.Id, IsActive = true, DocTypeId = DocConsts.СвидетельствоВакцинации }); * if (!new ProvodnikContext().PersonDocs.Any(x=>x.PersonId==p.Id && x.DocTypeId == DocConsts.ЗаключениеВЭК2)) * db.PersonDocs.Add(new PersonDoc() { PersonId = p.Id, IsActive = true, DocTypeId = DocConsts.ЗаключениеВЭК2 }); * //db.PersonDocs.Add(new PersonDoc() { PersonId = p.Id, IsActive = true, DocTypeId = DocConsts.ТрудоваяКнижка1}); * //db.PersonDocs.Add(new PersonDoc() { PersonId = p.Id, IsActive = true, DocTypeId = DocConsts.ТрудоваяКнижка2 }); * * }*/ /*foreach (var p in db.MedKomZayavki) * { * p.BolnicaName = @"Поликлиника: ЧУЗ «КБ «РЖД - Медицина» г.Новосибирск» * Псих.освидетельствование:Медицинский психодиагностический центр ""МЕНТАЛ КОНСАЛТИНГ"""; * p.BolnicaAdres = @"Поликлиника: г.Новосибирск, ул.Сибирская, 21 * Псих.осведетельствование: г.Новосибирск, ул.Красный проспект, 99"; * }*/ db.SaveChanges(); } }