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);
                }
            }
        }
Example #2
0
        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));
        }