示例#1
0
        public async Task <TbEditora> AlterarEditora(int id, Models.TbEditora atual)
        {
            var editora = await this.ConsultarEditoraPorId(id);

            if (!string.IsNullOrEmpty(atual.NmEditora))
            {
                editora.NmEditora = atual.NmEditora;
            }
            if (!string.IsNullOrEmpty(atual.DsSigla))
            {
                editora.DsSigla = atual.DsSigla;
            }
            if (atual.DtFundacao > DateTime.Now)
            {
                editora.DtFundacao = atual.DtFundacao;
            }
            if (!string.IsNullOrEmpty(atual.DsLogo))
            {
                editora.DsLogo = atual.DsLogo;
            }

            await db.SaveChangesAsync();

            return(editora);
        }
示例#2
0
        public async Task <Models.TbEditora> InserirEditoraBuseness(Models.TbEditora editora)
        {
            if (string.IsNullOrEmpty(editora.NmEditora))
            {
                throw new ArgumentException("Nome da editora não foi informado.");
            }
            if (editora.DtFundacao == null)
            {
                throw new ArgumentException("Data de fundações da editora não foi informada");
            }

            return(await InserirEditora(editora));
        }
示例#3
0
        public Models.TbEditora Conversor(Models.Request.EditoraRequest editora)
        {
            if (editora == null)
            {
                return(null);
            }

            Models.TbEditora tabela = new Models.TbEditora();

            tabela.NmEditora  = editora.nome;
            tabela.DtFundacao = editora.fundacao;
            tabela.DsSigla    = editora.sigla;

            return(tabela);
        }
示例#4
0
        public async Task <ActionResult <EditoraResponse> > ConsultarEditoraPorIdController(int ideditora)
        {
            try
            {
                Models.TbEditora editora = await business.ConsultarEditoraPorIdBusiness(ideditora);

                EditoraResponse response = ConvertEditora.Conversor(editora);
                return(response);
            }
            catch (System.Exception ex)
            {
                return(NotFound(
                           new ErroResponse(404, ex.Message)
                           ));
            }
        }
示例#5
0
        public Models.Response.EditoraResponse Conversor(Models.TbEditora tabela)
        {
            if (tabela == null)
            {
                return(null);
            }

            Models.Response.EditoraResponse editora = new Models.Response.EditoraResponse();

            editora.id       = tabela.IdEditora;
            editora.nome     = tabela.NmEditora;
            editora.fundacao = tabela.DtFundacao;
            editora.sigla    = tabela.DsSigla;
            editora.logo     = tabela.DsLogo;

            return(editora);
        }
示例#6
0
        public async Task <ActionResult> RemoverEditoraController(int id)
        {
            try
            {
                Models.TbEditora editora = await business.ConsultarEditoraPorIdBusiness(id);

                await business.RemoverEditoraBusiness(id);

                gerenciadorFoto.RemoverFile(editora.DsLogo);
                return(Ok());
            }
            catch (System.Exception ex)
            {
                return(NotFound(
                           new ErroResponse(404, ex.Message)
                           ));
            }
        }
示例#7
0
        public async Task <ActionResult <EditoraResponse> > InserirEditoraController([FromForm] EditoraRequest editora)
        {
            try
            {
                Models.TbEditora nova = ConvertEditora.Conversor(editora);
                nova.DsLogo = gerenciadorFoto.GerarNovoNome(editora.logo.FileName);
                Models.TbEditora result = await business.InserirEditoraBuseness(nova);

                gerenciadorFoto.SalvarFile(nova.DsLogo, editora.logo);
                EditoraResponse response = ConvertEditora.Conversor(result);

                return(response);
            }
            catch (System.Exception ex)
            {
                return(BadRequest(
                           new ErroResponse(400, ex.Message)
                           ));
            }
        }
示例#8
0
 public async Task <TbEditora> AlterarEditoraBusiness(int id, Models.TbEditora novo)
 {
     return(await AlterarEditora(id, novo));
 }