public async Task <ISaida> CadastrarPeriodo(PeriodoEntrada entrada) { // Verifica se as informações para cadastro foram informadas corretamente if (entrada.Invalido) { return(new Saida(false, entrada.Mensagens, null)); } // Verifica se já existe um período que abrange as datas informadas this.NotificarSeVerdadeiro( await _periodoRepositorio.VerificarExistenciaPorDataInicioFim(entrada.IdUsuario, entrada.DataInicio, entrada.DataFim), PeriodoMensagem.Datas_Abrangidas_Outro_Periodo); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } var periodo = new Periodo(entrada); await _periodoRepositorio.Inserir(periodo); await _uow.Commit(); return(new Saida(true, new[] { PeriodoMensagem.Periodo_Cadastrado_Com_Sucesso }, new PeriodoSaida(periodo))); }
public async Task <IActionResult> CadastrarPeriodo([FromBody, SwaggerParameter("Informações de cadastro do período.", Required = true)] PeriodoViewModel model) { var entrada = new PeriodoEntrada( base.ObterIdUsuarioClaim(), model.Nome, model.DataInicio.Value, model.DataFim.Value); return(new ApiResult(await _periodoServico.CadastrarPeriodo(entrada))); }
public void Alterar(PeriodoEntrada entrada) { if (entrada.Invalido) { return; } this.Nome = entrada.Nome; this.DataInicio = entrada.DataInicio; this.DataFim = entrada.DataFim; }
public async Task <IActionResult> AlterarPeriodo( [FromQuery, SwaggerParameter("ID do período.", Required = true)] int idPeriodo, [FromBody, SwaggerParameter("Informações para alteração de um período.", Required = true)] PeriodoViewModel model) { var entrada = new PeriodoEntrada( base.ObterIdUsuarioClaim(), model.Nome, model.DataInicio.Value, model.DataFim.Value); return(new ApiResult(await _periodoServico.AlterarPeriodo(idPeriodo, entrada))); }
public Periodo(PeriodoEntrada entrada) { if (entrada.Invalido) { return; } this.IdUsuario = entrada.IdUsuario; this.Nome = entrada.Nome; this.DataInicio = entrada.DataInicio; this.DataFim = entrada.DataFim; }
public async Task <ISaida> AlterarPeriodo(int idPeriodo, PeriodoEntrada entrada) { // Verifica se as informações para alteração foram informadas corretamente if (entrada.Invalido) { return(new Saida(false, entrada.Mensagens, null)); } var periodo = await _periodoRepositorio.ObterPorId(idPeriodo); // Verifica se o período existe this.NotificarSeNulo(periodo, PeriodoMensagem.Id_Periodo_Nao_Existe); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } // Verifica se o período pertece ao usuário informado. this.NotificarSeDiferentes(periodo.IdUsuario, entrada.IdUsuario, PeriodoMensagem.Periodo_Alterar_Nao_Pertence_Usuario); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } // Verifica se já existe um período que abrange as datas informadas this.NotificarSeVerdadeiro( await _periodoRepositorio.VerificarExistenciaPorDataInicioFim(entrada.IdUsuario, entrada.DataInicio, entrada.DataFim, idPeriodo), PeriodoMensagem.Datas_Abrangidas_Outro_Periodo); if (this.Invalido) { return(new Saida(false, this.Mensagens, null)); } periodo.Alterar(entrada); _periodoRepositorio.Atualizar(periodo); await _uow.Commit(); return(new Saida(true, new[] { PeriodoMensagem.Periodo_Alterado_Com_Sucesso }, new PeriodoSaida(periodo))); }