コード例 #1
0
        /// <summary>
        /// Converts the provided <see cref="EntityTypeId"/> to <see cref="EntityGuidMask"/>.
        /// </summary>
        /// <param name="type">The type id value.</param>
        /// <returns></returns>
        public static EntityGuidMask TypeIdToMask(EntityTypeId type)
        {
            switch (type)
            {
            case EntityTypeId.TYPEID_ITEM:
                return(EntityGuidMask.Item);

            //case HighGuid::Container:    return TYPEID_CONTAINER; HighGuid::Container == HighGuid::Item currently
            case EntityTypeId.TYPEID_UNIT:
                return(EntityGuidMask.Unit);

            case EntityTypeId.TYPEID_PLAYER:
                return(EntityGuidMask.Player);

            case EntityTypeId.TYPEID_GAMEOBJECT:
                return(EntityGuidMask.GameObject);

            case EntityTypeId.TYPEID_DYNAMICOBJECT:
                return(EntityGuidMask.DynamicObject);

            case EntityTypeId.TYPEID_CORPSE:
                return(EntityGuidMask.Corpse);

            // unknown
            default:
                throw new InvalidOperationException($"Cannot convert: {type} to {nameof(EntityGuidMask)} value.");
            }
        }
コード例 #2
0
        private questStatus read(MasterPricingEntities dbContext, EntityTypeId entityTypeId, EntityId entityId, string name, out Quest.Services.Dbio.MasterPricing.Columns column)
        {
            // Initialize
            questStatus status = null;

            column = null;


            try
            {
                column = dbContext.Columns.Where(r => r.EntityTypeId == entityTypeId.Id && r.EntityId == entityId.Id && r.Name == name).SingleOrDefault();
                if (column == null)
                {
                    return(new questStatus(Severity.Error, String.Format("ERROR: {0}.{1}: {2}",
                                                                         this.GetType().Name, MethodBase.GetCurrentMethod().Name,
                                                                         String.Format("EntityId {0} Name {1} not found", entityId.Id, name))));
                }
            }
            catch (System.Exception ex)
            {
                status = new questStatus(Severity.Fatal, String.Format("EXCEPTION: {0}.{1}: {2}",
                                                                       this.GetType().Name, MethodBase.GetCurrentMethod().Name,
                                                                       ex.InnerException != null ? ex.InnerException.Message : ex.Message));
                LogException(ex, status);
                return(status);
            }
            return(new questStatus(Severity.Success));
        }
コード例 #3
0
        public static void TrackDirectUrlHistory(string newDirectUrl, EntityTypeId entityTypeId, string targetDirectUrl, int targetId, ObjectContext objectContext)
        {
            if (newDirectUrl != targetDirectUrl)
            {

                var directUrlHistoryContext = objectContext.CreateObjectSet<DirectUrlHistory>();

                // If the new direct URL exists in history, remove from history
                var newDirectUrlHistory = directUrlHistoryContext.SingleOrDefault(d => d.EntityTypeId == (int)entityTypeId && (d.DirectUrl == newDirectUrl));

                if (newDirectUrlHistory != null)
                    directUrlHistoryContext.DeleteObject(newDirectUrlHistory);

                // Add old direct URL to the history
                if (!string.IsNullOrEmpty(targetDirectUrl))
                {
                    var oldDirectUrlHistory = new DirectUrlHistory() { EntityTypeId = (int)entityTypeId, EntityId = targetId, DirectUrl = targetDirectUrl, DateAdded = DateTime.Now };
                    directUrlHistoryContext.AddObject(oldDirectUrlHistory);
                }
                objectContext.SaveChanges();
            }
        }
コード例 #4
0
        public questStatus Read(EntityTypeId entityTypeId, EntityId entityId, string name, out Quest.Functional.MasterPricing.Column column)
        {
            // Initialize
            questStatus status = null;

            column = null;


            // Perform read
            using (MasterPricingEntities dbContext = new MasterPricingEntities())
            {
                Quest.Services.Dbio.MasterPricing.Columns _columns = null;
                status = read(dbContext, entityTypeId, entityId, name, out _columns);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }
                column = new Quest.Functional.MasterPricing.Column();
                BufferMgr.TransferBuffer(_columns, column);
            }
            return(new questStatus(Severity.Success));
        }
コード例 #5
0
        private void OnSelectScreenItems(string obj)
        {
            var entityType = _entityDao.GetEntityTypeById(EntityTypeId.GetValueOrDefault(0));
            var items      = Model.ScreenItems.ToList();

            IList <IOrderable> values = new List <IOrderable>(Workspace
                                                              .All <Entity>(x => x.EntityTypeId == EntityTypeId)
                                                              .Where(x => items.FirstOrDefault(y => y.EntityId == x.Id) == null)
                                                              .OrderBy(x => x.Name)
                                                              .Select(x => new EntityScreenItem(entityType, x)));

            IList <IOrderable> selectedValues = new List <IOrderable>(items);
            IList <IOrderable> choosenValues  =
                InteractionService.UserIntraction.ChooseValuesFrom(values, selectedValues, string.Format(Resources.List_f, Resources.Entity),
                                                                   string.Format(Resources.SelectItemsFor_f, Resources.Entities, Model.Name, Resources.EntityScreen), Resources.Entity, Resources.Entities);

            Model.ScreenItems.Clear();
            foreach (EntityScreenItem choosenValue in choosenValues)
            {
                Model.AddScreenItem(choosenValue);
            }
            _entityScreenItems = null;
            RaisePropertyChanged(() => EntityScreenItems);
        }
コード例 #6
0
        /* Used or useful? */
        public questStatus GetColumnInfo(TablesetColumn tablesetColumn, out Column column)
        {
            // Initialize
            questStatus status = null;

            column = null;


            DbTablesetTablesMgr dbTablesetTablesMgr = new DbTablesetTablesMgr(this._userSession);
            DbTablesetViewsMgr  dbTablesetViewsMgr  = new DbTablesetViewsMgr(this._userSession);
            TablesetId          tablesetId          = null;
            TablesetTable       tablesetTable       = null;
            TablesetView        tablesetView        = null;

            if (tablesetColumn.EntityTypeId == EntityType.Table)
            {
                // Get TablesetTable
                TablesetTableId tablesetTableId = new TablesetTableId(tablesetColumn.TableSetEntityId);
                status = dbTablesetTablesMgr.Read(tablesetTableId, out tablesetTable);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }
                tablesetId = new TablesetId(tablesetTable.TablesetId);
            }
            else if (tablesetColumn.EntityTypeId == EntityType.View)
            {
                // Get TablesetView
                TablesetViewId tablesetViewId = new TablesetViewId(tablesetColumn.TableSetEntityId);
                status = dbTablesetViewsMgr.Read(tablesetViewId, out tablesetView);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }
                tablesetId = new TablesetId(tablesetView.TablesetId);
            }
            else
            {
                return(new questStatus(Severity.Error, String.Format("ERROR: unsupported EntityTypeId {0} for TablesetColumn {1}",
                                                                     tablesetColumn.EntityTypeId, tablesetColumn.Id)));
            }

            // Get the Tableset
            DbTablesetsMgr dbTablesetsMgr = new DbTablesetsMgr(this._userSession);
            Tableset       tableset       = null;

            status = dbTablesetsMgr.Read(tablesetId, out tableset);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }

            // Get the database
            DatabaseId databaseId = new DatabaseId(tableset.DatabaseId);

            Quest.Functional.MasterPricing.Database database = null;
            DbDatabasesMgr dbDatabasesMgr = new DbDatabasesMgr(this._userSession);

            status = dbDatabasesMgr.Read(databaseId, out database);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }


            // Get the Table or View by identifier within this database
            DbTablesMgr  dbTablesMgr  = new DbTablesMgr(this._userSession);
            DbViewsMgr   dbViewsMgr   = new DbViewsMgr(this._userSession);
            EntityTypeId entityTypeId = null;
            EntityId     entityId     = null;

            if (tablesetColumn.EntityTypeId == EntityType.Table)
            {
                TableId tableId = new TableId();
                Table   table   = null;
                status = dbTablesMgr.Read(databaseId, tablesetTable.Schema, tablesetTable.Name, out table);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }
                entityTypeId = new EntityTypeId(EntityType.Table);
                entityId     = new EntityId(table.Id);
            }
            else if (tablesetColumn.EntityTypeId == EntityType.View)
            {
            }

            // Get column info
            DbColumnsMgr dbColumnsMgr = new DbColumnsMgr(this._userSession);

            status = dbColumnsMgr.Read(entityTypeId, entityId, tablesetColumn.Name, out column);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }
            return(new questStatus(Severity.Success));
        }
コード例 #7
0
        public questStatus GetTablesetView(DatabaseId databaseId, FilterViewTablesetViewId filterViewTablesetViewId, out TablesetView tablesetView)
        {
            // Initialize
            questStatus status = null;

            tablesetView = null;


            // Get tableset view
            DbTablesetViewsMgr dbTablesetViewsMgr = new DbTablesetViewsMgr(this._userSession);

            status = dbTablesetViewsMgr.Read(filterViewTablesetViewId, out tablesetView);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }

            // Get tableset columns
            EntityType entityType = new EntityType();

            entityType.Id = EntityType.View;
            TableSetEntityId      tableSetEntityId     = new TableSetEntityId(tablesetView.Id);
            DbTablesetColumnsMgr  dbTablesetColumnsMgr = new DbTablesetColumnsMgr(this._userSession);
            List <TablesetColumn> tablesetColumnList   = null;

            TablesetColumnId tablesetColumnId = new TablesetColumnId();

            status = dbTablesetColumnsMgr.Read(entityType, tableSetEntityId, out tablesetColumnList);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }
            tablesetView.TablesetColumnList = tablesetColumnList;


            // Get view
            View view = null;

            status = GetViewInfo(databaseId, tablesetView, out view);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }
            tablesetView.View = view;


            // Get column info
            DbColumnsMgr dbColumnsMgr = new DbColumnsMgr(this._userSession);
            EntityTypeId entityTypeId = new EntityTypeId(EntityType.View);
            EntityId     entityId     = new EntityId(view.Id);

            foreach (TablesetColumn tablesetColumn in tablesetColumnList)
            {
                Column column = null;
                status = dbColumnsMgr.Read(entityTypeId, entityId, tablesetColumn.Name, out column);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }
                tablesetColumn.Column = column;
            }
            return(new questStatus(Severity.Success));
        }
コード例 #8
0
        public questStatus ReadTablesetConfiguration(TablesetId tablesetId, out TablesetConfiguration tablesetConfiguration)
        {
            // Initialize
            questStatus status = null;

            tablesetConfiguration = null;


            // Read tableset
            Tableset       tableset       = null;
            DbTablesetsMgr dbTablesetsMgr = new DbTablesetsMgr(this._userSession);

            status = dbTablesetsMgr.Read(tablesetId, out tableset);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }


            // Read database
            DatabaseId databaseId = new DatabaseId(tableset.DatabaseId);

            Quest.Functional.MasterPricing.Database database = null;
            DbDatabasesMgr dbDatabasesMgr = new DbDatabasesMgr(this._userSession);

            status = dbDatabasesMgr.Read(databaseId, out database);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }



            /*
             * Load tableset entities.
             */
            DbTablesetColumnsMgr dbTablesetColumnsMgr = new DbTablesetColumnsMgr(this._userSession);


            // Read tables in tableset
            List <Quest.Functional.MasterPricing.TablesetTable> tablesetTableList = null;
            DbTablesetTablesMgr dbTablesetTablesMgr = new DbTablesetTablesMgr(this._userSession);

            status = dbTablesetTablesMgr.Read(tablesetId, out tablesetTableList);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }

            // Read table info.
            EntityType entityType = new EntityType();

            entityType.Id = EntityType.Table;
            DbTablesMgr  dbTablesMgr  = new DbTablesMgr(this._userSession);
            DbColumnsMgr dbColumnsMgr = new DbColumnsMgr(this._userSession);

            foreach (TablesetTable tablesetTable in tablesetTableList)
            {
                TablesetId tableSetId = new TablesetId(tablesetTable.Id);
                List <Quest.Functional.MasterPricing.TablesetColumn> tablesetColumnList = null;

                TableSetEntityId tableSetEntityId = new TableSetEntityId(tablesetTable.Id);
                status = dbTablesetColumnsMgr.Read(entityType, tableSetEntityId, out tablesetColumnList);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }
                tablesetTable.TablesetColumnList = tablesetColumnList;

                Table table = null;
                status = dbTablesMgr.Read(databaseId, tablesetTable.Schema, tablesetTable.Name, out table);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }
                tablesetTable.Table = table;


                // Get column metadata
                EntityTypeId entityTypeId = new EntityTypeId(EntityType.Table);
                EntityId     entityId     = new EntityId(table.Id);
                foreach (TablesetColumn tablesetColumn in tablesetColumnList)
                {
                    Column column = null;
                    status = dbColumnsMgr.Read(entityTypeId, entityId, tablesetColumn.Name, out column);
                    if (!questStatusDef.IsSuccess(status))
                    {
                        return(status);
                    }
                    tablesetColumn.Column = column;
                }
            }

            // Read views in tableset
            List <Quest.Functional.MasterPricing.TablesetView> tablesetViewList = null;
            DbTablesetViewsMgr dbTablesetViewsMgr = new DbTablesetViewsMgr(this._userSession);

            status = dbTablesetViewsMgr.Read(tablesetId, out tablesetViewList);
            if (!questStatusDef.IsSuccess(status))
            {
                return(status);
            }
            // Read views columns in tableset
            entityType.Id = EntityType.View;
            DbViewsMgr dbViewsMgr = new DbViewsMgr(this._userSession);

            foreach (TablesetView tablesetView in tablesetViewList)
            {
                TablesetViewId tablesetViewId = new TablesetViewId(tablesetView.Id);
                List <Quest.Functional.MasterPricing.TablesetColumn> tablesetColumnList = null;

                TableSetEntityId tableSetEntityId = new TableSetEntityId(tablesetView.Id);
                status = dbTablesetColumnsMgr.Read(entityType, tableSetEntityId, out tablesetColumnList);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }
                tablesetView.TablesetColumnList = tablesetColumnList;

                View view = null;
                status = dbViewsMgr.Read(databaseId, tablesetView.Schema, tablesetView.Name, out view);
                if (!questStatusDef.IsSuccess(status))
                {
                    return(status);
                }
                tablesetView.View = view;


                // Get column metadata
                EntityTypeId entityTypeId = new EntityTypeId(EntityType.View);
                EntityId     entityId     = new EntityId(view.Id);
                foreach (TablesetColumn tablesetColumn in tablesetColumnList)
                {
                    Column column = null;
                    status = dbColumnsMgr.Read(entityTypeId, entityId, tablesetColumn.Name, out column);
                    if (!questStatusDef.IsSuccess(status))
                    {
                        return(status);
                    }
                    tablesetColumn.Column = column;
                }
            }

            // Build tableset configuration
            tablesetConfiguration                = new TablesetConfiguration();
            tablesetConfiguration.Tableset       = tableset;
            tablesetConfiguration.Database       = database;
            tablesetConfiguration.TablesetTables = tablesetTableList;
            tablesetConfiguration.TablesetViews  = tablesetViewList;


            return(new questStatus(Severity.Success));
        }
コード例 #9
0
 public bool isType(EntityTypeId typeId)
 {
     return(TypeId == typeId);
 }
コード例 #10
0
 private EntityType(EntityTypeId Id, string Name, Type entityType)
 {
     this.Id   = Id;
     this.Name = Name;
     this.Type = entityType;
 }