public HttpResponseMessage AddGuild(GuildModelDto request) { try { _dataAccess.AddGuild(request); var getPlayer = _dataAccess.GetPlayerByUserId(((UserModel)ActionContext.Request.Properties["user"]).Id); _dataAccess.AddGuildMember(getPlayer.Name, request.Name); return(Request.CreateResponse(HttpStatusCode.OK, "Guild successfully added")); } catch (PlayerNotFoundException playerNotFoundException) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, new ErrorResponse(PlayerNotFoundException.ERROR_CODE, playerNotFoundException.Message))); } catch (GuildNotFoundException guildNotFoundException) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, new ErrorResponse(GuildNotFoundException.ERROR_CODE, guildNotFoundException.Message))); } catch (FactionNotFoundException factionNotFoundException) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, new ErrorResponse(FactionNotFoundException.ERROR_CODE, factionNotFoundException.Message))); } catch (Exception e) { SmartApartmentLogger.LogAsync(ELogType.Error, e.Message); return(Request.CreateResponse(HttpStatusCode.InternalServerError, new ErrorResponse(500, "Internal server error. Please try again later"))); } }
public void AddGuild(GuildModelDto dto) { if (_entities.guilds.FirstOrDefault(x => x.name.Equals(dto.Name)) != null) { throw new GuildAlreadyExistsException(); } if (_entities.factions.FirstOrDefault(x => x.pk_id == dto.FactionId) == null) { throw FactionNotFoundException.FromId(dto.FactionId); } _entities.guilds.Add(dto.ToDbObject()); _entities.SaveChanges(); }