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("خطا در ذخیره عملکرد کاربر جاری"); } }
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(); } } }
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)); } }
internal static object GetDossiersCount(string archiveName) { using (var dc = new Model.Archive.ArchiveDataClassesDataContext(Setting.Sql.ThisProgram.GetDatabaseConnection(archiveName).ConnectionString)) { return(dc.Dossiers.Count()); } }
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); }
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()); }
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("خطا در ذخیره عملکرد کاربر جاری"); } }
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); } }
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(); } }
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); } }
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(); } } }
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(); } }
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(); }
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); }
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(); }
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); } }
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); }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } } } }