public async Task <ActionResult <Models.Response.CadastrarAlterarTimeResponse> > CadastrarTimeAsync(Models.Request.CadastrarAlterarTimeRequest req) { try { Models.TbUsuario tbUsuario = await usuarioBsn.ConsultarUsuarioPorIdLoginAsync(req.IdLogin); Models.TbQuadro tbQuadro = quadroCnv.ToTbQuadro(req, tbUsuario); tbQuadro = await quadroBsn.CadastrarQuadroAsync(tbQuadro); Models.TbTime tbTime = timeCnv.ToTbTime(req, tbQuadro); tbTime = await timeBsn.CadastrarTimeAsync(tbTime); tbTime = await timeBsn.SalvarLinkAsync(tbTime, tbTime); Models.TbTimeIntegrante timeIntegrante = timeIntegranteCnv.ToTbIntegrante(tbUsuario.IdUsuario, tbTime.IdTime); timeIntegrante = await timeIntegranteBsn.CadastrarTimeIntegranteAsync(timeIntegrante); Models.Response.CadastrarAlterarTimeResponse resp = timeCnv.ToTimeResponse(tbTime); return(resp); } catch (Exception e) { return(BadRequest( new Models.Response.ErroResponse( 400, e.Message ) )); } }
public async Task <ActionResult <Models.Response.CadastrarAlterarTimeResponse> > AlterarTimeAsync(int idTime, Models.Request.CadastrarAlterarTimeRequest req) { try { Models.TbTime tbTimeAntigo = await timeBsn.ConsultarTimePorIdTime(idTime); Models.TbQuadro tbQuadro = await quadroBsn.ConsultarQuadroPorIdQuadroAsync(tbTimeAntigo.IdQuadro); Models.TbTime tbTimeAtual = timeCnv.ToTbTime(req, tbQuadro); tbTimeAntigo = await timeBsn.AlterarTimeAsync(tbTimeAntigo, tbTimeAtual); Models.Response.CadastrarAlterarTimeResponse resp = timeCnv.ToTimeResponse(tbTimeAntigo); return(resp); } catch (Exception e) { return(BadRequest( new Models.Response.ErroResponse( 400, e.Message ) )); } }
public async Task <Models.TbTime> SalvarLinkAsync(Models.TbTime timeAntigo, Models.TbTime timeNovo) { timeAntigo.DsLinkConvite = timeNovo.DsLinkConvite; await ctx.SaveChangesAsync(); return(timeAntigo); }
public async Task <Models.TbTime> DeletarTimeAsync(Models.TbTime req) { ctx.TbTime.Remove(req); await ctx.SaveChangesAsync(); return(req); }
public async Task <Models.TbTime> CadastrarTimeAsync(Models.TbTime req) { await ctx.TbTime.AddAsync(req); await ctx.SaveChangesAsync(); return(req); }
public async Task <Models.TbTime> AlterarTimeAsync(Models.TbTime timeAntigo, Models.TbTime timeAtual) { timeAntigo.NmTime = timeAtual.NmTime; timeAntigo.DsTime = timeAtual.DsTime; await ctx.SaveChangesAsync(); return(timeAntigo); }
public async Task <Models.TbTime> SalvarLinkAsync(Models.TbTime timeAntigo, Models.TbTime timeNovo) { timeNovo.DsLinkConvite = gerenciadorLink.GerarLink(timeAntigo.IdTime, timeAntigo.IdQuadro); gerenciadorLink.ValidarLink(timeNovo.DsLinkConvite); timeAntigo = await timeDb.SalvarLinkAsync(timeAntigo, timeNovo); return(timeAntigo); }
public Models.TbTime ToTbTime(Models.Request.CadastrarAlterarTimeRequest req, Models.TbQuadro tbQuadro) { Models.TbTime resp = new Models.TbTime(); resp.NmTime = req.NomeTime; resp.DsTime = req.DescricaoTime; resp.IdQuadro = tbQuadro.IdQuadro; return(resp); }
public Models.Response.CadastrarAlterarTimeResponse ToTimeResponse(Models.TbTime req) { Models.Response.CadastrarAlterarTimeResponse resp = new Models.Response.CadastrarAlterarTimeResponse(); resp.IdTime = req.IdTime; resp.NomeTime = req.NmTime; resp.Descricao = req.DsTime; return(resp); }
private void ValidarTimeRequest(Models.TbTime req) { if (req.NmTime == string.Empty || req.NmTime.Count(x => x != ' ') <= 0) { throw new Exception("Nome do time não pode ser vazio."); } if (req.DsLinkConvite == string.Empty) { throw new Exception("Não foi possível gerar o link pro seu time."); } }
public async Task <Models.TbTime> AlterarTimeAsync(Models.TbTime timeAntigo, Models.TbTime timeAtual) { this.ValidarTimeRequest(timeAtual); if (timeAtual.IdQuadro <= 0) { throw new Exception("Quadro do time não encontrado."); } timeAntigo = await timeDb.AlterarTimeAsync(timeAntigo, timeAtual); return(timeAntigo); }
public async Task <Models.TbTime> ConsultarTimePorIdTime(int idTime) { if (idTime <= 0) { throw new Exception("Id de time inválido."); } Models.TbTime tbTime = await timeDb.ConsultarTimePorIdTime(idTime); if (tbTime == null) { throw new Exception("Time não encontrado."); } return(tbTime); }
public async Task <Models.TbTime> CadastrarTimeAsync(Models.TbTime req) { this.ValidarTimeRequest(req); if (req.IdQuadro <= 0) { throw new Exception("Quadro do time não encontrado."); } req = await timeDb.CadastrarTimeAsync(req); if (req.IdTime <= 0) { throw new Exception("Id do time inválido."); } return(req); }
public async Task <ActionResult <Models.Response.CadastrarAlterarTimeResponse> > ConsultarTimePorIdQuadroAsync(int idTime) { try { Models.TbTime tbTime = await timeBsn.ConsultarTimePorIdTime(idTime); if (tbTime == null) { return(NotFound()); } Models.Response.CadastrarAlterarTimeResponse resp = timeCnv.ToTimeResponse(tbTime); return(resp); } catch (Exception e) { return(BadRequest( new Models.Response.ErroResponse( 400, e.Message ) )); } }
public async Task <Models.TbTime> DeletarTimeAsync(Models.TbTime req) { return(await timeDb.DeletarTimeAsync(req)); }