public static void Save(IHistory orgHistory, User user, HistoryAction action = HistoryAction.Создал) { HistoryList historyList = HistoryList.GetUniqueInstance(); History history; if (action == HistoryAction.Удалил) { history = new History(orgHistory, user); history.Action = action; } else { var list = historyList.GetList(orgHistory); if (list.Count == 2) { history = historyList.GetItem(orgHistory, HistoryAction.едактировал); history._user = user; } else { history = new History(orgHistory, user); history.Action = (list.Count == 0) ? HistoryAction.Создал : HistoryAction.едактировал; } } history._datetime = DateTime.Now; history.Save(); historyList.Add(history); }
private void Export(Language lang) { PersonList personList = PersonList.GetUniqueInstance(); string[] columnNames = (lang == Language.Rus) ? _columnNamesRus : _columnNamesEng; DataTable dt = CreateDataTable(columnNames); HistoryList historyList = HistoryList.GetUniqueInstance(); foreach (var person in personList) { History created = historyList.GetItem(person, HistoryAction.Создал); History modifed = historyList.GetItem(person, HistoryAction.едактировал); string modifedAuthor = (modifed != null) ? modifed.Author : string.Empty; string modifedDatetime = (modifed != null) ? modifed.datetime : string.Empty; object[] row; if (lang == Language.Rus) { row = new object[] { person.ID, person.Organization.ID, person.LastName, person.FirstName, person.SecondName, GetTitle(lang, person.Appeal), person.GetOrganizationName(), person.GetSubOrganizationName(), person.Position.GetName(lang), person.MainSpecPerson.GetName(lang), person.AcademTitle.GetName(lang), person.Email, person.Mobile, person.Phone, person.Comment, created.Author, created.datetime, modifedAuthor, modifedDatetime }; } else { row = new object[] { person.ID, person.Organization.ID, person.LastName, person.FirstName, person.SecondName, GetTitle(lang, person.Appeal), person.Position.GetName(lang), person.MainSpecPerson.GetName(lang), person.AcademTitle.GetName(lang), person.Email, person.Mobile, person.Phone, person.Comment }; } dt.Rows.Add(row); } CreateExcel excel = new CreateExcel(dt); excel.Show(); }
private void Export(Language lang) { OrganizationList organizationList = OrganizationList.GetUniqueInstance(); string[] columnNames = (lang == Language.Rus) ? _columnNamesRus : _columnNamesEng; DataTable dt = CreateDataTable(columnNames); HistoryList historyList = HistoryList.GetUniqueInstance(); foreach (var item in organizationList.List) { Organization organization = item.Value; LPU lpu = (organization.TypeOrg == TypeOrg.ЛПУ) ? (organization as LPU) : null; int parentID = (organization.ParentOrganization == null) ? organization.ID : organization.ParentOrganization.ID; string recordType = GetRecordType(organization); string inn = (organization.INN == "") ? "" : "'" + organization.INN; string kpp = (organization.KPP == "") ? "" : "'" + organization.KPP; string realRegionName = (organization.RealRegion == null) ? "" : organization.RealRegion.Name; string postIndex = organization.PostIndex; string pharmacy = ((organization.TypeOrg == TypeOrg.Аптека) && (organization.ParentOrganization == null)) ? (organization as Organization).Pharmacy : string.Empty; string mainSpec = (organization.MainSpec != null) ? organization.MainSpec.GetName(lang) : string.Empty; string typeLPU = string.Empty; string ownership = string.Empty; string adminLevel = string.Empty; string typeFin = string.Empty; if (lpu != null) { typeLPU = lpu.TypeLPU.GetName(lang); ownership = lpu.Ownership.GetName(lang); adminLevel = lpu.AdmLevel.GetName(lang); typeFin = lpu.TypeFin.GetName(lang); } object[] row; if (lang == Language.Rus) { string street = organization.Street; string idLpuRR = string.Empty; string idLpuRR2 = string.Empty; if (lpu != null) { idLpuRR = ((lpu.ParentOrganization == null) || ((lpu.ParentOrganization != null) && (lpu.LpuRR.ID != 0))) ? lpu.LpuRR.ID.ToString() : string.Empty; idLpuRR2 = (lpu.LpuRR2.ID != 0) ? lpu.LpuRR2.ID.ToString() : string.Empty; } History created = historyList.GetItem(organization, HistoryAction.Создал); History modifed = historyList.GetItem(organization, HistoryAction.едактировал); string createdAuthor = (created != null) ? created.Author : string.Empty; string createdDatetime = (created != null) ? created.datetime : string.Empty; string modifedAuthor = (modifed != null) ? modifed.Author : string.Empty; string modifedDatetime = (modifed != null) ? modifed.datetime : string.Empty; row = new object[] { organization.ID, parentID, organization.NumberSF, recordType, GetFormatTypeOrg(organization), GetClientType(organization), organization.Name, organization.ShortName, inn, kpp, realRegionName, organization.City, postIndex, street, organization.Email, organization.Website, organization.Phone, pharmacy, typeLPU, ownership, adminLevel, typeFin, mainSpec, lpu.SubRegion, idLpuRR, idLpuRR2, (lpu != null) ? lpu.BedsTotal : string.Empty, (lpu != null) ? lpu.BedsIC : string.Empty, (lpu != null) ? lpu.BedsSurgical : string.Empty, (lpu != null) ? lpu.Operating : string.Empty, organization.MachineGD, organization.MachineGDF, organization.MachineCRRT, organization.Shift, organization.PatientGD, organization.PatientPD, organization.PatientCRRT, createdAuthor, createdDatetime, modifedAuthor, modifedDatetime }; } else { string MachineGD = string.Empty; string MachineGDF = string.Empty; string MachineCRRT = string.Empty; string Shift = string.Empty; string PatientGD = string.Empty; string PatientPD = string.Empty; string PatientCRRT = string.Empty; if ((lpu != null) && (lpu.IsHaveDepartment())) { OrganizationList organizationoList = OrganizationList.GetUniqueInstance(); var childList = from child in organizationoList.GetChildList(lpu) where child.TypeOrg == TypeOrg.Отделение select new { MachineGD = string.IsNullOrEmpty(child.MachineGD) ? 0 : Convert.ToInt32(child.MachineGD), MachineGDF = string.IsNullOrEmpty(child.MachineGDF) ? 0 : Convert.ToInt32(child.MachineGDF), MachineCRRT = string.IsNullOrEmpty(child.MachineCRRT) ? 0 : Convert.ToInt32(child.MachineCRRT), Shift = string.IsNullOrEmpty(child.Shift) ? 0 : Convert.ToInt32(child.Shift), PatientGD = string.IsNullOrEmpty(child.PatientGD) ? 0 : Convert.ToInt32(child.PatientGD), PatientPD = string.IsNullOrEmpty(child.PatientPD) ? 0 : Convert.ToInt32(child.PatientPD), PatientCRRT = string.IsNullOrEmpty(child.PatientCRRT) ? 0 : Convert.ToInt32(child.PatientCRRT) }; MachineGD = childList.Sum(child => child.MachineGD).ToString(); if (MachineGD == "0") { MachineGD = string.Empty; } MachineGDF = childList.Sum(child => child.MachineGDF).ToString(); if (MachineGDF == "0") { MachineGDF = string.Empty; } MachineCRRT = childList.Sum(child => child.MachineCRRT).ToString(); if (MachineCRRT == "0") { MachineCRRT = string.Empty; } Shift = childList.Sum(child => child.Shift).ToString(); if (Shift == "0") { Shift = string.Empty; } PatientGD = childList.Sum(child => child.PatientGD).ToString(); if (PatientGD == "0") { PatientGD = string.Empty; } PatientPD = childList.Sum(child => child.PatientPD).ToString(); if (PatientPD == "0") { PatientPD = string.Empty; } PatientCRRT = childList.Sum(child => child.PatientCRRT).ToString(); if (PatientCRRT == "0") { PatientCRRT = string.Empty; } } else { MachineGD = organization.MachineGD; MachineGDF = organization.MachineGDF; MachineCRRT = organization.MachineCRRT; Shift = organization.Shift; PatientGD = organization.PatientGD; PatientPD = organization.PatientPD; PatientCRRT = organization.PatientCRRT; } row = new object[] { organization.ID, parentID, recordType, organization.Name, organization.ShortName, inn, kpp, realRegionName, organization.City, postIndex, GetAddressWithDistrict(organization), organization.Email, organization.Website, organization.Phone, pharmacy, GetClientType(organization), typeLPU, ownership, adminLevel, typeFin, mainSpec, lpu.SubRegion, (lpu != null) ? lpu.BedsTotal : string.Empty, (lpu != null) ? lpu.BedsIC : string.Empty, (lpu != null) ? lpu.BedsSurgical : string.Empty, (lpu != null) ? lpu.Operating : string.Empty, MachineGD, MachineGDF, MachineCRRT, Shift, PatientGD, PatientPD, PatientCRRT }; } dt.Rows.Add(row); } CreateExcel excel = new CreateExcel(dt); excel.Show(); }