Esempio n. 1
0
        public GuildBO Update(GuildBO guild)
        {
            using (var uow = _facade.UnitOfWork)
            {
                var guildFromDB = uow.GuildRepository.Get(guild.Id);
                if (guildFromDB == null)
                {
                    throw new InvalidOperationException("Guild not found");
                }

                var guildUpdated = conv.Convert(guild);
                guildFromDB.GuildName   = guildUpdated.GuildName;
                guildFromDB.Description = guildUpdated.Description;

                if (guildUpdated.Users != null)
                {
                    guildFromDB.Users.RemoveAll(
                        gu => !guildUpdated.Users.Exists(
                            u => u.UserId == gu.UserId &&
                            u.GuildId == gu.GuildId));

                    guildUpdated.Users.RemoveAll(
                        gu => guildFromDB.Users.Exists(
                            u => u.UserId == gu.UserId &&
                            u.GuildId == gu.GuildId));

                    guildFromDB.Users.AddRange(
                        guildUpdated.Users);
                }

                uow.Complete();

                return(conv.Convert(guildFromDB));
            }
        }
Esempio n. 2
0
 public IActionResult Post([FromBody] GuildBO guild)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     return(Ok(facade.GuildService.Create(guild)));
 }
Esempio n. 3
0
 public GuildBO Create(GuildBO guild)
 {
     using (var uow = _facade.UnitOfWork)
     {
         var guildEnt    = conv.Convert(guild);
         var guildEntity = uow.GuildRepository.Create(guildEnt);
         uow.Complete();
         return(conv.Convert(guildEntity));
     }
 }
Esempio n. 4
0
 public IActionResult Put(int id, [FromBody] GuildBO guild)
 {
     if (id != guild.Id)
     {
         return(BadRequest("Path Id does not match Guild Id in json object"));
     }
     try
     {
         var guildUpdated = facade.GuildService.Update(guild);
         return(Ok(guildUpdated));
     }
     catch (InvalidOperationException e)
     {
         return(StatusCode(404, e.Message));
     }
 }
        internal Guild Convert(GuildBO guild)
        {
            if (guild == null)
            {
                return(null);
            }

            return(new Guild()
            {
                Id = guild.Id,
                GuildName = guild.GuildName,
                Description = guild.Description,
                Users = guild.UserIds?.Select(uID => new GuildUser()
                {
                    UserId = uID,
                    GuildId = guild.Id
                }).ToList()
            });
        }