예제 #1
0
        public static void SaveSettings(BaseJournalControl journal, string argument, ILogMonitor logMonitor, LogMessageType logMessageType)
        {
            var jss          = new JavaScriptSerializer();
            var saveArgument = jss.Deserialize <SaveArgument>(argument);
            var properties   = RvsSavedProperties.GetFromJournal(journal.ParentUserControl);

            logMonitor.Log(new LogMessageEntry(logMessageType, properties.NameRu, properties));
            properties.SaveWithViewSettings(saveArgument, "Cross:" + journal.GetType().FullName);
        }
        protected override void OnPreRender(EventArgs e)
        {
            if (!IsPostBack)
            {
                EnsureChildControls();
                LogMonitor.Log(new LogMessageEntry(ViewLog, HeaderRu, RvsSavedProperties.GetFromJournal(this)));
            }

            base.OnPreRender(e);
            ScriptManager.RegisterScriptControl(this);
        }
예제 #3
0
        public static Stream GetExcel <TDataContext, TFilterControl, TKey, TTable, TDataSource, TRow, TJournal, TNavigatorControl, TNavigatorValues, TFilter>(
            BaseJournalUserControl <TDataContext, TFilterControl, TKey, TTable, TDataSource, TRow, TJournal, TNavigatorControl, TNavigatorValues, TFilter>
            journalControl,
            RvsSavedProperties properties,
            ILogMonitor logMonitor,
            bool checkPermit)

            where TDataContext : DataContext, new()
            where TKey : struct
            where TTable : class
            where TFilterControl : BaseFilterControl <TKey, TTable>, new()
            where TDataSource : BaseDataSource <TKey, TTable, TDataContext, TRow>
            where TRow : BaseRow, new()
            where TJournal : BaseJournalControl <TKey, TTable, TRow, TDataContext>
            where TNavigatorControl : BaseNavigatorControl <TNavigatorValues>
            where TNavigatorValues : BaseNavigatorValues, new()
            where TFilter : BaseFilter <TKey, TTable, TDataContext>, new()
        {
            Stream stream;

            journalControl.LogMonitor = logMonitor;
            journalControl.Url        = MainPageUrlBuilder.Current.Clone();
            if (checkPermit)
            {
                journalControl.CheckExportPermit();
            }
            if ("xml".Equals(properties.Format, StringComparison.OrdinalIgnoreCase))
            {
                var exporterXml = new ExporterXml <TDataContext, TFilterControl, TKey, TTable, TDataSource, TRow, TJournal,
                                                   TNavigatorControl, TNavigatorValues, TFilter> {
                    LogMonitor = logMonitor
                };
                stream = exporterXml.GetExcel(journalControl, properties);
            }
            else
            {
                var exporterXslx = new ExporterXslx <TDataContext, TFilterControl, TKey, TTable, TDataSource, TRow, TJournal,
                                                     TNavigatorControl, TNavigatorValues, TFilter> {
                    LogMonitor = logMonitor
                };
                stream = exporterXslx.GetExcel(journalControl, properties);
            }

            DBDataContext.AddViewReports(
                User.GetSID(),
                HttpContext.Current.User.Identity.Name,
                HttpContext.Current.User.Identity.Name,
                HttpContext.Current.Request.Url.PathAndQuery,
                HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority),
                Environment.MachineName,
                true,
                BuildManager.GetType(properties.ReportPluginName, false, true) ?? GetTypeByReportManager(properties.ReportPluginName));

            logMonitor.Log(
                new LogMessageEntry(
                    User.GetSID(),
                    journalControl.ExportLog,
                    properties.NameRu,
                    journalControl.OnExportNewSavedProperties ? RvsSavedProperties.GetFromJournal(journalControl) : properties));

            return(stream);
        }