public bool LoadArchiveSettings() { if (Setting.Sql.ThisProgram.ArchiveConnection != null) { NjitSoftware.Model.Archive.ArchiveDataClassesDataContext dc = new NjitSoftware.Model.Archive.ArchiveDataClassesDataContext(Setting.Sql.ThisProgram.ArchiveConnection.ConnectionString); if (dc.ArchiveSettings.Count() > 0) { _LoadedArchiveSettings = dc.ArchiveSettings.First(); } else { _LoadedArchiveSettings = GetDefualtArchiveSetting(); } return(true); } return(false); }
public void SaveAndReloadArchiveSettings(NjitSoftware.Model.Archive.ArchiveSetting instance) { try { NjitSoftware.Model.Archive.ArchiveDataClassesDataContext archiveDc = new NjitSoftware.Model.Archive.ArchiveDataClassesDataContext(Setting.Sql.ThisProgram.ArchiveConnection.ConnectionString); var archiveSettingsQuery = archiveDc.ArchiveSettings.Select(t => t); if (archiveSettingsQuery.Count() > 0) { NjitSoftware.Model.Archive.ArchiveSetting original = archiveSettingsQuery.First(); NjitSoftware.Model.Archive.ArchiveSetting.Copy(original, instance); } else { NjitSoftware.Model.Archive.ArchiveSetting.Insert(archiveDc, instance); } archiveDc.SubmitChanges(); } catch (Exception ex) { throw new Exception("خطا در ذخیره تنظیمات" + "\r\n\r\n" + ex.Message); } LoadArchiveSettings(); }
internal static Model.Common.ArchiveTree AddArchive(int?archiveGroupID, string databasePath, bool useDatabaseForSaveDocuments, string dcumentsPathOrDatabasePath, int index, int?parentID) { Model.Common.ArchiveCommonDataClassesDataContext dc = new Model.Common.ArchiveCommonDataClassesDataContext(Setting.Sql.ThisProgram.DatabaseConnection.ConnectionString); Model.Archive.ArchiveDataClassesDataContext archiveDc = null; dc.Connection.Open(); dc.Transaction = dc.Connection.BeginTransaction(); try { Model.Common.Archive archive = Model.Common.Archive.GetNewInstance("", "بایگانی جدید", databasePath, true, false, archiveGroupID); dc.Archives.InsertOnSubmit(archive); dc.SubmitChanges(); Model.Common.Archive originalArchive = dc.Archives.Where(t => t.ID == archive.ID).Single(); SqlHelper.CreateArchive(dc, originalArchive, databasePath); Model.Common.ArchiveTree groupTree = Model.Common.ArchiveTree.GetNewInstance(null, null, archive.ID, null, null, parentID, index); dc.ArchiveTrees.InsertOnSubmit(groupTree); dc.SubmitChanges(); string archiveDocumentDatabaseOrFilesPath; if (useDatabaseForSaveDocuments) { archiveDocumentDatabaseOrFilesPath = SqlHelper.CreateArchiveDocumnetDatabase(dc, dcumentsPathOrDatabasePath); } else { archiveDocumentDatabaseOrFilesPath = dcumentsPathOrDatabasePath; } archiveDc = new Model.Archive.ArchiveDataClassesDataContext(Setting.Sql.ThisProgram.GetDatabaseConnection(originalArchive.Name).ConnectionString); archiveDc.Connection.Open(); archiveDc.Transaction = archiveDc.Connection.BeginTransaction(); NjitSoftware.Model.Archive.ArchiveSetting archiveSettingInstance = NjitSoftware.Model.Archive.ArchiveSetting.GetNewInstance(null, null, false, "نام سازمان", null, archiveDocumentDatabaseOrFilesPath, "شماره پرسنلی", 0, 1000, true, useDatabaseForSaveDocuments, useDatabaseForSaveDocuments ? dcumentsPathOrDatabasePath : null, "", null, null, 0); var archiveSettingsQuery = archiveDc.ArchiveSettings.Select(t => t); if (archiveSettingsQuery.Count() > 0) { NjitSoftware.Model.Archive.ArchiveSetting original = archiveSettingsQuery.First(); NjitSoftware.Model.Archive.ArchiveSetting.Copy(original, archiveSettingInstance); } else { NjitSoftware.Model.Archive.ArchiveSetting.Insert(archiveDc, archiveSettingInstance); } archiveDc.SubmitChanges(); if (useDatabaseForSaveDocuments) { Model.Archive.DocumentSaveLocation _DocumentSaveLocation = Model.Archive.DocumentSaveLocation.GetNewInstance("پایگاه داده شماره یک", archiveDocumentDatabaseOrFilesPath, true); archiveDc.DocumentSaveLocations.InsertOnSubmit(_DocumentSaveLocation); archiveDc.SubmitChanges(); } if (archiveGroupID.HasValue) { List <Model.Common.ArchiveGroupTab> archiveGroupTabs = Controller.Common.ArchiveGroupTabController.GetAllSelfAndBaseArchiveGroupTabs(archiveGroupID.Value); foreach (var tab in archiveGroupTabs) { Controller.Common.ArchiveGroupTabController.AddArchiveTabToArchive(tab, dc, archiveDc); } } Controller.Common.AccessPermissionTree.SaveArchivesTrees(dc); try { Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.بایگانی, Setting.User.UserOparatesNames.افزودن, null, "افزودن بایگانی '" + archive.Title + "'"); } catch { throw new Exception("خطا در ذخیره عملکرد کاربر جاری"); } if (archiveDc != null) { archiveDc.Transaction.Commit(); } dc.Transaction.Commit(); return(groupTree); } catch (Exception ex) { if (archiveDc != null) { archiveDc.Transaction.Rollback(); } dc.Transaction.Rollback(); throw new Exception("خطا در ثبت اطلاعات" + "\r\n\r\n" + ex.Message); } finally { if (archiveDc != null) { archiveDc.Connection.Close(); } dc.Connection.Close(); } }