public static void GenerateTypeRecordChancelleryRepository(ACSContext Context) { var tRC1 = new TypeRecordChancellery() { Name = "Входящая", s_AuthorID = 1, s_EditorID = 1, }; var tRC2 = new TypeRecordChancellery() { Name = "Исходящая", s_AuthorID = 1, s_EditorID = 1, }; var tRC3 = new TypeRecordChancellery() { Name = "Внутреняя", s_AuthorID = 1, s_EditorID = 1, }; Context.TypeRecordChancelleries.AddRange(new List <TypeRecordChancellery>() { tRC1, tRC2, tRC3 }); Context.SaveChanges(); }
/// <summary> /// заполнение базы данных отделов /// </summary> public static void GenerateDepartmentRepository(ACSContext Context) { // var location = System.Reflection.Assembly.GetExecutingAssembly().Location; //сортировка отделов по коду возрастания var query = from dataDeport in DataLoader1C.Data.ОрганизационнаяСтруктура orderby dataDeport.Код select dataDeport; foreach (var dataDepartment in query) { if (string.IsNullOrEmpty(dataDepartment.Код)) { continue; } var department = new Department() { Name = dataDepartment.Наименование, Code1C = int.Parse(dataDepartment.Код), IsDeleted = XMLDataTypeConverter.ToBoolean(dataDepartment.ПометкаУдаления), Inactive = XMLDataTypeConverter.ToBoolean(dataDepartment.Неактивное), s_AuthorID = 1, s_EditorID = 1, }; Context.Departments.Add(department); Context.SaveChanges(); } }
public static void GenerateTypeAccessRepository(ACSContext Context) { var tA1 = new TypeAccess() { Name = "Просмотр", s_AuthorID = 1, s_EditorID = 1, }; var tA2 = new TypeAccess() { Name = "Редактирование", s_AuthorID = 1, s_EditorID = 1, }; var tA3 = new TypeAccess() { Name = "Удаление", s_AuthorID = 1, s_EditorID = 1, }; Context.TypeAccesses.AddRange(new List <TypeAccess>() { tA1, tA2, tA3 }); Context.SaveChanges(); }
public static void GenerateWorkHistoryRepository(ACSContext Context) { //все должности var query = (from dUser in DataLoader1C.Data.Сотрудники from wh in dUser.КадроваяИстория orderby wh.Дата select new { КодПодразделения = wh.КодПодразделения, Должность = wh.Должность, КодФизЛицо = dUser.КодФизЛицо, Код = Guid.Parse(dUser.Код), ДатаНачала = wh.Дата, ДатаОкончания = GetEndDateWorkHistory(dUser, wh), Ставка = wh.Ставка }); foreach (var WorkHistory in query) { if (string.IsNullOrEmpty(WorkHistory.КодПодразделения.ToString())) { continue; } Department department = Context.Departments.FirstOrDefault(d => d.Code1C == WorkHistory.КодПодразделения); if (department == null) { continue; } //КодДолжности1С PostsEmployeesСode1С PUC = Context.PostsEmployeesСode1С.FirstOrDefault (puc => puc.CodePost1C == WorkHistory.Код); if (PUC == null) { continue; } var wh = new WorkHistory() { Department = department, PostName = WorkHistory.Должность, StartDate = XMLDataTypeConverter.GetDateTime(WorkHistory.ДатаНачала), EndDate = WorkHistory.ДатаОкончания, Rate = double.Parse(WorkHistory.Ставка), PostsEmployeesСode1С = PUC, s_AuthorID = 1, s_EditorID = 1 }; Context.WorkHistories.Add(wh); Context.SaveChanges(); } }
/// <summary> /// Заполнение бд код должности 1с и кому этот код пренадлежит /// </summary> public static void GeneratePostsEmployeesСode1СRepository(ACSContext Context) { //все должности //var query = (from dUser in DataLoader1C.Data.Сотрудники // select dUser.Код).Distinct(); var query = from db in DataLoader1C.Data.Сотрудники where db.Актуальность == "Да" group db by db.Код into @group from dataEmpl in @group where XMLDataTypeConverter.GetDateTime(dataEmpl.Принят) == @group.Max(dataEmpl => XMLDataTypeConverter.GetDateTime(dataEmpl.Принят)) orderby XMLDataTypeConverter.GetDateTime(dataEmpl.Принят), dataEmpl.ФИО select dataEmpl; var data = query.ToList(); if (data.Count == 0) { return; } foreach (var empl in query) { Guid Guid1C; if (!Guid.TryParse(empl.КодФизЛицо, out Guid1C)) { continue; } Employee userWithGuid1C = Context.Employees.FirstOrDefault(u => u.Guid1C == Guid1C); if (userWithGuid1C == null) { continue; } int?Id = userWithGuid1C.Id; var PostsEmployeesСode1С = new PostsEmployeesСode1С() { CodePost1C = Guid.Parse(empl.Код), Employee = userWithGuid1C, s_AuthorID = 1, s_EditorID = 1 }; Context.PostsEmployeesСode1С.Add(PostsEmployeesСode1С); Context.SaveChanges(); } }
/// <summary> /// Заполнение бд именами должностей /// </summary> public static void GeneratePostRepository(ACSContext Context) { //все должности var query = (from dataUser in DataLoader1C.Data.Сотрудники from PostHistory in dataUser.КадроваяИстория select PostHistory.Должность).Distinct(); foreach (var namePost in query) { var post = new PostNameEmployee() { Name = namePost, s_AuthorID = 1, s_EditorID = 1, }; Context.PostsEmployees.Add(post); Context.SaveChanges(); } }
/// <summary> /// заполнение базы данных пользователей /// </summary> public static void GenerateUserRepository(ACSContext Context) { // var location = System.Reflection.Assembly.GetExecutingAssembly().Location; //отфильтровали по актуальности //сгрупировали по кодфизлица //выбрали из каждой группы запись с самой новой датой принятия //т.к там самые свежие паспортные данные и фамилии //отсортировали по дате принятия и фамилии var query = from db in DataLoader1C.Data.Сотрудники where db.Актуальность == "Да" group db by db.КодФизЛицо into @group from dataEmpl in @group where XMLDataTypeConverter.GetDateTime(dataEmpl.Принят) == @group.Max(dataEmpl => XMLDataTypeConverter.GetDateTime(dataEmpl.Принят)) orderby XMLDataTypeConverter.GetDateTime(dataEmpl.Принят), dataEmpl.ФИО select dataEmpl; //{ // Email = "*****@*****.**", // UserName = "******", // Password = "******", // Name = "Семен Семенович Горбунков", // Address = "ул. Спортивная, д.30, кв.75", // Role = "admin", foreach (var dataUser in query) { string[] DataFullNameEmp = dataUser.ФИО.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); DataUserInActiveDirectory dataUserAD = new DataUserInActiveDirectory(); dataUserAD.SearchData(DataFullNameEmp[0], DataFullNameEmp[1]); Console.WriteLine(dataUserAD.SID.ToString().Length.ToString()); var newDataUser = new Employee() { LName = DataFullNameEmp[0], FName = DataFullNameEmp[1], MName = DataFullNameEmp[2], //FullName = dataUser.ФИО, //ShortName = String.Format("{0} {1}.{2}.", DataFullNameEmp[0], DataFullNameEmp[1].FirstOrDefault(), DataFullNameEmp[2].FirstOrDefault()), SID = dataUserAD.SID, Guid1C = Guid.Parse(dataUser.КодФизЛицо), Birthday = XMLDataTypeConverter.GetDateTime(dataUser.ДатаРождения), Email = dataUserAD.Email, //PersonnelNumber = Convert.ToInt32(dataUser.ТабельныйНомер), PersonnelNumber = dataUser.ТабельныйНомер, s_AuthorID = 1, s_EditorID = 1, }; EmployeePassport Passport = new EmployeePassport() { //паспортные данные DateOfIssue = XMLDataTypeConverter.GetDateTime(dataUser.ДокументДатаВыдачи), IssuedBy = dataUser.ДокументКемВыдан, Number = dataUser.ДокументНомер.ToString(), Series = dataUser.ДокументСерия, UnitCode = dataUser.ДокументКодПодразделения, Employee = newDataUser }; //добавляя паспартные данные, автоматически добавляются и пользовательские Context.EmployeesPassports.Add(Passport); Context.SaveChanges(); } }
public void Save() { db.SaveChanges(); }