コード例 #1
0
        public static async Task <SolicitacaoCompra> Create(SolicitacaoCompra solicitacaoCompra, string token)
        {
            SolicitacaoCompra solicitacaoCompraCriado = new SolicitacaoCompra();

            try
            {
                using (var client = new HttpClient())
                {
                    var parseJson = JsonConvert.SerializeObject(solicitacaoCompra);
                    var content   = new StringContent(parseJson, Encoding.UTF8, "application/json");
                    client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
                    var response = await client.PostAsync($"{ConstantesProjeto.URL_BASE}/api/solicitacaoCompra", content);

                    if (response.IsSuccessStatusCode)
                    {
                        var solicitacaoComprasString = await response.Content.ReadAsStringAsync();

                        solicitacaoCompraCriado = JsonConvert.DeserializeObject <SolicitacaoCompra>(solicitacaoComprasString);
                        return(solicitacaoCompraCriado);
                    }
                    return(null);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Erro ao conectar com a api {ex.Message}");
                return(null);
            }
        }
コード例 #2
0
        public static async Task <SolicitacaoCompra> GetSolicitacaoCompraById(long id, string token)
        {
            SolicitacaoCompra solicitacaoCompra = new SolicitacaoCompra();

            try
            {
                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
                    var response = await client.GetAsync($"{ConstantesProjeto.URL_BASE}/api/solicitacaoCompra/{id}");

                    if (response.IsSuccessStatusCode)
                    {
                        var solicitacaoComprasString = await response.Content.ReadAsStringAsync();

                        solicitacaoCompra = JsonConvert.DeserializeObject <SolicitacaoCompra>(solicitacaoComprasString);
                        return(solicitacaoCompra);
                    }
                    return(null);
                }
            }
            catch (Exception)
            {
                Console.WriteLine("Erro ao conectar com a api");
                return(null);
            }
        }
コード例 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            SolicitacaoCompra solicitacaoCompra = db.SolicitacaoCompras.Find(id);

            db.SolicitacaoCompras.Remove(solicitacaoCompra);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #4
0
        private async void SalvarSolicitacao()
        {
            if (!string.IsNullOrEmpty(txtResponsavelEntrega.Text) && !string.IsNullOrEmpty(txtJusticativa.Text))
            {
                SolicitacaoCompra solicitacao = new SolicitacaoCompra();
                solicitacao.ResponsavelEntrega = txtResponsavelEntrega.Text;
                solicitacao.Data          = dtpDataSolicitacao.Value;
                solicitacao.EscolaId      = Convert.ToInt64(cboEscola.SelectedValue);
                solicitacao.TipoCompraId  = Convert.ToInt64(cboTipoCompra.SelectedValue);
                solicitacao.Justificativa = txtJusticativa.Text;
                if (dgvOcupacoes.Rows.Count >= 1)
                {
                    var solicitacaoEditada = await HttpSolicitacaoCompras.Update(solicitacao, Convert.ToInt64(txtIdSolicitacao.Text), usuarioLogado.token);

                    if (solicitacaoEditada == null)
                    {
                        MessageBox.Show("Erro interno no servidor, tente em novamente em outro momento");
                    }
                    else
                    {
                        for (int i = 0; i < dgvOcupacoes.Rows.Count; i++)
                        {
                            long ocupacaoId = 0;
                            if (ocupacoesSolicitacaoEditList.Count > i)
                            {
                                ocupacaoId = ocupacoesSolicitacaoEditList[i].OcupacaoId;
                            }
                            else
                            {
                                ocupacaoId = (long)dgvOcupacoes.Rows[i].Cells["colIdOcupacao"].Value;
                            }
                            long solicitacaoId = Convert.ToInt64(txtIdSolicitacao.Text);
                            OcupacaoSolicitacaoCompra ocupacaoSolicitacao = new OcupacaoSolicitacaoCompra();
                            ocupacaoSolicitacao.OcupacaoId    = (long)dgvOcupacoes.Rows[i].Cells["colIdOcupacao"].Value;
                            ocupacaoSolicitacao.SolicitacaoId = solicitacaoId;
                            var ocupacaoSolicitacaoEditada = await HttpSolicitacaoOcupacoes.Update(ocupacaoSolicitacao, ocupacaoId, solicitacaoId, usuarioLogado.token);

                            if (ocupacaoSolicitacaoEditada == null)
                            {
                                await HttpSolicitacaoOcupacoes.Create(ocupacaoSolicitacao, usuarioLogado.token);
                            }
                        }
                        tabContainer.SelectTab("produto");
                        ((Control)tabContainer.TabPages["dadosGerais"]).Enabled = false;
                    }
                }
                else
                {
                    MessageBox.Show("Adicione ao menos uma ocupação na lista");
                }
            }
            else
            {
                MessageBox.Show("Preencha todos os campos");
            }
        }
コード例 #5
0
        public void Deve_Notificar_Erro_Quando_Nao_Informar_Itens_Compra()
        {
            //Dado
            var solicitacao = new SolicitacaoCompra("rodrigoasth", "rodrigoasth");

            //Quando
            var ex = Assert.Throws <BusinessRuleException>(() => solicitacao.RegistrarCompra());

            //Então
            Assert.Equal("A solicitação de compra deve possuir itens!", ex.Message);
        }
コード例 #6
0
 public ActionResult Edit([Bind(Include = "SolicitacaoCompraId,DataSolicitacao,UsuarioSolicitante,DeptoSolicitante,Quantidade,DataLimiteRecebimento,StatusSolicitacao,ProdutoId")] SolicitacaoCompra solicitacaoCompra)
 {
     if (ModelState.IsValid)
     {
         db.Entry(solicitacaoCompra).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ProdutoId = new SelectList(db.Produtos, "ProdutoId", "NomeProduto", solicitacaoCompra.ProdutoId);
     return(View(solicitacaoCompra));
 }
コード例 #7
0
        public void Deve_Definir_Prazo_30_Dias_Ao_Comprar_Mais_50_mil()
        {
            //Dado
            var solicitacao = new SolicitacaoCompra("rodrigoasth", "rodrigoasth");
            var produto     = new Produto("Cedro", "Transversal 3/3", Categoria.Madeira.ToString(), 1001);

            solicitacao.AdicionarItem(produto, 50);

            //Quando
            solicitacao.RegistrarCompra();

            //Então
            Assert.Equal(30, solicitacao.CondicaoPagamento.Valor);
        }
コード例 #8
0
        // GET: SolicitacaoCompras/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SolicitacaoCompra solicitacaoCompra = db.SolicitacaoCompras.Find(id);

            if (solicitacaoCompra == null)
            {
                return(HttpNotFound());
            }
            return(View(solicitacaoCompra));
        }
コード例 #9
0
        // GET: SolicitacaoCompras/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SolicitacaoCompra solicitacaoCompra = db.SolicitacaoCompras.Find(id);

            if (solicitacaoCompra == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ProdutoId = new SelectList(db.Produtos, "ProdutoId", "NomeProduto", solicitacaoCompra.ProdutoId);
            return(View(solicitacaoCompra));
        }
コード例 #10
0
        public Task <bool> Handle(RegistrarCompraCommand command, CancellationToken cancellationToken)
        {
            var solicitacao = new SolicitacaoCompra(command.UsuarioSolicitante, command.NomeFornecedor);

            command.Itens.ToList().ForEach(x =>
            {
                var produto = _produtoRepository.Obter(x.IdProduto);
                solicitacao.AdicionarItem(produto, x.Qtde);
            });
            solicitacao.RegistrarCompra();

            _solicitacaoCompraRepository.RegistrarCompra(solicitacao);

            Commit();
            PublishEvents(solicitacao.Events);

            return(Task.FromResult(true));
        }
コード例 #11
0
 public void ExcluirCompra(SolicitacaoCompra solicitacaoCompra)
 {
     _context.Set <SolicitacaoCompra>().Remove(solicitacaoCompra);
 }
コード例 #12
0
 public void RegistrarCompra(SolicitacaoCompra solicitacaoCompra)
 {
     _context.Set <SolicitacaoCompra>().Add(solicitacaoCompra);
 }