コード例 #1
0
        internal static void AddSubGroupField(Model.Archive.ArchiveDataClassesDataContext dc, Model.Common.ArchiveGroupSubGroupField archiveGroupSubGroupField)
        {
            Model.Archive.ArchiveField archiveField = dc.ArchiveFields.Where(t => t.IDParent == archiveGroupSubGroupField.ArchiveGroupFieldID).Single();

            int index = 1;

            if (archiveField.ArchiveSubGroupFields.Count > 0)
            {
                index = (archiveField.ArchiveSubGroupFields.Max(t => t.Index) + 1);
            }

            if (FieldNameAlreadyExist(dc, archiveField.ID, archiveGroupSubGroupField.Label))
            {
                throw new Exception(string.Format("فیلد '{0}' در زیرگروه جدولی '{1}' وجود دارد. لطفا نام دیگری انتخاب کنید", archiveGroupSubGroupField.Label, archiveField.Label));
            }

            Model.Archive.ArchiveSubGroupField archiveSubGroupField = Model.Archive.ArchiveSubGroupField.GetNewInstance(archiveField.ID, archiveGroupSubGroupField.Label, null, archiveGroupSubGroupField.FieldTypeCode, archiveGroupSubGroupField.StatusCode, archiveGroupSubGroupField.BoxTypeCode, archiveGroupSubGroupField.AutoComplete, archiveGroupSubGroupField.MinLength, archiveGroupSubGroupField.MaxLength, archiveGroupSubGroupField.MinValue, archiveGroupSubGroupField.MaxValue, archiveGroupSubGroupField.DefaultValue, archiveGroupSubGroupField.ID, index);
            dc.ArchiveSubGroupFields.InsertOnSubmit(archiveSubGroupField);
            dc.SubmitChanges();

            SqlHelper.CreateFieldForSubGroupField(dc, archiveSubGroupField);

            try
            {
                Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.بایگانی, Setting.User.UserOparatesNames.ثبت, null, "افزودن فیلد '" + archiveSubGroupField.Label + "' به فیلد '" + archiveField.Label + "' در گروه اطلاعاتی '" + archiveField.ArchiveTab.Title + "' در بایگانی '" + dc.GetArchive().Title + "'");
            }
            catch
            {
                throw new Exception("خطا در ذخیره عملکرد کاربر جاری");
            }
        }
コード例 #2
0
        internal static void DeleteField(int archiveFieldID)
        {
            Model.Archive.ArchiveDataClassesDataContext dc = new Model.Archive.ArchiveDataClassesDataContext(Setting.Sql.ThisProgram.ArchiveConnection.ConnectionString);
            dc.Connection.Open();
            dc.Transaction = dc.Connection.BeginTransaction();
            try
            {
                Model.Archive.ArchiveField originalArchiveField = dc.ArchiveFields.Where(t => t.ID == archiveFieldID).Single();
                string originalLabel    = originalArchiveField.Label;
                string originalTabTitle = originalArchiveField.ArchiveTab.Title;
                if (originalArchiveField.IDParent.HasValue)
                {
                    originalArchiveField.IDParent = null;
                    dc.SubmitChanges();
                    foreach (var item in dc.ArchiveSubGroupFields.Where(t => t.ArchiveFieldID == originalArchiveField.ID))
                    {
                        item.IDParent = null;
                    }
                    dc.SubmitChanges();
                }
                else
                {
                    SqlHelper.DeleteArchiveField(dc, originalArchiveField);

                    dc.ArchiveSubGroupFields.DeleteAllOnSubmit(originalArchiveField.ArchiveSubGroupFields);
                    dc.SubmitChanges();

                    dc.CounterFieldSettings.DeleteAllOnSubmit(originalArchiveField.CounterFieldSettings);
                    dc.SubmitChanges();

                    dc.ArchiveFields.DeleteOnSubmit(originalArchiveField);
                    dc.SubmitChanges();

                    try
                    {
                        Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.بایگانی, Setting.User.UserOparatesNames.حذف, null, "حذف فیلد '" + originalLabel + "' در گروه اطلاعاتی '" + originalTabTitle + "' در بایگانی '" + dc.GetArchive().Title + "'");
                    }
                    catch
                    {
                        throw new Exception("خطا در ذخیره عملکرد کاربر جاری");
                    }
                }

                dc.Transaction.Commit();
                dc.Connection.Close();
            }
            catch
            {
                dc.Transaction.Rollback();
                dc.Connection.Close();
                throw;
            }
            finally
            {
                if (dc.Connection.State == System.Data.ConnectionState.Open)
                {
                    dc.Connection.Close();
                }
            }
        }
コード例 #3
0
 internal static int GetArchiveDocumentsCount(string archiveName)
 {
     using (var dc = new Model.Archive.ArchiveDataClassesDataContext(Setting.Sql.ThisProgram.GetDatabaseConnection(archiveName).ConnectionString))
     {
         return(dc.Documents.Count(t => t.ParentDocumentID == null));
     }
 }
コード例 #4
0
 internal static object GetDossiersCount(string archiveName)
 {
     using (var dc = new Model.Archive.ArchiveDataClassesDataContext(Setting.Sql.ThisProgram.GetDatabaseConnection(archiveName).ConnectionString))
     {
         return(dc.Dossiers.Count());
     }
 }
コード例 #5
0
ファイル: PersonSearch.cs プロジェクト: Shiraz-NJIT/Mahba
        public object Search(string value)
        {
            if (string.IsNullOrEmpty(value))
            {
                return(null);
            }
            Model.Archive.ArchiveDataClassesDataContext dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();

            ParameterExpression parameter_ex = Expression.Parameter(typeof(Model.Archive.Person), "ParameterName");
            object convertedValue            = value;

            if (GetPropertyType(typeof(Model.Archive.Person), this.TextBoxSearch.DisplayMember) != typeof(string))
            {
                if (!(Njit.Common.PublicMethods.ConvertValue(value, ref convertedValue, GetPropertyType(typeof(Model.Archive.Person), this.TextBoxSearch.DisplayMember))))
                {
                    return(null);
                }
            }
            BinaryExpression equal_ex = Expression.Equal(Expression.PropertyOrField(parameter_ex, this.TextBoxSearch.DisplayMember), Expression.Constant(convertedValue));
            Expression <Func <Model.Archive.Person, bool> > lambda_ex = LambdaExpression.Lambda <Func <Model.Archive.Person, bool> >(equal_ex, parameter_ex);
            IQueryable <Model.Archive.Person> data = dc.Persons.Where(lambda_ex).Select(t => t);

            if (data != null && data.Count() > 0)
            {
                return(data.First());
            }
            return(null);
        }
コード例 #6
0
        internal static List <Model.Archive.ArchiveField> GetDisplayFields(int reportID)
        {
            Model.Archive.ArchiveDataClassesDataContext dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();
            IQueryable <int> list = dc.DisplayFields.Where(t => t.Code == (int)NjitSoftware.Enums.DisplayFieldCodes.گزارشات && t.ReportID == reportID).Select(t => t.ArchiveFieldID);

            return(dc.ArchiveFields.Where(t => list.Contains(t.ID)).OrderBy(t => t.ArchiveTabID).ThenBy(t => t.Index).ToList());
        }
コード例 #7
0
        internal static void UpdateSubGroupField(Model.Archive.ArchiveDataClassesDataContext dc, Model.Common.ArchiveGroupSubGroupField archiveGroupSubGroupField)
        {
            Model.Archive.ArchiveSubGroupField originalArchiveSubGroupField = dc.ArchiveSubGroupFields.Where(t => t.IDParent == archiveGroupSubGroupField.ID).Single();
            string originalLabel        = originalArchiveSubGroupField.Label;
            int    originalBoxTypeCode  = originalArchiveSubGroupField.BoxTypeCode;
            string originalDefaultValue = originalArchiveSubGroupField.DefaultValue;

            if (FieldNameAlreadyExist(dc, originalArchiveSubGroupField.ArchiveFieldID, archiveGroupSubGroupField.Label, originalArchiveSubGroupField.ID))
            {
                throw new Exception(string.Format("فیلد '{0}' در زیرگروه جدولی '{1}' وجود دارد. لطفا نام دیگری انتخاب کنید", archiveGroupSubGroupField.Label, originalArchiveSubGroupField.ArchiveField.Label));
            }

            Model.Archive.ArchiveSubGroupField archiveSubGroupField = Model.Archive.ArchiveSubGroupField.GetNewInstance(originalArchiveSubGroupField.ID, originalArchiveSubGroupField.ArchiveField.ID, archiveGroupSubGroupField.Label, originalArchiveSubGroupField.FieldName, archiveGroupSubGroupField.FieldTypeCode, archiveGroupSubGroupField.StatusCode, archiveGroupSubGroupField.BoxTypeCode, archiveGroupSubGroupField.AutoComplete, archiveGroupSubGroupField.MinLength, archiveGroupSubGroupField.MaxLength, archiveGroupSubGroupField.MinValue, archiveGroupSubGroupField.MaxValue, archiveGroupSubGroupField.DefaultValue, originalArchiveSubGroupField.IDParent, originalArchiveSubGroupField.Index);
            Model.Archive.ArchiveSubGroupField.Copy(originalArchiveSubGroupField, archiveSubGroupField);
            dc.SubmitChanges();

            SqlHelper.UpdateGroupField(dc, originalArchiveSubGroupField, (Enums.BoxTypes)originalBoxTypeCode, originalDefaultValue);

            try
            {
                Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.بایگانی, Setting.User.UserOparatesNames.ویرایش, null, "ویرایش فیلد '" + originalLabel + "' در فیلد '" + originalArchiveSubGroupField.ArchiveField.Label + "' در گروه اطلاعاتی '" + originalArchiveSubGroupField.ArchiveField.ArchiveTab.Title + "' در بایگانی '" + dc.GetArchive().Title + "'");
            }
            catch
            {
                throw new Exception("خطا در ذخیره عملکرد کاربر جاری");
            }
        }
コード例 #8
0
        public static void Insert(Model.Archive.ArchiveTab archiveTab)
        {
            Model.Archive.ArchiveDataClassesDataContext dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();
            dc.Connection.Open();
            dc.Transaction = dc.Connection.BeginTransaction();
            try
            {
                archiveTab.Index = dc.ArchiveTabs.Count() == 0 ? 1 : (dc.ArchiveTabs.Select(t => t.Index).Max() + 1);
                dc.ArchiveTabs.InsertOnSubmit(archiveTab);
                dc.SubmitChanges();
                dc.Transaction.Commit();
                dc.Connection.Close();

                SqlHelper.CreateTableForArchiveTab(dc, archiveTab);

                archiveTab.Exist = true;
                dc.SubmitChanges();

                if (archiveTab.TypeCode == (int)Enums.TabTypes.Dossier)
                {
                    Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.گروه_اطلاعاتی_پرونده, Setting.User.UserOparatesNames.ثبت, null, "ثبت گروه اطلاعاتی '" + archiveTab.Title + "' در بایگانی '" + dc.GetArchive().Title + "'");
                }
                else
                {
                    Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.گروه_اطلاعاتی_سند, Setting.User.UserOparatesNames.ثبت, null, "ثبت گروه اطلاعاتی '" + archiveTab.Title + "' در بایگانی '" + dc.GetArchive().Title + "'");
                }
            }
            catch (Exception ex)
            {
                dc.Transaction.Rollback();
                dc.Connection.Close();
                throw new Exception("خطا در ثبت اطلاعات" + "\r\n\r\n" + ex.Message);
            }
        }
コード例 #9
0
ファイル: InfoController.cs プロジェクト: Shiraz-NJIT/Mahba
 public static void Insert(Model.Archive.Info info)
 {
     if (info == null)
     {
         return;
     }
     Model.Archive.ArchiveDataClassesDataContext dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();
     dc.Connection.Open();
     dc.Transaction = dc.Connection.BeginTransaction();
     try
     {
         dc.Infos.InsertOnSubmit(info);
         dc.SubmitChanges();
         dc.Transaction.Commit();
     }
     catch (Exception ex)
     {
         dc.Transaction.Rollback();
         throw new Exception("خطا در ثبت اطلاعات" + "\r\n\r\n" + ex.Message);
     }
     finally
     {
         dc.Connection.Close();
     }
 }
コード例 #10
0
ファイル: InfoController.cs プロジェクト: Shiraz-NJIT/Mahba
 internal static void InsertOrUpdate(Model.Archive.Info info, Model.Archive.ArchiveDataClassesDataContext dc)
 {
     try
     {
         if (info == null)
         {
             return;
         }
         var query = dc.Infos.Where(t => t.PersonnelNumber == info.PersonnelNumber);
         if (query.Count() == 1)
         {
             var originalInfo = query.Single();
             Model.Archive.Info.Copy(originalInfo, info);
             dc.SubmitChanges();
         }
         else
         {
             dc.Infos.InsertOnSubmit(info);
             dc.SubmitChanges();
         }
     }
     catch (Exception ex)
     {
         throw new Exception("خطا در ثبت اطلاعات" + "\r\n\r\n" + ex.Message);
     }
 }
コード例 #11
0
        internal static int AddField(Field field, int archiveTabID)
        {
            Model.Archive.ArchiveDataClassesDataContext dc = new Model.Archive.ArchiveDataClassesDataContext(Setting.Sql.ThisProgram.ArchiveConnection.ConnectionString);
            dc.Connection.Open();
            dc.Transaction = dc.Connection.BeginTransaction();
            try
            {
                Model.Archive.ArchiveTab archiveTab = dc.ArchiveTabs.Where(t => t.ID == archiveTabID).Single();

                if (ArchiveFieldController.FieldNameAlreadyExist(dc, archiveTabID, field.Label))
                {
                    throw new Exception(string.Format("فیلد '{0}' در گروه اطلاعاتی '{1}' وجود دارد. لطفا نام دیگری انتخاب کنید", field.Label, archiveTab.Title));
                }

                if (archiveTab.Exist == false)
                {
                    SqlHelper.CreateTableForArchiveTab(dc, archiveTab);
                    archiveTab.Exist = true;
                    dc.SubmitChanges();
                }

                int index = 1;
                if (archiveTab.ArchiveFields.Count > 0)
                {
                    index = archiveTab.ArchiveFields.Max(t => t.Index) + 1;
                }
                Model.Archive.ArchiveField archiveField = Model.Archive.ArchiveField.GetNewInstance(archiveTab.ID, field.Label, field.FieldName, field.FieldTypeCode, field.StatusCode, field.BoxTypeCode, field.AutoComplete, field.MinLength, field.MaxLength, field.MinValue, field.MaxValue, field.DefaultValue, null, index);
                dc.ArchiveFields.InsertOnSubmit(archiveField);
                dc.SubmitChanges();

                SqlHelper.CreateArchiveField(dc, archiveField);

                try
                {
                    Setting.User.ThisProgram.AddLog(Setting.User.UserOparatesPlaceNames.بایگانی, Setting.User.UserOparatesNames.ثبت, null, "افزودن فیلد '" + archiveField.Label + "' به گروه اطلاعاتی '" + archiveField.ArchiveTab.Title + "' در بایگانی '" + dc.GetArchive().Title + "'");
                }
                catch
                {
                    throw new Exception("خطا در ذخیره عملکرد کاربر جاری");
                }

                dc.Transaction.Commit();
                dc.Connection.Close();
                return(archiveField.ID);
            }
            catch
            {
                dc.Transaction.Rollback();
                dc.Connection.Close();
                throw;
            }
            finally
            {
                if (dc.Connection.State == System.Data.ConnectionState.Open)
                {
                    dc.Connection.Close();
                }
            }
        }
コード例 #12
0
ファイル: ReportController.cs プロジェクト: Shiraz-NJIT/Mahba
        private static void DeleteReportDetails(Model.Archive.ArchiveDataClassesDataContext dc, Model.Archive.ReportDetail reportDetail)
        {
            foreach (var item in dc.ReportDetails.Where(t => t.ParentID == reportDetail.ID))
            {
                DeleteReportDetails(dc, item);

                dc.ReportDetails.DeleteOnSubmit(item);
                dc.SubmitChanges();
            }
        }
コード例 #13
0
        internal static void DeleteSubGroupField(Model.Archive.ArchiveDataClassesDataContext dc, Model.Common.ArchiveGroupSubGroupField archiveGroupSubGroupField)
        {
            Model.Archive.ArchiveSubGroupField archiveSubGroupField = dc.ArchiveSubGroupFields.Where(t => t.IDParent == archiveGroupSubGroupField.ID).Single();
            string originalLabel             = archiveSubGroupField.Label;
            string originalArchiveFieldLabel = archiveSubGroupField.ArchiveField.Label;
            string originalArchiveTabTitle   = archiveSubGroupField.ArchiveField.ArchiveTab.Title;

            archiveSubGroupField.IDParent = null;
            dc.SubmitChanges();
        }
コード例 #14
0
ファイル: ReportController.cs プロジェクト: Shiraz-NJIT/Mahba
 private static List <SearchField> LoadSearchFields(Model.Archive.ArchiveDataClassesDataContext dc, Model.Archive.ReportDetail reportDetail, List <SearchField> searchFields)
 {
     foreach (var item in dc.ReportDetails.Where(t => t.ParentID == reportDetail.ID))
     {
         List <SearchField> innerSearchFields = new List <SearchField>();
         LoadSearchFields(dc, item, innerSearchFields);
         searchFields.Add(new SearchField(item.ArchiveField, SearchMethod.GetAllSearchMethods().Where(t => t.Code == item.MethodCode).Single(), item.Value, (SearchField.Relations)item.RelationCode, innerSearchFields));
     }
     return(searchFields);
 }
コード例 #15
0
 internal static void UpdateSubGroupFieldsIndex(Dictionary <int, int> list)
 {
     Model.Archive.ArchiveDataClassesDataContext dc = new Model.Archive.ArchiveDataClassesDataContext(Setting.Sql.ThisProgram.ArchiveConnection.ConnectionString);
     foreach (var id in list.Keys)
     {
         var item = dc.ArchiveSubGroupFields.Where(t => t.ID == id).Single();
         item.Index = list[id];
     }
     dc.SubmitChanges();
 }
コード例 #16
0
ファイル: ReportController.cs プロジェクト: Shiraz-NJIT/Mahba
 private static void AddDetailToDetail(Model.Archive.ArchiveDataClassesDataContext dc, Model.Archive.ReportDetail reportDetail, SearchField searchField)
 {
     Model.Archive.ReportDetail newReportDetail = Model.Archive.ReportDetail.GetNewInstance(null, searchField.Field.ID, (int)searchField.Relation, searchField.Method.Code, searchField.Value, reportDetail.ID);
     dc.ReportDetails.InsertOnSubmit(newReportDetail);
     dc.SubmitChanges();
     foreach (var item in searchField.SearchFields)
     {
         AddDetailToDetail(dc, newReportDetail, item);
     }
 }
コード例 #17
0
        internal static IEnumerable <Field> GetSubGroupFields(int archiveFieldID)
        {
            Model.Archive.ArchiveDataClassesDataContext dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();
            List <NjitSoftware.Field> fields = new List <Field>();

            foreach (var item in dc.ArchiveSubGroupFields.Where(t => t.ArchiveFieldID == archiveFieldID).OrderBy(t => t.Index))
            {
                fields.Add(new Field(item.ID, item.Label, item.FieldName, item.FieldTypeCode, item.FieldType.Title, item.StatusCode, item.FieldStatus.Title, item.BoxTypeCode, item.BoxType.Title, item.AutoComplete, item.MinLength, item.MaxLength, item.MinValue, item.MaxValue, item.IDParent, item.Index, item.DefaultValue));
            }
            return(fields);
        }
コード例 #18
0
 public static Model.Archive.Dossier Get(string PersonnelNumber)
 {
     Model.Archive.ArchiveDataClassesDataContext dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();
     try
     {
         return(dc.Dossiers.Where(t => t.PersonnelNumber == PersonnelNumber).FirstOrDefault());
     }
     catch (Exception ex)
     {
         throw new Exception("خطا در خواندن اطلاعات از پایگاه داده" + "\r\n\r\n" + ex.Message);
     }
 }
コード例 #19
0
 public static List <Model.Archive.ContactView> Select(string PersonnelNumber)
 {
     Model.Archive.ArchiveDataClassesDataContext dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();
     try
     {
         return(dc.ContactViews.Where(t => t.PersonnelNumber == PersonnelNumber).ToList());
     }
     catch (Exception ex)
     {
         throw new Exception("خطا در خواندن اطلاعات از پایگاه داده" + "\r\n\r\n" + ex.Message);
     }
 }
コード例 #20
0
 public static void Insert(List <Model.Archive.Contact> contact, Model.Archive.ArchiveDataClassesDataContext dcArchive)
 {
     try
     {
         dcArchive.Contacts.InsertAllOnSubmit(contact);
         dcArchive.SubmitChanges();
     }
     catch (Exception ex)
     {
         throw new Exception("خطا در ثبت اطلاعات" + "\r\n\r\n" + ex.Message);
     }
 }
コード例 #21
0
 public static List <Model.Archive.ArchiveTab> GetActiveDossierTabs()
 {
     Model.Archive.ArchiveDataClassesDataContext dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();
     try
     {
         return(dc.ArchiveTabs.Where(t => t.TypeCode == (int)Enums.TabTypes.Dossier && t.Deleted == false).OrderBy(t => t.Index).ToList());
     }
     catch (Exception ex)
     {
         throw new Exception("خطا در خواندن اطلاعات از پایگاه داده" + "\r\n\r\n" + ex.Message);
     }
 }
コード例 #22
0
 public static Model.Archive.ArchiveTab Select(int ID)
 {
     Model.Archive.ArchiveDataClassesDataContext dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();
     try
     {
         return(dc.ArchiveTabs.Where(t => t.ID == ID).Single());
     }
     catch (Exception ex)
     {
         throw new Exception("خطا در خواندن اطلاعات از پایگاه داده" + "\r\n\r\n" + ex.Message);
     }
 }
コード例 #23
0
 public static void Insert(Model.Archive.ArchiveTab archiveTab, Model.Archive.ArchiveDataClassesDataContext dcArchive)
 {
     try
     {
         archiveTab.Index = dcArchive.ArchiveTabs.Count() == 0 ? 1 : (dcArchive.ArchiveTabs.Select(t => t.Index).Max() + 1);
         dcArchive.ArchiveTabs.InsertOnSubmit(archiveTab);
     }
     catch (Exception ex)
     {
         throw new Exception("خطا در ایجاد گروه اطلاعاتی  برای بایگانی های مشتق شده" + "\r\n\r\n" + ex.Message);
     }
 }
コード例 #24
0
 public static bool TabNameExist(string title, int typeCode)
 {
     try
     {
         Model.Archive.ArchiveDataClassesDataContext dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();
         return(dc.ArchiveTabs.Where(t => t.TypeCode == typeCode && t.Title == title && t.Deleted == false).Count() == 0 ? false : true);
     }
     catch (Exception ex)
     {
         throw new Exception("خطا در خواندن اطلاعات از پایگاه داده" + "\r\n\r\n" + ex.Message);
     }
 }
コード例 #25
0
 public static List <Model.Archive.Dossier> GetAllDossiers()
 {
     Model.Archive.ArchiveDataClassesDataContext dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();
     try
     {
         return(dc.Dossiers.Select(t => t).ToList());
     }
     catch (Exception ex)
     {
         throw new Exception("خطا در خواندن اطلاعات از پایگاه داده" + "\r\n\r\n" + ex.Message);
     }
 }
コード例 #26
0
 internal static void Update(Model.Archive.ArchiveDataClassesDataContext dc, Model.Archive.Document document)
 {
     try
     {
         Model.Archive.Document.Copy(dc.Documents.Where(t => t.ID == document.ID).Single(), document);
         dc.SubmitChanges();
     }
     catch (Exception ex)
     {
         throw new Exception("خطا در ثبت اطلاعات" + "\r\n\r\n" + ex.Message);
     }
 }
コード例 #27
0
 public static bool CheckExistPersonnelNumber(string PersonnelNumber)
 {
     Model.Archive.ArchiveDataClassesDataContext dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();
     try
     {
         return(dc.Dossiers.Where(t => t.PersonnelNumber == PersonnelNumber).Count() > 0 ? true : false);
     }
     catch (Exception ex)
     {
         throw new Exception("خطا در خواندن اطلاعات از پایگاه داده" + "\r\n\r\n" + ex.Message);
     }
 }
コード例 #28
0
 public static void Insret(Model.Archive.Dossier dossier, Model.Archive.ArchiveDataClassesDataContext dc)
 {
     try
     {
         dc.Dossiers.InsertOnSubmit(dossier);
         dc.SubmitChanges();
     }
     catch (Exception ex)
     {
         throw new Exception("خطا در ثبت اطلاعات" + "\r\n\r\n" + ex.Message);
     }
 }
コード例 #29
0
 public static void Update(Model.Archive.Dossier dossier, Model.Archive.ArchiveDataClassesDataContext dc)
 {
     try
     {
         Model.Archive.Dossier.Copy(dc.Dossiers.Where(t => t.PersonnelNumber == dossier.PersonnelNumber).Single(), dossier);
         dc.SubmitChanges();
     }
     catch (Exception ex)
     {
         throw new Exception("خطا در بروزرسانی اطلاعات" + "\r\n\r\n" + ex.Message);
     }
 }
コード例 #30
0
        internal static void Delete(Model.Archive.ArchiveDataClassesDataContext dc, int id)
        {
            Model.Archive.Document doc     = dc.Documents.Where(t => t.ID == id).Single();
            Model.Archive.Dossier  dossier = dc.Dossiers.Where(t => t.PersonnelNumber == doc.PersonnelNumber).Single();

            int childCount = dc.Documents.Where(t => t.ParentDocumentID == id).Count();

            if (childCount > 0)
            {
                throw new Exception("تعداد " + childCount.ToString() + " سند به عنوان ضمیمه به سند شماره " + doc.Index + " افزوده شده است" + "\r\n" + "برای حذف سند شماره " + doc.Index + " ابتدا باید سندهای ضمیمه را حذف کنید");
            }
            dc.Documents.DeleteOnSubmit(doc);
            dc.SubmitChanges();

            if (Setting.Archive.ThisProgram.LoadedArchiveSettings.UseDatabase)
            {
                try
                {
                    Model.ArchiveDocument.DocumentDataClassesDataContext documentsDc = Model.ArchiveDocument.DocumentDataClassesDataContext.GetNewInstance(dossier.FilesPathOrDatabaseName);
                    documentsDc.Documents.DeleteAllOnSubmit(documentsDc.Documents.Where(t => t.ArchiveDocumentID == id));
                    documentsDc.SubmitChanges();
                }
                catch (Exception ex)
                {
                    throw new Exception("خطا در حذف فایل سند شماره " + doc.Index + "\r\n" + ex.Message);
                }
            }
            else
            {
                Njit.Common.SystemUtility sysUtil;
                try
                {
                    sysUtil = Njit.Program.Options.GetSystemUtility(dc.Connection as SqlConnection, Setting.Program.ThisProgram.NetworkName, Setting.Program.ThisProgram.NetworkPort);
                }
                catch (Exception ex)
                {
                    throw new Exception("خطا در اتصال به سرور" + "\r\n" + ex.Message);
                }
                if (sysUtil.FileExists(Path.Combine(dossier.FilesPathOrDatabaseName, doc.FileName)))
                {
                    try
                    {
                        //sysUtil.DeleteFile(Path.Combine(dossier.FilesPathOrDatabaseName, doc.FileName));
                    }
                    catch (Exception ex)
                    {
                        throw new Exception("خطا در حذف فایل سند شماره " + doc.Index + "\r\n" + ex.Message);
                    }
                }
            }
        }