コード例 #1
0
ファイル: ReportController.cs プロジェクト: Shiraz-NJIT/Mahba
        internal static Model.Archive.Report AddReport(string name, List <SearchField> searchFields, List <Model.Archive.ArchiveField> displayFields)
        {
            Model.Archive.Report report = null;
            var dc = Model.Archive.ArchiveDataClassesDataContext.GetNewInstance();

            dc.Connection.Open();
            dc.Transaction = dc.Connection.BeginTransaction();
            try
            {
                if (dc.Reports.Where(t => t.Title == name).Count() == 1)
                {
                    DeleteReport(dc, dc.Reports.Where(t => t.Title == name).Single().ID);
                }
                report = Model.Archive.Report.GetNewInstance(name);
                dc.Reports.InsertOnSubmit(report);
                dc.SubmitChanges();
                foreach (SearchField item in searchFields)
                {
                    AddDetailToReport(dc, report, item);
                }
                foreach (var item in displayFields)
                {
                    Model.Archive.DisplayField d = Model.Archive.DisplayField.GetNewInstance((int)Enums.DisplayFieldCodes.گزارشات, report.ID, item.ID);
                    dc.DisplayFields.InsertOnSubmit(d);
                }
                dc.SubmitChanges();
            }
            catch
            {
                dc.Transaction.Rollback();
                dc.Connection.Close();
                throw;
            }
            dc.Transaction.Commit();
            dc.Connection.Close();
            return(report);
        }
コード例 #2
0
ファイル: DossierReport.cs プロジェクト: Shiraz-NJIT/Mahba
        private void saveToolStripButton_Click(object sender, EventArgs e)
        {
            string name;

            using (Njit.Program.Forms.GetValue f = new Njit.Program.Forms.GetValue("نام گزارش", "نام گزارش را وارد کنید"))
            {
                if (savedReportsListBox.SelectedIndex > 0)
                {
                    f.Value = savedReportsListBox.SelectedItem.ToString();
                }
                if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    name = f.Value;
                }
                else
                {
                    return;
                }
            }

            Model.Archive.Report report = null;
            try
            {
                List <SearchField> searchFields = new List <SearchField>();
                AddToSearchFields(searchFields, queryTreeView.Nodes);
                List <Model.Archive.ArchiveField> displayFields = new List <Model.Archive.ArchiveField>();
                AddToDisplayFields(displayFields, dossierFieldsTreeView.Nodes);
                AddToDisplayFields(displayFields, documentsFieldsTreeView.Nodes);
                report = Controller.Archive.ReportController.AddReport(name, searchFields, displayFields);
            }
            catch (Exception ex)
            {
                PersianMessageBox.Show(this, "خطا در ثبت اطلاعات" + "\r\n\r\n" + ex.Message);
                return;
            }
            RefreshReports(report.ID);
        }
コード例 #3
0
ファイル: ReportController.cs プロジェクト: Shiraz-NJIT/Mahba
 private static void AddDetailToReport(Model.Archive.ArchiveDataClassesDataContext dc, Model.Archive.Report report, SearchField searchField)
 {
     Model.Archive.ReportDetail reportDetail = Model.Archive.ReportDetail.GetNewInstance(report.ID, searchField.Field.ID, (int)searchField.Relation, searchField.Method.Code, searchField.Value, null);
     dc.ReportDetails.InsertOnSubmit(reportDetail);
     dc.SubmitChanges();
     foreach (var item in searchField.SearchFields)
     {
         AddDetailToDetail(dc, reportDetail, item);
     }
 }