コード例 #1
0
        public async Task <ActionResult <Produto> > Post([FromForm] Produto Produto)
        {
            try {
                var imagem = Request.Form.Files[0];

                Produto.ImgProduto       = _UploadImg.Upload(imagem, "Produtos");
                Produto.NomeProduto      = Request.Form["NomeProduto"].ToString();
                Produto.DescricaoProduto = Request.Form["DescricaoProduto"].ToString();
                Produto.Disponibilidade  = decimal.Parse(Request.Form["Disponibilidade"]);
                Produto.Organico         = bool.Parse(Request.Form["Organico"]);
                Produto.Preco            = decimal.Parse(Request.Form["Preco"]);
                Produto.Validade         = DateTime.Parse(Request.Form["Validade"]);

                await _repositorio.Salvar(Produto);

                // Criando a tabela Registro de produto e passando o IdProduto criado + IdUsuario Logado
                var idPostagemRec         = HttpContext.User.Identity as ClaimsIdentity;
                IEnumerable <Claim> claim = idPostagemRec.Claims;
                var idClaim = claim.Where(x => x.Type == ClaimTypes.PrimarySid).FirstOrDefault();

                // Criando o Objeto Registro
                RegistroProduto registro = new RegistroProduto();

                // Passando os atributos do Objeto Registro
                registro.IdProduto = Produto.IdProduto;
                registro.IdUsuario = Convert.ToInt32(idClaim.Value);

                await _repositorioRegistro.Salvar(registro);
            } catch (DbUpdateConcurrencyException) {
                throw;
            }
            return(Produto);
        }
コード例 #2
0
        public async Task <ActionResult <Oferta> > Post([FromForm] Oferta oferta)
        {
            try {
                if (oferta.Validade > DateTime.Now.AddDays(10))
                {
                    var arquivo = Request.Form.Files[0];

                    oferta.NomeOferta = Request.Form["nomeOferta"].ToString();
                    oferta.Marca      = Request.Form["marca"].ToString();
                    oferta.Preco      = decimal.Parse(Request.Form["Preco"]);
                    oferta.Validade   = DateTime.Parse(Request.Form["Validade"]);
                    oferta.QuantVenda = int.Parse(Request.Form["quantVenda"]);
                    oferta.Imagem     = _uploadRepo.Upload(arquivo, "imgOferta");
                    oferta.Descricao  = Request.Form["descricao"].ToString();
                    oferta.IdUsuario  = int.Parse(Request.Form["IdUsuario"]);
                    oferta.IdProduto  = int.Parse(Request.Form["IdProduto"]);

                    await _repositorio.Salvar(oferta);
                }
                else
                {
                    return(BadRequest(new { mensagem = "Produto fora da validade exigida" }));
                }
            } catch (DbUpdateConcurrencyException) {
                return(BadRequest(new { mensagem = "Não foi possivel realizar o cadastro", Erro = true }));
            }
            return(oferta);
        }
コード例 #3
0
        public async Task <ActionResult <Oferta> > Post([FromForm] Oferta oferta)
        {
            try {
                var arquivo = Request.Form.Files[0];

                oferta.Quantidade   = int.Parse(Request.Form["quantidade"]);
                oferta.Foto         = _uploadRepo.Upload(arquivo, "imgOferta");
                oferta.Cor          = Request.Form["cor"].ToString();
                oferta.Preco        = double.Parse(Request.Form["preco"]);
                oferta.Descricao    = Request.Form["descricao"].ToString();
                oferta.DataValidade = DateTime.Parse(Request.Form["dataValidade"]);
                oferta.IdProduto    = int.Parse(Request.Form["idProduto"]);
                oferta.IdUsuario    = int.Parse(Request.Form["idUsuario"]);
                oferta.Titulo       = Request.Form["titulo"].ToString();
                oferta.CheckDoacao  = Request.Form["checkDoacao"].ToString();
                oferta.DoacaoOng    = int.Parse(Request.Form["doacaoOng"]);

                if (DateTime.Compare(oferta.DataValidade, DateTime.Now.Date) > 0)
                {
                    await _repositorio.Salvar(oferta);
                }
                else
                {
                    return(BadRequest("Data de Validade Incorreta" + DateTime.Compare(oferta.DataValidade, DateTime.Now.Date).ToString()));
                }
            } catch (DbUpdateConcurrencyException) {
                throw;
            }
            return(oferta);
        }
コード例 #4
0
        public async Task <ActionResult <Produto> > Post([FromForm] Produto produto)
        {
            var arquivo = Request.Form.Files[0];

            produto.Imagem = _upRepositorio.Upload(arquivo, "Resources/Images");
            await _repositorio.Salvar(produto);

            return(produto);
        }
コード例 #5
0
        public async Task <ActionResult <Receita> > Post([FromForm] Receita receita)
        {
            var arquivo = Request.Form.Files[0];

            receita.Imagem = _upRepositorio.Upload(arquivo, "Resources/Images");

            //PROBLEMA AQUI
            // receita.IdUsuario  = ValidarUser();
            await _repositorio.Salvar(receita);

            return(receita);
        }
コード例 #6
0
        public async Task <ActionResult <Usuario> > Post([FromForm] Usuario usuario)
        {
            try {
                var arquivo = Request.Form.Files[0];

                usuario.NomeUsuario   = Request.Form["nomeUsuario"].ToString();
                usuario.Documento     = Request.Form["documento"].ToString();
                usuario.RazaoSocial   = Request.Form["razaoSocial"].ToString();
                usuario.Email         = Request.Form["email"].ToString();
                usuario.Senha         = Request.Form["senha"].ToString();
                usuario.Telefone      = Request.Form["telefone"].ToString();
                usuario.Telefone2     = Request.Form["telefone2"].ToString();
                usuario.Endereco      = Request.Form["endereco"].ToString();
                usuario.Cep           = Request.Form["cep"].ToString();
                usuario.Pontuacao     = int.Parse(Request.Form["pontuacao"]);
                usuario.IdTipoUsuario = int.Parse(Request.Form["idTipoUsuario"]);
                usuario.IdRegiao      = int.Parse(Request.Form["idRegiao"]);

                usuario.Foto = _uploadRepo.Upload(arquivo, "imgPerfil");

                if (usuario.IdTipoUsuario == 2)
                {
                    if (_repositorio.ValidaCNPJ(usuario))
                    {
                        await _repositorio.Salvar(usuario);
                    }
                    else
                    {
                        return(BadRequest("O CNPJ digitado está incorreto"));
                    }
                }

                if (usuario.IdTipoUsuario == 3)
                {
                    if (_repositorio.ValidaCPF(usuario))
                    {
                        await _repositorio.Salvar(usuario);
                    }
                    else
                    {
                        return(BadRequest("O CPF digitado está incorreto"));
                    }
                }
            } catch (DbUpdateConcurrencyException) {
                throw;
            }

            return(usuario);
        }
コード例 #7
0
        public async Task <ActionResult> Put(int id, [FromForm] Usuario usuario)
        {
            // Se o Id do objeto não existir, ele retorna erro 400
            if (id != usuario.IdUsuario)
            {
                return(BadRequest());
            }
            try {
                var arquivo = Request.Form.Files[0];
                usuario.Nome          = Request.Form["nome"].ToString();
                usuario.Email         = Request.Form["email"].ToString();
                usuario.Senha         = Request.Form["senha"].ToString();
                usuario.Identificador = Request.Form["identificador"].ToString();
                usuario.IdTipoUsuario = int.Parse(Request.Form["idTipoUsuario"]);
                usuario.imgusuario    = _uploadRepo.Upload(arquivo, "imgPerfil");

                await _repositorio.Alterar(usuario);
            } catch (DbUpdateConcurrencyException) {
                // Verificamos se o objeto inserido realmente existe no banco
                var usuario_valido = await _repositorio.BuscarPorID(id);

                if (usuario_valido == null)
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            // NoContent = Retorna 204, sem nada
            return(NoContent());
        }
コード例 #8
0
        public async Task <ActionResult <Oferta> > Post([FromForm] Oferta oferta)
        {
            try {
                var arquivo = Request.Form.Files[0];

                oferta.Quantidade   = int.Parse(Request.Form["quantidade"]);
                oferta.Foto         = _uploadRepo.Upload(arquivo, "imgOferta");
                oferta.Cor          = Request.Form["cor"].ToString();
                oferta.Preco        = double.Parse(Request.Form["preco"]);
                oferta.Descricao    = Request.Form["descricao"].ToString();
                oferta.DataValidade = DateTime.Parse(Request.Form["dataValidade"]);
                oferta.IdProduto    = int.Parse(Request.Form["idProduto"]);
                oferta.IdUsuario    = int.Parse(Request.Form["idUsuario"]);

                await _repositorio.Salvar(oferta);
            } catch (DbUpdateConcurrencyException) {
                throw;
            }
            return(oferta);
        }
コード例 #9
0
        public async Task <ActionResult <Ong> > Post([FromForm] Ong ong)
        {
            try {
                var arquivo = Request.Form.Files[0];

                ong.RazaoSocial = Request.Form["razaoSocial"].ToString();
                ong.Cnpj        = Request.Form ["cnpj"].ToString();
                ong.SiteOng     = Request.Form ["siteOng"].ToString();
                ong.SobreOng    = Request.Form ["sobreOng"].ToString();
                ong.TelefoneOng = Request.Form ["telefoneOng"].ToString();
                ong.EmailOng    = Request.Form ["emailOng"].ToString();
                ong.EnderecoOng = Request.Form ["enderecoOng"].ToString();
                ong.IdRegiao    = int.Parse(Request.Form["idRegiao"]);

                ong.FotoOng = _uploadRepo.Upload(arquivo, "imgOng");

                await _repositorio.Salvar(ong);
            } catch (DbUpdateConcurrencyException) {
                throw;
            }

            return(ong);
        }
コード例 #10
0
        // [Authorize (Roles = "Cliente")]
        public async Task <ActionResult <Receita> > Post([FromForm] Receita Receita)
        {
            try {
                // var idPostagemRec = HttpContext.User.Identity as ClaimsIdentity;
                // IEnumerable<Claim> claim = idPostagemRec.Claims;
                // var idClaim = claim.Where (x => x.Type == "Id").FirstOrDefault ();

                // Receita.IdUsuario = int.Parse(idClaim.Value);

                var imagem = Request.Form.Files[0];

                Receita.ImgReceita           = _UploadImg.Upload(imagem, "Receitas");
                Receita.NomeReceita          = Request.Form["NomeReceita"].ToString();
                Receita.DescricaoIngrediente = Request.Form["DescricaoIngrediente"].ToString();
                Receita.DescricaoPreparo     = Request.Form["DescricaoPreparo"].ToString();
                Receita.IdUsuario            = int.Parse(Request.Form["IdUsuario"]);

                await _repositorio.Salvar(Receita);
            } catch (DbUpdateConcurrencyException) {
                throw;
            }
            return(Receita);
        }
コード例 #11
0
        public async Task <ActionResult> Put(int id, [FromForm] Usuario Usuario)
        {
            //Se o Id do objeto não existir
            //ele retorna 400
            if (id != Usuario.IdUsuario)
            {
                return(BadRequest(
                           new {
                    Mensagem = "Id incompatível, Não foi possível fazer a atualização"
                }
                           ));
            }

            try {
                Usuario.IdUsuario = int.Parse(Request.Form["IdUsuario"]);

                if (Request.Form.Files.Count != 0)
                {
                    var imagem = Request.Form.Files[0];
                    Usuario.ImgPerfil = _UploadImg.Upload(imagem, "Perfil");
                }
                else
                {
                    Usuario usuarioCadastrado = await _repositorio.BuscarPorID(int.Parse(Request.Form["IdUsuario"]));

                    Usuario.ImgPerfil = usuarioCadastrado.ImgPerfil;
                }

                Usuario.NomeUsuario  = Request.Form["NomeUsuario"].ToString();
                Usuario.EmailUsuario = Request.Form["EmailUsuario"].ToString();
                Usuario.Telefone1    = Request.Form["Telefone1"].ToString();
                Usuario.Telefone2    = Request.Form["Telefone2"].ToString();
                Usuario.Documento    = Request.Form["Documento"].ToString();
                Usuario.ReceberNotif = bool.Parse(Request.Form["ReceberNotif"]);
                Usuario.RazaoSocial  = Request.Form["RazaoSocial"].ToString();
                Usuario.FazEntrega   = bool.Parse(Request.Form["FazEntrega"]);
                Usuario.SobreColab   = Request.Form["SobreColab"].ToString();

                await _repositorio.Alterar(Usuario);
            } catch (DbUpdateConcurrencyException) {
                //Verificamos se o objeto inserido realmente existe no banco

                var Usuario_valido = await _repositorio.BuscarPorID(id);

                if (Usuario_valido == null)
                {
                    return(NotFound(
                               new {
                        Mensagem = "Não foi possível obter as informações"
                    }
                               ));
                }
                else
                {
                    throw;
                }
            }

            //NoContent = Retorna 204, sem nada
            return(NoContent());
        }