Example #1
0
        public StateSet Clone(bool newId = false, EntityHeader org = null, EntityHeader user = null)
        {
            var stateSet = new StateSet()
            {
                CreatedBy         = CreatedBy.Clone(),
                LastUpdatedBy     = LastUpdatedBy.Clone(),
                OwnerOrganization = OwnerOrganization.Clone(),

                CreationDate    = CreationDate,
                DatabaseName    = DatabaseName,
                Description     = Description,
                EntityType      = EntityType,
                Id              = newId ? Guid.NewGuid().ToId() : Id,
                IsLocked        = IsLocked,
                IsPublic        = IsPublic,
                IsValid         = IsValid,
                Key             = Key,
                LastUpdatedDate = LastUpdatedDate,
                LockedBy        = LockedBy.Clone(),
                LockedDateStamp = LockedDateStamp,
                Name            = Name,
                OwnerUser       = OwnerUser.Clone(),
                RequireEnum     = RequireEnum,
            };

            if (OwnerUser != null)
            {
                stateSet.OwnerUser = user == null?OwnerUser.Clone() : user;
            }

            if (IsLocked)
            {
                stateSet.LockedBy = user == null?LockedBy.Clone() : user;
            }


            foreach (var state in States)
            {
                stateSet.States.Add(state.Clone());
            }

            return(stateSet);
        }
Example #2
0
        public UnitSet Clone(bool newId = false, EntityHeader org = null, EntityHeader user = null)
        {
            var unitSet = new UnitSet()
            {
                CreatedBy         = user ?? CreatedBy.Clone(),
                OwnerOrganization = org ?? OwnerOrganization.Clone(),
                LastUpdatedBy     = user ?? LastUpdatedBy.Clone(),

                CreationDate    = CreationDate,
                DatabaseName    = DatabaseName,
                Description     = Description,
                EntityType      = EntityType,
                Id              = newId ? Guid.NewGuid().ToId() : Id,
                IsLocked        = IsLocked,
                IsPublic        = IsPublic,
                IsValid         = IsValid,
                Key             = Key,
                LastUpdatedDate = LastUpdatedDate,
                LockedDateStamp = LockedDateStamp,
                Name            = Name,
                Notes           = CloneNotes(),
            };

            if (OwnerUser != null)
            {
                unitSet.OwnerUser = user ?? OwnerUser.Clone();
            }

            if (IsLocked)
            {
                unitSet.LockedBy = user ?? LockedBy.Clone();
            }

            foreach (var unit in Units)
            {
                unitSet.Units.Add(unit.Clone());
            }

            return(unitSet);
        }
Example #3
0
        /// <summary>
        /// Updates the client with the changes that have been made to the UserInventory.
        /// </summary>
        public void Update()
        {
            // Don't actually grab the PacketWriter from the pool until we know we will need it
            PacketWriter pw = null;

            try
            {
                // Loop through all slots
                for (var slot = 0; slot < GameData.MaxInventorySize; slot++)
                {
                    // Skip unchanged slots
                    if (!_slotChanged[slot])
                    {
                        continue;
                    }

                    // Get the item in the slot
                    var invSlot = new InventorySlot(slot);
                    var item    = UserInventory[invSlot];

                    // Get the values to send, which depends on if the slot is empty (item == null) or not
                    GrhIndex sendItemGraphic;
                    byte     sendItemAmount;

                    if (item == null)
                    {
                        sendItemGraphic = GrhIndex.Invalid;
                        sendItemAmount  = 0;
                    }
                    else
                    {
                        sendItemGraphic = item.GraphicIndex;
                        sendItemAmount  = item.Amount;
                    }

                    // Grab the PacketWriter if we have not already, or clear it if we have
                    if (pw == null)
                    {
                        pw = ServerPacket.GetWriter();
                    }
                    else
                    {
                        pw.Reset();
                    }

                    // Pack the data and send it
                    ServerPacket.SetInventorySlot(pw, invSlot, sendItemGraphic, sendItemAmount);
                    OwnerUser.Send(pw, ServerMessageType.GUIItems);
                }
            }
            finally
            {
                // If we grabbed a PacketWriter, make sure we dispose of it!
                if (pw != null)
                {
                    pw.Dispose();
                }
            }

            // Changes complete
            _slotChanged.SetAll(false);
        }
Example #4
0
 public OwnerUser UpdateOwnerUser(OwnerUser user)
 {
     _connection.Update(user, typeof(OwnerUser));
     return(_connection.Table <OwnerUser>().FirstOrDefault(u => u.OwnerUserId == user.OwnerUserId));
 }
Example #5
0
 public void AddOwner(OwnerUser user)
 {
     _connection.Insert(user, typeof(OwnerUser));
 }
Example #6
0
 public IEnumerable <OwnerUser> RegresaUsuarios(OwnerUser user)
 {
     throw new NotImplementedException();
 }
Example #7
0
 public OwnerUser ModificaUsuario(OwnerUser user)
 {
     throw new NotImplementedException();
 }
Example #8
0
 public void RegistraUsuario(OwnerUser owner)
 {
     _service.AddOwner(owner);
 }