public void RetornoDWHistoricoCompraTrimestre(int ano, int trimestre) { DataTable dtHistoricoCompraTrimestre = RepositoryService.HistoricoComprasTrimestre.ListarPor(ano.ToString(), trimestre.ToString()); Console.WriteLine("{0} - Existem {1} para ser atualizados", DateTime.Now, dtHistoricoCompraTrimestre.Rows.Count); foreach (DataRow item in dtHistoricoCompraTrimestre.Rows) { if (item.IsNull("CD_Unidade_Negocio")) { continue; } UnidadeNegocio metaUnidadeNegocio = RepositoryService.UnidadeNegocio.ObterPorChaveIntegracao(item.Field <string>("CD_Unidade_Negocio")); if (metaUnidadeNegocio == null) { continue; } decimal valor = item.IsNull("Valor") ? 0 : item.Field <decimal>("Valor"); HistoricoCompra hsCompra = RepositoryService.HistoricoCompra.ObterPor(metaUnidadeNegocio.ID.Value, ano); HistoricoComprasTrimestre historicoCompraTrimestre = RepositoryService.HistoricoComprasTrimestre.ObterPor(metaUnidadeNegocio.ID.Value, ano, trimestre); if (historicoCompraTrimestre != null) { var historicoCompraTrimestreUpdate = new HistoricoComprasTrimestre(this.RepositoryService.NomeDaOrganizacao, this.RepositoryService.IsOffline) { ID = historicoCompraTrimestre.ID, Valor = valor }; if (hsCompra != null) { historicoCompraTrimestreUpdate.HistoricoCompraUnidade = new Lookup(hsCompra.ID.Value, ""); } RepositoryService.HistoricoComprasTrimestre.Update(historicoCompraTrimestreUpdate); } else { HistoricoComprasTrimestre hsCompTri = new HistoricoComprasTrimestre(this.RepositoryService.NomeDaOrganizacao, this.RepositoryService.IsOffline); hsCompTri.UnidadeNegocio = new Lookup(metaUnidadeNegocio.ID.Value, ""); hsCompTri.Ano = ano; hsCompTri.Trimestre = trimestre; hsCompTri.Valor = valor; hsCompTri.Nome = string.Format("{0} - {1} o trimestre - {2}", metaUnidadeNegocio.Nome, trimestre, ano).Truncate(100); if (hsCompra != null) { hsCompTri.HistoricoCompraUnidade = new Lookup(hsCompra.ID.Value, ""); } RepositoryService.HistoricoComprasTrimestre.Create(hsCompTri); } } }
public void RetornoDWHistoricoCompraUnidade(int ano) { DataTable dtHistoricoCompra = RepositoryService.HistoricoCompra.ListarPor(ano.ToString()); foreach (DataRow item in dtHistoricoCompra.Rows) { if (item.IsNull("CD_Unidade_Negocio")) { continue; } UnidadeNegocio mUnidadeNegocio = RepositoryService.UnidadeNegocio.ObterPorChaveIntegracao(item.Field <string>("CD_Unidade_Negocio")); if (mUnidadeNegocio == null) { continue; } HistoricoCompra historicoCompra = RepositoryService.HistoricoCompra.ObterPor(mUnidadeNegocio.ID.Value, ano, "itbc_historicocomprasdaunidadeid"); decimal valorDW = item.Field <decimal>("Valor"); if (valorDW < 0) { valorDW = 0; } if (historicoCompra != null) { historicoCompra.Valor = valorDW; RepositoryService.HistoricoCompra.Update(historicoCompra); } else { HistoricoCompra hsComp = new HistoricoCompra(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline); hsComp.UnidadeNegocio = new Lookup(mUnidadeNegocio.ID.Value, ""); hsComp.Ano = ano; hsComp.Nome = mUnidadeNegocio.Nome + " - " + ano; hsComp.Valor = valorDW; RepositoryService.HistoricoCompra.Create(hsComp); } } }
public void PreencherInfo(HistoricoCompra historico) { bool ehItemLoja = historico.itemLoja != null ? true : false; txtQuantidade.text = $"<color=orange>{historico.quantidade}x</color>"; TxtNomeEstabelecimento.text = $"Estabelecimento: {historico.estabelecimento.nome}"; TxtDataCompra.text = $"Data: {historico.createdAt}"; txtModoObtido.text = $"Modo Obtido: <color=cyan>{historico.modoObtido}</color>"; txtChaveUnica.text = $"Chave Resgate: <color=green>{historico.chaveUnica}</color>"; TxtStatusEntrega.text = (historico.infoEntrega.jaEntregue) ? "<color=green>Sim</color>" : "<color=red>Não</color>"; if (ehItemLoja) { PnlCustoItem.SetActive(true); TxtNomeItem.text = historico.itemLoja.nome; TxtCusto.text = "- " + historico.precoItem; TxtTipoHistorico.text = "<color=lightblue>Item da Loja</color>"; Main.Instance.ObterIcones(historico.itemLoja.icon, FileManager.Directories.item_loja, (textura) => { if (textura != null) { ImgIcon.texture = textura; ImgIcon = Util.ImgResize(ImgIcon, 180, 180); } }); } else { TxtNomeItem.text = historico.produto.nome; TxtTipoHistorico.text = "<color=lightblue>Produto</color>"; Main.Instance.ObterIcones(historico.produto.icon, FileManager.Directories.produto, (textura) => { if (textura != null) { ImgIcon.texture = textura; ImgIcon = Util.ImgResize(ImgIcon, 180, 180); } }); } }
public IActionResult FinalizarPedido(string Telefone, List <ProdutoCarrinho> Carrinho) { var user = (from p in _db.Pessoas join e in _db.Enderecos on p.IdPessoa equals e.PessoaId where p.Telefone == Telefone || p.Celular == Telefone select new { IdPessoa = p.IdPessoa, Nome = p.Nome, Cep = e.Cep, Rua = e.Rua, Bairro = e.Bairro, Cidade = e.Cidade, Estado = e.Estado, Numero = e.Numero, Referencia = e.Referencia }).ToList(); int cont = user.Count; if (cont == 0) { return(Json(null)); } //var entrega = _db.FormaEnvios.SingleOrDefault (c => c.IdFormaEnvio == envio); double total = 0; foreach (var item in Carrinho) { total += item.valor * item.quantidade; } //total += entrega.Valor; //buscando cliente e verificando se ele está cadastrado Fila fila = new Fila(); var f = _db.Filas.LastOrDefault(); fila.Posicao = f != null ? f.Posicao + 1 : 1; Pedido pedido = new Pedido(); pedido.Data = DateTime.Now; //pedido.FormaEnvioId = envio; pedido.Status = 0; pedido.ValorTotal = total; pedido.Avaliacao = ""; pedido.PessoaId = user[0].IdPessoa; pedido.Fila = fila; _db.Pedidos.Add(pedido); HistoricoCompra hc = new HistoricoCompra(); hc.PedidoId = pedido.IdPedido; hc.DataCompra = DateTime.Now; hc.Total = total; _db.HistoricoCompras.Add(hc); //atualizando estoque string nome = ""; bool passou = true; Item itens; //cadastrando item e somando o total; foreach (var item in Carrinho) { itens = new Item(); //var prodHas = _db.ProdutoHasIngredientes.Where (x => x.ProdutoId == item.id).Include(_db.Produtos ).ToList (); var prods = (from phi in _db.ProdutoHasIngredientes join p in _db.Produtos on phi.ProdutoId equals p.IdProduto where phi.ProdutoId == item.id select new { produto = p.Nome, gastoIngrediente = phi.Quantidade, tempoProduzir = p.TempoProduzir, idIngrediente = phi.IngredienteId }).ToList(); if (passou) { passou = false; foreach (var item2 in prods) { if (item2.produto != nome) { nome = item2.produto; fila.TempoParaFinalizar += item2.tempoProduzir * item.quantidade; } var ing = _db.Ingredientes.SingleOrDefault(x => x.IdIngrediente == item2.idIngrediente); ing.Quantidade -= Convert.ToDouble(item2.gastoIngrediente) * item.quantidade; _db.Update(ing); if (item2 == prods.Last()) { passou = true; } } } itens.PedidoId = pedido.IdPedido; itens.ProdutoId = item.id; itens.Quantidade = item.quantidade; _db.Items.Add(itens); _db.SaveChanges(); } _db.Filas.Add(fila); return(Json(user)); }