Beispiel #1
0
        private questStatus update(MasterPricingEntities dbContext, Quest.Functional.Logging.FilterLog filterLog)
        {
            // Initialize
            questStatus status = null;


            try
            {
                // Read the record.
                FilterLogId filterLogId = new FilterLogId(filterLog.Id);
                Quest.Services.Dbio.MasterPricing.FilterLogs _filterLog = null;
                status = read(dbContext, filterLogId, out _filterLog);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }

                // Update the record.
                BufferMgr.TransferBuffer(filterLog, _filterLog);
                dbContext.SaveChanges();
            }
            catch (System.Exception ex)
            {
                return(new questStatus(Severity.Fatal, String.Format("EXCEPTION: {0}.{1}: {2}",
                                                                     this.GetType().Name, MethodBase.GetCurrentMethod().Name,
                                                                     ex.InnerException != null ? ex.InnerException.Message : ex.Message)));
            }
            return(new questStatus(Severity.Success));
        }
        public questStatus Delete(DeleteLogItemsViewModel deleteLogItemsViewModel)
        {
            // Initialize
            questStatus status = null;


            // Build id list
            List <FilterLogId> filterLogIdList = new List <FilterLogId>();

            foreach (BaseId baseId in deleteLogItemsViewModel.Items)
            {
                FilterLogId filterLogId = new FilterLogId(baseId.Id);
                filterLogIdList.Add(filterLogId);
            }

            // Delete items
            FilterLogsMgr filterLogsMgr = new FilterLogsMgr(this.UserSession);

            status = filterLogsMgr.Delete(filterLogIdList);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }
            return(new questStatus(Severity.Success));
        }
Beispiel #3
0
        /*----------------------------------------------------------------------------------------------------------------------------------
        * FilterLogs
        *---------------------------------------------------------------------------------------------------------------------------------*/
        private questStatus create(MasterPricingEntities dbContext, Quest.Functional.Logging.FilterLog filterLog, out FilterLogId filterLogId)
        {
            // Initialize
            filterLogId = null;


            // Initialize
            filterLog.UserSessionId = this.UserSession.Id;
            filterLog.Username      = this.UserSession.User.Username;
            filterLog.Created       = DateTime.Now;


            // Perform create
            try
            {
                Quest.Services.Dbio.MasterPricing.FilterLogs _filterLog = new Quest.Services.Dbio.MasterPricing.FilterLogs();
                BufferMgr.TransferBuffer(filterLog, _filterLog);
                dbContext.FilterLogs.Add(_filterLog);
                dbContext.SaveChanges();
                if (_filterLog.Id == 0)
                {
                    return(new questStatus(Severity.Error, "Quest.Functional.Logging.FilterLog not created"));
                }
                filterLogId = new FilterLogId(_filterLog.Id);
            }
            catch (System.Exception ex)
            {
                return(new questStatus(Severity.Fatal, String.Format("EXCEPTION: {0}.{1}: {2}",
                                                                     this.GetType().Name, MethodBase.GetCurrentMethod().Name,
                                                                     ex.InnerException != null ? ex.InnerException.Message : ex.Message)));
            }
            return(new questStatus(Severity.Success));
        }
        public questStatus Delete(DbMgrTransaction trans, TablesetId tablesetId)
        {
            // Initialize
            questStatus status = null;


            // Perform delete in this transaction.
            status = delete((MasterPricingEntities)trans.DbContext, tablesetId);
            if (bLogging)
            {
                FilterLog filterLog = new FilterLog();
                filterLog.Database = "";
                filterLog.Tableset = "";
                filterLog.Name     = "TablesetId.Id=" + tablesetId.Id.ToString();
                filterLog.Event    = "DELETE";
                filterLog.Data     = status.ToString();
                FilterLogId filterLogId = null;
                _dbFilterLogsMgr.Create(filterLog, out filterLogId);
            }
            if (!questStatusDef.IsSuccess(status))
            {
                RollbackTransaction(trans);
                return(status);
            }
            return(new questStatus(Severity.Success));
        }
        /*==================================================================================================================================
        * Public Methods
        *=================================================================================================================================*/
        public questStatus Create(Quest.Functional.MasterPricing.Filter filter, out FilterId filterId)
        {
            // Initialize
            questStatus status = null;

            filterId = null;


            // Data rules.


            // Create the filter
            using (MasterPricingEntities dbContext = new MasterPricingEntities())
            {
                status = create(dbContext, filter, out filterId);
                if (bLogging)
                {
                    FilterLog filterLog = new FilterLog();
                    filterLog.Database = "";
                    filterLog.Tableset = "Tableset.Id=" + filter.TablesetId.ToString();
                    filterLog.Name     = filter.Name == null ? "(null)" : filter.Name;
                    filterLog.Event    = "CREATE";
                    filterLog.Data     = status.ToString();
                    FilterLogId filterLogId = null;
                    _dbFilterLogsMgr.Create(filterLog, out filterLogId);
                }
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }
            }
            return(new questStatus(Severity.Success));
        }
        public questStatus Delete(TablesetId tablesetId)
        {
            // Initialize
            questStatus status = null;


            // Perform delete.
            using (MasterPricingEntities dbContext = new MasterPricingEntities())
            {
                status = delete(dbContext, tablesetId);
                if (bLogging)
                {
                    FilterLog filterLog = new FilterLog();
                    filterLog.Database = "";
                    filterLog.Tableset = "";
                    filterLog.Name     = "Tableset.Id=" + tablesetId.Id.ToString();
                    filterLog.Event    = "DELETE";
                    filterLog.Data     = status.ToString();
                    FilterLogId filterLogId = null;
                    _dbFilterLogsMgr.Create(filterLog, out filterLogId);
                }
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }
            }
            return(new questStatus(Severity.Success));
        }
        public questStatus Update(DbMgrTransaction trans, Quest.Functional.MasterPricing.Filter filter)
        {
            // Initialize
            questStatus status             = null;
            bool        bCreateTransaction = trans == null;


            // Perform update in this transaction.
            status = update((MasterPricingEntities)trans.DbContext, filter);
            if (bLogging)
            {
                FilterLog filterLog = new FilterLog();
                filterLog.Database = "";
                filterLog.Tableset = "Tableset.Id=" + filter.TablesetId.ToString();
                filterLog.Name     = filter.Name == null ? "(null)" : filter.Name;
                filterLog.Event    = "UPDATE";
                filterLog.Data     = status.ToString();
                FilterLogId filterLogId = null;
                _dbFilterLogsMgr.Create(filterLog, out filterLogId);
            }
            if (!questStatusDef.IsSuccess(status))
            {
                RollbackTransaction(trans);
                return(status);
            }
            return(new questStatus(Severity.Success));
        }
        public questStatus ExecuteFilter(RunFilterRequest runFilterRequest, out ResultsSet resultsSet)
        {
            // TODO: business rules about what can/cannot be saved.

            // Initialize
            questStatus status = null;

            resultsSet = null;
            DbResultsMgr dbResultsMgr = new DbResultsMgr(this.UserSession);


            // Execute the filter
            status = dbResultsMgr.ExecuteFilter(runFilterRequest, out resultsSet);
            if (bLogging)
            {
                FilterLog filterLog = new FilterLog();
                filterLog.Database = "";
                filterLog.Tableset = "";
                filterLog.Name     = "FilterId=" + runFilterRequest.FilterId.ToString();
                filterLog.Event    = "EXECUTE";
                filterLog.Data     = String.Format("RowLimit: {0}  ColLimit: {1}   PageNumber: {2}   PageSize: {3}   Result rows: {4}  questStatus: {5}",
                                                   runFilterRequest.RowLimit, runFilterRequest.ColLimit, runFilterRequest.PageNumber, runFilterRequest.PageSize,
                                                   resultsSet == null ? "(N/A)" : resultsSet.NumRows.ToString(),
                                                   status.ToString());
                FilterLogId filterLogId = null;
                _dbFilterLogsMgr.Create(filterLog, out filterLogId);
            }
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }
            return(new questStatus(Severity.Success));
        }
        public questStatus Run(RunFilterRequest runFilterRequest, Filter filter, out ResultsSet resultsSet)
        {
            // Initialize
            questStatus status = null;

            resultsSet = null;


            // Run the filter
            DbResultsMgr dbResultsMgr = new DbResultsMgr(this.UserSession);

            status = dbResultsMgr.Run(runFilterRequest, filter, out resultsSet);
            if (bLogging)
            {
                FilterLog filterLog = new FilterLog();
                filterLog.Database = "";
                filterLog.Tableset = "";
                filterLog.Name     = "FilterId=" + runFilterRequest.FilterId.ToString();
                filterLog.Event    = "RUN";
                filterLog.Data     = String.Format("RowLimit: {0}  ColLimit: {1}   PageNumber: {2}   PageSize: {3}   Result rows: {4}  questStatus: {5}",
                                                   runFilterRequest.RowLimit, runFilterRequest.ColLimit, runFilterRequest.PageNumber, runFilterRequest.PageSize, resultsSet.NumRows, status.ToString());
                FilterLogId filterLogId = null;
                _dbFilterLogsMgr.Create(filterLog, out filterLogId);
            }
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }
            return(new questStatus(Severity.Success));
        }
        /*==================================================================================================================================
        * Public Methods
        *=================================================================================================================================*/
        public questStatus Save(FilterId filterId, Filter filter)
        {
            // Initialize
            questStatus      status     = null;
            Mgr              mgr        = new Mgr(this.UserSession);
            DbMgrTransaction trans      = null;
            FiltersMgr       filtersMgr = new FiltersMgr(this.UserSession);
            ColumnsMgr       columnMgr  = new ColumnsMgr(this.UserSession);


            try
            {
                // Validate filter
                status = Verify(filterId, filter);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }


                // BEGIN TRANSACTION
                status = mgr.BeginTransaction("SaveFilter" + Guid.NewGuid().ToString(), out trans);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }


                // Save the filter
                status = Save(trans, filterId, filter);
                if (!questStatusDef.IsSuccess(status))
                {
                    mgr.RollbackTransaction(trans);

                    if (bLogging)
                    {
                        Filter _filter = null;
                        status = filtersMgr.Read(filterId, out _filter);
                        if (!questStatusDef.IsSuccess(status))
                        {
                            return(status);
                        }

                        FilterLog filterLog = new FilterLog();
                        filterLog.Database = "";
                        filterLog.Tableset = "Tableset.Id=" + filter.TablesetId.ToString();
                        filterLog.Name     = _filter.Name;
                        filterLog.Event    = "SAVE";
                        filterLog.Data     = status.ToString();
                        FilterLogId filterLogId = null;
                        _dbFilterLogsMgr.Create(filterLog, out filterLogId);
                    }
                    return(status);
                }


                // COMMIT TRANSACTION
                status = mgr.CommitTransaction(trans);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }

                // Logging
                if (bLogging)
                {
                    Filter _filter = null;
                    status = filtersMgr.Read(filterId, out _filter);
                    if (!questStatusDef.IsSuccess(status))
                    {
                        return(status);
                    }

                    FilterLog filterLog = new FilterLog();
                    filterLog.Database = "";
                    filterLog.Tableset = "Tableset.Id=" + filter.TablesetId.ToString();
                    filterLog.Name     = _filter.Name;
                    filterLog.Event    = "SAVE";
                    filterLog.Data     = status.ToString();
                    FilterLogId filterLogId = null;
                    _dbFilterLogsMgr.Create(filterLog, out filterLogId);
                }

                // TODO: REFACTOR TO GET ALL-IN-ONE TRANSACTION
                // Generate filter SQL
                Filter      filterWithSQL = null;
                DbFilterMgr dbFilterMgr   = new DbFilterMgr(this.UserSession);
                status = dbFilterMgr.GenerateFilterSQL(filterId, out filterWithSQL);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }

                // Update filter
                status = filtersMgr.Update(filterWithSQL);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }
            }
            catch (System.Exception ex)
            {
                if (trans != null)
                {
                    mgr.RollbackTransaction(trans);
                }
                return(new questStatus(Severity.Fatal, String.Format("EXCEPTION: {0}.{1}: {2}",
                                                                     this.GetType().Name, MethodBase.GetCurrentMethod().Name,
                                                                     ex.InnerException != null ? ex.InnerException.Message : ex.Message)));
            }
            return(new questStatus(Severity.Success));
        }