Exemple #1
0
        /// <summary>
        /// Get the flag with the specified identifier.
        /// </summary>
        /// <returns>The flag.</returns>
        /// <param name="id">Identifier.</param>
        public FlagEntity Get(string id)
        {
            List <FlagEntity> flagEntities = xmlDatabase.LoadEntities().ToList();
            FlagEntity        flagEntity   = flagEntities.FirstOrDefault(x => x.Id == id);

            if (flagEntity == null)
            {
                throw new EntityNotFoundException(id, nameof(BorderEntity).Replace("Entity", ""));
            }

            return(flagEntity);
        }
Exemple #2
0
        /// <summary>
        /// Adds the specified flag.
        /// </summary>
        /// <param name="flagEntity">Flag.</param>
        public void Add(FlagEntity flagEntity)
        {
            List <FlagEntity> flagEntities = xmlDatabase.LoadEntities().ToList();

            flagEntities.Add(flagEntity);

            try
            {
                xmlDatabase.SaveEntities(flagEntities);
            }
            catch
            {
                throw new DuplicateEntityException(flagEntity.Id, nameof(FlagEntity).Replace("Entity", ""));
            }
        }
        /// <summary>
        /// Converts the domain model into an entity.
        /// </summary>
        /// <returns>The entity.</returns>
        /// <param name="flag">Flag.</param>
        internal static FlagEntity ToEntity(this Flag flag)
        {
            FlagEntity flagEntity = new FlagEntity
            {
                Id     = flag.Id,
                Layer1 = flag.Layer1,
                Layer2 = flag.Layer2,
                Emblem = flag.Emblem,
                Skin   = flag.Skin,
                BackgroundColourHexadecimal = ColorTranslator.ToHtml(flag.BackgroundColour),
                Layer1ColourHexadecimal     = ColorTranslator.ToHtml(flag.Layer1Colour),
                Layer2ColourHexadecimal     = ColorTranslator.ToHtml(flag.Layer2Colour),
                EmblemColourHexadecimal     = ColorTranslator.ToHtml(flag.EmblemColour)
            };

            return(flagEntity);
        }
        /// <summary>
        /// Converts the entity into a domain model.
        /// </summary>
        /// <returns>The domain model.</returns>
        /// <param name="flagEntity">Flag entity.</param>
        internal static Flag ToDomainModel(this FlagEntity flagEntity)
        {
            Flag flag = new Flag
            {
                Id               = flagEntity.Id,
                Layer1           = flagEntity.Layer1,
                Layer2           = flagEntity.Layer2,
                Emblem           = flagEntity.Emblem,
                Skin             = flagEntity.Skin,
                BackgroundColour = ColorTranslator.FromHtml(flagEntity.BackgroundColourHexadecimal),
                Layer1Colour     = ColorTranslator.FromHtml(flagEntity.Layer1ColourHexadecimal),
                Layer2Colour     = ColorTranslator.FromHtml(flagEntity.Layer2ColourHexadecimal),
                EmblemColour     = ColorTranslator.FromHtml(flagEntity.EmblemColourHexadecimal)
            };

            return(flag);
        }
Exemple #5
0
        /// <summary>
        /// Updates the specified flag.
        /// </summary>
        /// <param name="flagEntity">Flag.</param>
        public void Update(FlagEntity flagEntity)
        {
            List <FlagEntity> flagEntities       = xmlDatabase.LoadEntities().ToList();
            FlagEntity        flagEntityToUpdate = flagEntities.FirstOrDefault(x => x.Id == flagEntity.Id);

            if (flagEntityToUpdate == null)
            {
                throw new EntityNotFoundException(flagEntity.Id, nameof(BorderEntity).Replace("Entity", ""));
            }

            flagEntityToUpdate.Layer1 = flagEntity.Layer1;
            flagEntityToUpdate.Layer2 = flagEntity.Layer2;
            flagEntityToUpdate.Emblem = flagEntity.Emblem;
            flagEntityToUpdate.Skin   = flagEntity.Skin;
            flagEntityToUpdate.BackgroundColourHexadecimal = flagEntity.BackgroundColourHexadecimal;
            flagEntityToUpdate.Layer1ColourHexadecimal     = flagEntity.Layer1ColourHexadecimal;
            flagEntityToUpdate.Layer2ColourHexadecimal     = flagEntity.Layer2ColourHexadecimal;
            flagEntityToUpdate.EmblemColourHexadecimal     = flagEntity.EmblemColourHexadecimal;

            xmlDatabase.SaveEntities(flagEntities);
        }
Exemple #6
0
        public bool AddOrRemoveFlag(FlagEntity flag, int userId = 0)
        {
            if (userId == 0)
            {
                using (var context = new ContentContext())
                {
                    context.Add(flag);
                    return(context.SaveChanges() > 0);
                }
                // _ctx.Add(flag);
            }

            if (userId > 0)
            {
                using (var context = new ContentContext())
                {
                    context.Remove(flag);
                    return(context.SaveChanges() > 0);
                }
                // _ctx.Remove(flag);
            }
            return(Save());
        }