private Receita VerificaAlteracaoReceita(Receita receita, AlterarReceitaViewModel receitaView) { if (receita.Titulo != receitaView.Titulo && receitaView.Titulo != null && receitaView != null) { receita.Titulo = receitaView.Titulo; } if (receita.Conteudo != receitaView.Conteudo && receitaView.Conteudo != null && receitaView != null) { receita.Conteudo = receitaView.Conteudo; } if (Request.Form.Files.Count > 0) { var caminho = @"C:\Users\fic\Desktop\Coorganicas-Final-master\Coorganicas-pronto\Coorganicas_react\coorganicas\src\Assets"; var pasta = "receitas"; var file = Request.Form.Files[0]; var folderName = Path.Combine(caminho, "images", pasta); // var pathToSave = Directory.Exists(folderName); var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"'); var fullPath = Path.Combine(folderName, fileName); // var dbPath = Path.Combine (folderName, fileName); using (var stream = new FileStream(fullPath, FileMode.Create)) { file.CopyTo(stream); } receita.ImagemReceita = fileName; } return(receita); }
public async Task <ActionResult> Put(int id, [FromForm] AlterarReceitaViewModel receita) { if (receita.Conteudo == null && receita.Titulo == null && receita.Imagem_Receita == null) { return(NoContent()); } var receitaUsuario = await _repositorio.BuscarPorID(id); if (receitaUsuario == null) { return(NotFound( new { Mensagem = "Receita Não Encontrada", Erro = true } )); } var ReceitaAlterada = VerificaAlteracaoReceita(receitaUsuario, receita); //Comparamos os atributos que foram modificados atraves do EF try { var ret = await _repositorio.Alterar(ReceitaAlterada); return(Ok( new{ Mensagem = "Receita alterada com sucesso", Erro = false } )); } catch (DbUpdateConcurrencyException) { //Verificamos se o objeto realmente existe no banco var receita_valido = await _repositorio.BuscarPorID(id); if (receita_valido == null) { return(NoContent()); } else { throw; } } }