public ModelBaseReturn SaveFromScrapy(PlayerScrapy scrapyModel) { var playerInDb = _repository.FindByName((scrapyModel as PlayerScrapy).Name); var retorno = SaveFromScrapy(scrapyModel as PlayerScrapy, playerInDb); _repository.Save(); return(retorno); }
public ModelBaseReturn SaveFromScrapy(PlayerScrapy model, Player player) { try { bool isCreated = true; isCreated = player == null; var world = player?.World ?? _worldRepository.FindByName(model.WorldName); if (player == null) { player = new Player(); var novoPlayer = _mapper.Map <Player>(model); player.UpdatePlayer(novoPlayer) .UpdateWorld(world) .AddNewHistoryScrapy(novoPlayer, world); } else { var updatePlayer = _mapper.Map <Player>(model); player .UpdatePlayer(updatePlayer) .UpdateWorld(world) .AddNewHistoryScrapy(updatePlayer, world); } _repository.AddOrUpdate(player); if (isCreated) { return(CreateReturnCreated(player.Id)); } else { var retorno = _mapper.Map <PlayerScrapy>(player); return(CreateReturnOk(retorno)); } } catch (Exception ex) { return(CreateReturnErrorInternal(ex.Message)); } }
public ActionResult Post(PlayerScrapy player) { ModelBaseReturn retorno = null; try { retorno = _playerService.SaveFromScrapy <PlayerScrapy>(player); if (retorno.Status == System.Net.HttpStatusCode.Created) { retorno.UrlCreated = Url.Action("Get", "Player", new { name = player.Name }); } return(ReturnBasedServiceLayer(retorno)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }