Пример #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Ajax.Utility.RegisterTypeForAjax(typeof(CadFerragem));

            Glass.Projeto.Negocios.Entidades.Ferragem ferragem = null;

            var idFerragem = Conversoes.StrParaIntNullable(Request["IdFerragem"]);

            if (idFerragem != null && idFerragem.GetValueOrDefault() > 0)
            {
                dtvFerragem.ChangeMode(DetailsViewMode.Edit);

                if (!IsPostBack)
                {
                    ferragem = Microsoft.Practices.ServiceLocation.ServiceLocator
                               .Current.GetInstance <Glass.Projeto.Negocios.IFerragemFluxo>()
                               .ObterFerragem(int.Parse(Request["idFerragem"]));

                    if (ferragem.EstiloAncoragem.HasFlag(Data.Model.EstiloAncoragem.Topo))
                    {
                        ((CheckBox)dtvFerragem.FindControl("cbxTopo")).Checked = true;
                    }

                    if (ferragem.EstiloAncoragem.HasFlag(Data.Model.EstiloAncoragem.TopoEsquerda))
                    {
                        ((CheckBox)dtvFerragem.FindControl("cbxTopoEsquerda")).Checked = true;
                    }

                    if (ferragem.EstiloAncoragem.HasFlag(Data.Model.EstiloAncoragem.TopoCentro))
                    {
                        ((CheckBox)dtvFerragem.FindControl("cbxTopoCentro")).Checked = true;
                    }

                    if (ferragem.EstiloAncoragem.HasFlag(Data.Model.EstiloAncoragem.TopoDireita))
                    {
                        ((CheckBox)dtvFerragem.FindControl("cbxTopoDireita")).Checked = true;
                    }

                    if (ferragem.EstiloAncoragem.HasFlag(Data.Model.EstiloAncoragem.Esquerda))
                    {
                        ((CheckBox)dtvFerragem.FindControl("cbxEsquerda")).Checked = true;
                    }

                    if (ferragem.EstiloAncoragem.HasFlag(Data.Model.EstiloAncoragem.CentroEsquerda))
                    {
                        ((CheckBox)dtvFerragem.FindControl("cbxCentroEsquerda")).Checked = true;
                    }

                    if (ferragem.EstiloAncoragem.HasFlag(Data.Model.EstiloAncoragem.CentroDireita))
                    {
                        ((CheckBox)dtvFerragem.FindControl("cbxCentroDireita")).Checked = true;
                    }

                    if (ferragem.EstiloAncoragem.HasFlag(Data.Model.EstiloAncoragem.Direita))
                    {
                        ((CheckBox)dtvFerragem.FindControl("cbxDireita")).Checked = true;
                    }

                    if (ferragem.EstiloAncoragem.HasFlag(Data.Model.EstiloAncoragem.BaseEsquerda))
                    {
                        ((CheckBox)dtvFerragem.FindControl("cbxBaseEsquerda")).Checked = true;
                    }

                    if (ferragem.EstiloAncoragem.HasFlag(Data.Model.EstiloAncoragem.BaseCentro))
                    {
                        ((CheckBox)dtvFerragem.FindControl("cbxBaseCentro")).Checked = true;
                    }

                    if (ferragem.EstiloAncoragem.HasFlag(Data.Model.EstiloAncoragem.BaseDireita))
                    {
                        ((CheckBox)dtvFerragem.FindControl("cbxBaseDireita")).Checked = true;
                    }

                    if (ferragem.EstiloAncoragem.HasFlag(Data.Model.EstiloAncoragem.Base))
                    {
                        ((CheckBox)dtvFerragem.FindControl("cbxBase")).Checked = true;
                    }
                }
            }
            ;

            if (!IsPostBack && !UserInfo.GetUserInfo.IsAdminSync)
            {
                ((CheckBox)dtvFerragem.FindControl("cbxMedidasEstaticas")).Enabled = false;
                ((CheckBox)dtvFerragem.FindControl("cbxPodeRotacionar")).Enabled   = false;
                ((CheckBox)dtvFerragem.FindControl("cbxPodeEspelhar")).Enabled     = false;

                ((CheckBox)dtvFerragem.FindControl("cbxTopo")).Enabled = false;

                ((CheckBox)dtvFerragem.FindControl("cbxTopoEsquerda")).Enabled = false;

                ((CheckBox)dtvFerragem.FindControl("cbxTopoCentro")).Enabled = false;

                ((CheckBox)dtvFerragem.FindControl("cbxTopoDireita")).Enabled = false;

                ((CheckBox)dtvFerragem.FindControl("cbxEsquerda")).Enabled = false;

                ((CheckBox)dtvFerragem.FindControl("cbxCentroEsquerda")).Enabled = false;

                ((CheckBox)dtvFerragem.FindControl("cbxCentroDireita")).Enabled = false;

                ((CheckBox)dtvFerragem.FindControl("cbxDireita")).Enabled = false;

                ((CheckBox)dtvFerragem.FindControl("cbxBaseEsquerda")).Enabled = false;

                ((CheckBox)dtvFerragem.FindControl("cbxBaseCentro")).Enabled = false;

                ((CheckBox)dtvFerragem.FindControl("cbxBaseDireita")).Enabled = false;

                ((CheckBox)dtvFerragem.FindControl("cbxBase")).Enabled = false;
            }

            if (idFerragem > 0)
            {
                // Carrega imagem na tela
                imgFigura.ImageUrl = Glass.Global.UI.Web.Process.Ferragem.FerragemRepositorioImagens.Instance.ObterUrl((int)idFerragem);
            }
        }
Пример #2
0
        public Response Otimizar(string idchapas, string pedidos, string orcamentos)
        {
            orcamentos = orcamentos.Replace("#", "");

            var model = new List <Sync.Utils.Otimizacao.Models.Otimizacao>();

            Response response = new Response();

            try
            {
                string[] arrayChapas  = idchapas.Split('|');
                string[] idsPedido    = pedidos.Split(',');
                string[] idsOrcamento = orcamentos.Split(',');

                #region Chapa

                string idsChapa = "";

                foreach (string c in arrayChapas)
                {
                    string[] ch = c.Split(';');

                    idsChapa += ch[0] + ",";
                }

                List <ChapaVidro> chapaVidro = ChapaVidroDAO.Instance.ObterListaOtimizacao(idsChapa.TrimEnd(','));

                chapaVidro.Sort(
                    delegate(ChapaVidro x1, ChapaVidro x2)
                {
                    return(x1.DescrProduto.CompareTo(x2.DescrProduto));
                }
                    );

                List <Chapa> chapas = new List <Chapa>();

                foreach (ChapaVidro c in chapaVidro)
                {
                    /*int qtde = 0;
                     *
                     * foreach (string e in arrayChapas)
                     * {
                     *  string[] ch = e.Split(';');
                     *
                     *  if (ch[0] == c.IdChapaVidro.ToString())
                     *  {
                     *      qtde = Glass.Conversoes.StrParaInt(ch[4]);
                     *      break;
                     *  }
                     * }*/

                    Chapa chapa = new Chapa();
                    chapa.Altura     = c.Altura;
                    chapa.Descricao  = c.DescrProduto;
                    chapa.Id         = c.IdChapaVidro;
                    chapa.IdProd     = c.IdProd;
                    chapa.Largura    = c.Largura;
                    chapa.Quantidade = c.Quantidade;

                    chapas.Add(chapa);
                }

                #endregion

                int index = 0;

                #region Projeto

                Sync.Utils.Otimizacao.Models.Projeto projeto = new Sync.Utils.Otimizacao.Models.Projeto();

                foreach (string p in idsPedido)
                {
                    if (!string.IsNullOrEmpty(p))
                    {
                        var produtos = ProdutosPedidoDAO.Instance.GetByVidroPedido(Glass.Conversoes.StrParaUint(p), true).ToArray();

                        foreach (ProdutosPedido pp in produtos)
                        {
                            var pecaItemProj = pp.IdMaterItemProj != null?PecaItemProjetoDAO.Instance.GetByMaterial(pp.IdMaterItemProj.Value) : null;

                            Peca peca = new Peca();
                            peca.Altura      = pecaItemProj != null ? pecaItemProj.Altura : (pp.AlturaReal > 0 ? pp.AlturaReal : pp.Altura);
                            peca.Largura     = pecaItemProj != null ? pecaItemProj.Largura : (pp.LarguraReal > 0 ? pp.LarguraReal : pp.Largura);
                            peca.Quantidade  = Convert.ToInt32(pp.Qtde);
                            peca.Id          = ProdutoBaixaEstoqueDAO.Instance.ObterIdProdBaixa(pp.IdProd);
                            peca.Descricao   = pp.DescrProduto;
                            peca.IdPedido    = pp.IdPedido;
                            peca.NomeCliente = pp.NomeCliente;
                            peca.Index       = index;

                            projeto.Pecas.Add(peca);

                            index++;
                        }

                        projeto.Pedidos.Add(Glass.Conversoes.StrParaUint(p));
                    }
                }

                foreach (string o in idsOrcamento)
                {
                    if (!string.IsNullOrEmpty(o))
                    {
                        var produtos = ProdutosOrcamentoDAO.Instance.GetByVidroOrcamento(Glass.Conversoes.StrParaUint(o)).ToArray();

                        foreach (ProdutosOrcamento pp in produtos)
                        {
                            Peca peca = new Peca();
                            peca.Altura      = pp.Altura;
                            peca.Largura     = pp.Largura;
                            peca.Quantidade  = Convert.ToInt32(pp.Qtde);
                            peca.Id          = ProdutoBaixaEstoqueDAO.Instance.ObterIdProdBaixa(pp.IdProduto.GetValueOrDefault());
                            peca.Descricao   = pp.DescrProduto;
                            peca.IdOrcamento = pp.IdOrcamento;
                            peca.NomeCliente = pp.NomeCliente;
                            peca.Index       = index;

                            projeto.Pecas.Add(peca);

                            index++;
                        }

                        var materialItemProjeto = MaterialItemProjetoDAO.Instance.GetByVidroOrcamento(Conversoes.StrParaUint(o));

                        foreach (var mip in materialItemProjeto)
                        {
                            var peca = new Peca();
                            peca.Altura      = mip.Altura;
                            peca.Largura     = mip.Largura;
                            peca.Quantidade  = Convert.ToInt32(mip.Qtde);
                            peca.Id          = mip.IdProd;
                            peca.Descricao   = mip.DescrProduto;
                            peca.IdOrcamento = mip.IdOrcamento;
                            peca.NomeCliente = ClienteDAO.Instance.GetNome((uint)mip.IdCliente);
                            peca.Index       = index;

                            projeto.Pecas.Add(peca);

                            index++;
                        }

                        projeto.Orcamentos.Add(Glass.Conversoes.StrParaUint(o));
                    }
                }

                #endregion

                foreach (Chapa c in chapas)
                {
                    List <Peca> pecas = projeto.Pecas.FindAll(p => ProdutoBaixaEstoqueDAO.Instance.IsMateriaPrima(p.Id, c.IdProd) || p.Id == c.IdProd);

                    IEnumerable <Peca> idPedidoGroup = Glass.MetodosExtensao.Agrupar <Peca>(pecas, new string[] { "IdPedido" }, new string[] { });
                    List <uint>        idPedido      = new List <uint>(Array.ConvertAll(idPedidoGroup.ToArray(), x => x.IdPedido));

                    IEnumerable <Peca> idOrcamentoGroup = Glass.MetodosExtensao.Agrupar <Peca>(pecas, new string[] { "IdOrcamento" }, new string[] { });
                    List <uint>        idOrcamento      = new List <uint>(Array.ConvertAll(idOrcamentoGroup.ToArray(), x => x.IdOrcamento));

                    Sync.Utils.Otimizacao.Models.Projeto proj = new Sync.Utils.Otimizacao.Models.Projeto();
                    proj.Pecas      = pecas;
                    proj.Pedidos    = idPedido;
                    proj.Orcamentos = idOrcamento;

                    Sync.Utils.Otimizacao.Models.Configuracao config = new Sync.Utils.Otimizacao.Models.Configuracao();

                    config.Chapas = new List <Chapa>();

                    //for (int i = 0; i < c.Quantidade; i++)
                    //    config.Chapas.Add(new Chapa() { Altura = c.Altura, Descricao = c.Descricao, Quantidade = 1, IdProd = c.IdProd, Largura = c.Largura, Id = c.Id });

                    config.Chapas.Add(new Chapa()
                    {
                        Altura = c.Altura, Descricao = c.Descricao, Quantidade = c.Quantidade, IdProd = c.IdProd, Largura = c.Largura, Id = c.Id
                    });

                    config.Projeto = proj;

                    var otm = OtimizacaoFlow.Instance.Otimizar(config);
                    model.AddRange(otm);
                }

                response.Status  = Response.StatusEnum.SUCCESS;
                response.Message = "Otimização efetuada com sucesso.";

                int numRefChapa = 1;
                int numRefPeca  = 1;
                foreach (var i in model)
                {
                    i.NumeroChapaStr = numRefChapa.ToString() + "-" + i.DescricaoChapa.Substring(i.DescricaoChapa.LastIndexOf(" ")).Trim();
                    i.NumeroChapa    = numRefChapa;

                    foreach (PecaMapeada p in i.PecasMapeadas)
                    {
                        p.Chapa  = numRefChapa;
                        p.Indice = numRefPeca;

                        numRefPeca++;
                    }

                    numRefChapa++;
                }

                response.Object = model;
            }
            catch (Exception ex)
            {
                response.Status  = Response.StatusEnum.ERROR;
                response.Message = ex.Message;
                response.Object  = null;
            }

            return(response);
        }
Пример #3
0
        public Model.Usuario login(string usuario, string senha, string IP)
        {
            #region CONSULTA
            StringBuilder SQL = new StringBuilder();
            SQL.AppendLine("   SELECT clientes.id_cliente, clientes.nome,");
            SQL.AppendLine("          usuariodeposito.id_deposito , usuariodeposito.descricao,");
            SQL.AppendLine("          usuario.email, usuario.senha1, usuario.login, usuario.id_usuario,");
            SQL.AppendLine("          clientes.nome + ' - PÁTIO ' + usuariodeposito.descricao as clientedeposito");
            SQL.AppendLine("     FROM tb_dep_usuarios usuario");
            SQL.AppendLine("    INNER JOIN vw_dep_usuarios_depositos usuariodeposito on usuario.id_usuario = usuariodeposito.id_usuario");
            SQL.AppendLine("    INNER JOIN tb_dep_clientes_depositos clientedeposito on usuariodeposito.id_deposito = clientedeposito.id_deposito");
            SQL.AppendLine("    INNER JOIN tb_dep_clientes clientes on clientedeposito.id_cliente = clientes.id_cliente");
            SQL.AppendFormat("  WHERE usuario.login = '******'", usuario);
            SQL.AppendFormat("    AND usuario.senha1 = HASHBYTES('MD5', '{0}')", senha.ToUpper());
            SQL.AppendLine("      AND usuariodeposito.flag_ativo = 'S'");
            SQL.AppendLine("      AND usuario.flag_ativo = 'S'");
            SQL.AppendLine(" ORDER BY clientes.id_cliente");

            #endregion

            var usuarioLogado = new Model.Usuario();

            try
            {
                var tbRes = ConsultaSQL(SQL.ToString());

                if (tbRes.Rows.Count > 0)
                {
                    usuarioLogado.idUsuario    = Conversoes.ConversaoSegura(tbRes.Rows[0]["id_usuario"], -1);
                    usuarioLogado.loginUsuario = Conversoes.ConversaoSegura(tbRes.Rows[0]["login"], string.Empty);
                    usuarioLogado.emailUsuario = Conversoes.ConversaoSegura(tbRes.Rows[0]["email"], string.Empty);
                    usuarioLogado.ipUsuario    = IP;

                    foreach (System.Data.DataRow dep in tbRes.Rows)
                    {
                        var Deposito = new Model.Deposito();

                        Deposito.idDeposito               = Conversoes.ConversaoSegura(dep["id_deposito"], 0);
                        Deposito.descricaoDeposito        = Conversoes.ConversaoSegura(dep["descricao"], string.Empty);
                        Deposito.descricaoClienteDeposito = Conversoes.ConversaoSegura(dep["clientedeposito"], string.Empty);

                        Deposito.clienteDeposito.idCliente   = Conversoes.ConversaoSegura(dep["id_cliente"], -1);
                        Deposito.clienteDeposito.nomeCliente = Conversoes.ConversaoSegura(dep["nome"], string.Empty);

                        usuarioLogado.depositosUsuario.Add(Deposito);

                        var Cliente = new Model.Cliente();

                        //Cliente.idCliente = ConversaoSegura(tbRes.Rows[0]["id_cliente"], -1);
                        Cliente.idCliente   = Conversoes.ConversaoSegura(dep["id_cliente"], -1);
                        Cliente.nomeCliente = Conversoes.ConversaoSegura(dep["nome"], string.Empty);
                        usuarioLogado.clientesUsuario.Add(Cliente);
                    }
                }
            }
            catch (Exception erro)
            {
                throw erro;
            }

            return(usuarioLogado);
        }
Пример #4
0
        private SaldoInicial GetSaldoInicial(string dataIni)
        {
            if (String.IsNullOrEmpty(dataIni))
            {
                throw new ArgumentNullException("dataIni");
            }

            DateTime dataSaldoAnterior = Conversoes.ConverteDataNotNull(dataIni).Date.AddDays(-1);
            string   dataSaldoAnt      = dataSaldoAnterior.ToString("dd/MM/yyyy");

            List <FluxoCaixa> retorno = new List <FluxoCaixa>();

            decimal saldoGeral = 0;
            uint    numSeq     = 0;

            #region Mov. Banco

            foreach (ContaBanco c in ContaBancoDAO.Instance.GetOrdered(dataSaldoAnt))
            {
                FluxoCaixa banco = new FluxoCaixa()
                {
                    IsTotal   = true,
                    Descricao = c.Descricao,
                    NumSeqMov = ++numSeq
                };

                decimal valorBanco = c.SaldoSemCheques;

                banco.TipoMov    = valorBanco >= 0 ? 1 : 2;
                banco.Valor      = Math.Abs(valorBanco);
                banco.SaldoGeral = (saldoGeral += valorBanco);
                retorno.Add(banco);
            }

            #endregion

            #region Caixa Geral

            FluxoCaixa cxGeral = new FluxoCaixa()
            {
                IsTotal   = true,
                Descricao = "SALDO CAIXA GERAL (DINHEIRO)",
                NumSeqMov = ++numSeq
            };

            decimal valorCaixaGeral = SomarSaldoInicial(SqlCaixaGeral(false, true, TIPO_CONTA_PADRAO), dataSaldoAnt);

            cxGeral.TipoMov    = valorCaixaGeral >= 0 ? 1 : 2;
            cxGeral.Valor      = Math.Abs(valorCaixaGeral);
            cxGeral.SaldoGeral = (saldoGeral += valorCaixaGeral);
            retorno.Add(cxGeral);

            #endregion

            #region Cheques de terceiros

            FluxoCaixa chequesTerc = new FluxoCaixa()
            {
                IsTotal   = true,
                Descricao = "SALDO CHEQUES TERCEIROS EM ABERTO",
                Valor     = SomarSaldoInicial(SqlChequesTerc(false, true, TIPO_CONTA_PADRAO), dataSaldoAnt),
                TipoMov   = 1,
                NumSeqMov = ++numSeq
            };

            chequesTerc.SaldoGeral = (saldoGeral += chequesTerc.Valor);
            retorno.Add(chequesTerc);

            #endregion

            #region Contas a receber

            FluxoCaixa contasReceber = new FluxoCaixa()
            {
                IsTotal   = true,
                Descricao = "SALDO CONTAS A RECEBER EM ABERTO",
                Valor     = SomarSaldoInicial(SqlContasAReceber(false, true, TIPO_CONTA_PADRAO), dataSaldoAnt),
                TipoMov   = 1,
                NumSeqMov = ++numSeq
            };

            contasReceber.SaldoGeral = (saldoGeral += contasReceber.Valor);
            retorno.Add(contasReceber);

            #endregion

            #region Cheques próprios

            FluxoCaixa chequesProp = new FluxoCaixa()
            {
                IsTotal   = true,
                Descricao = "SALDO CHEQUES PRÓPRIOS EM ABERTO",
                Valor     = Math.Abs(SomarSaldoInicial(SqlChequesProp(false, true, TIPO_CONTA_PADRAO), dataSaldoAnt)),
                TipoMov   = 2,
                NumSeqMov = ++numSeq
            };

            chequesProp.SaldoGeral = (saldoGeral -= chequesProp.Valor);
            retorno.Add(chequesProp);

            #endregion

            #region Contas a pagar

            FluxoCaixa contasPagar = new FluxoCaixa()
            {
                IsTotal   = true,
                Descricao = "SALDO CONTAS A PAGAR EM ABERTO",
                Valor     = Math.Abs(SomarSaldoInicial(SqlContasAPagar(false, true, TIPO_CONTA_PADRAO), dataSaldoAnt)),
                TipoMov   = 2,
                NumSeqMov = ++numSeq
            };

            contasPagar.SaldoGeral = (saldoGeral -= contasPagar.Valor);
            retorno.Add(contasPagar);

            #endregion

            #region Parcelas de cartão

            FluxoCaixa parcCartao = new FluxoCaixa()
            {
                IsTotal   = true,
                Descricao = "SALDO PARCELAS CARTÃO EM ABERTO",
                Valor     = SomarSaldoInicial(SqlParcCartao(false, true, TIPO_CONTA_PADRAO), dataSaldoAnt),
                TipoMov   = 1,
                NumSeqMov = ++numSeq
            };

            parcCartao.SaldoGeral = (saldoGeral += parcCartao.Valor);
            retorno.Add(parcCartao);

            #endregion

            return(new SaldoInicial(dataSaldoAnterior, retorno));
        }
Пример #5
0
        public static string GetDadosProdutosRecalcular(string idOrcamentoStr, string idClienteNovoStr)
        {
            uint          idOrcamento = Conversoes.StrParaUint(idOrcamentoStr);
            StringBuilder retorno     = new StringBuilder();

            object[] dadosFormato = new object[9];
            string   formato      = "" +
                                    "IdProd: {0}, " +
                                    "Tipo: '{1}', " +
                                    "CodInterno: '{2}', " +
                                    "Espessura: '{3}', " +
                                    "Altura: '{4}', " +
                                    "Largura: {5}, " +
                                    "TotalM2: '{6}', " +
                                    "ValorUnitario: '{7}', " +
                                    "Quantidade: {8}";

            uint?idCliente = Conversoes.StrParaUintNullable(idClienteNovoStr)
                             ?? ObterOrcamento(idOrcamento).IdCliente;

            foreach (ProdutosOrcamento p in ProdutosOrcamentoDAO.Instance.ObterProdutosOrcamento(null, (int)idOrcamento, null))
            {
                p.IdCliente = idCliente;

                if (p.IdProduto > 0)
                {
                    dadosFormato[0] = p.IdProd;
                    dadosFormato[1] = "orçamento";
                    dadosFormato[2] = p.CodInterno;
                    dadosFormato[3] = p.Espessura > 0 ? p.Espessura : ProdutoDAO.Instance.ObtemEspessura((int)p.IdProduto.Value);
                    dadosFormato[4] = p.Altura;
                    dadosFormato[5] = p.Largura;
                    dadosFormato[6] = p.TotM;
                    dadosFormato[7] = p.ValorProd.Value;
                    dadosFormato[8] = p.Qtde.ToString().Replace(",", ".");

                    retorno.Append(", { " + String.Format(formato, dadosFormato) + " }");
                }
                else if (p.IdItemProjeto > 0)
                {
                    foreach (MaterialItemProjeto mip in MaterialItemProjetoDAO.Instance.GetByItemProjeto(p.IdItemProjeto.Value))
                    {
                        if (Glass.Data.DAL.GrupoProdDAO.Instance.IsVidro((int)mip.IdGrupoProd) && !SubgrupoProdDAO.Instance.IsSubgrupoProducao((int)mip.IdProd))
                        {
                            mip.IdCliente   = idCliente.GetValueOrDefault((uint)mip.IdCliente);
                            dadosFormato[0] = mip.IdMaterItemProj;
                            dadosFormato[1] = "material";
                            dadosFormato[2] = mip.CodInterno;
                            dadosFormato[3] = mip.Espessura;
                            dadosFormato[4] = mip.Altura;
                            dadosFormato[5] = mip.Largura;
                            dadosFormato[6] = mip.TotM;
                            dadosFormato[7] = mip.Valor;
                            dadosFormato[8] = mip.Qtde.ToString().Replace(",", ".");

                            retorno.Append(", { " + String.Format(formato, dadosFormato) + " }");
                        }
                    }
                }
            }

            return("new Array(" + (retorno.Length > 0 ? retorno.ToString().Substring(2) : "") + ")");
        }
Пример #6
0
 protected void btnSalvar_Click(object sender, EventArgs e)
 {
     Data.DAL.PedidoDAO.Instance.SalvarObsLiberacao(Conversoes.StrParaUint(Request["idPedido"]), txtObs.Text);
     ClientScript.RegisterClientScriptBlock(this.GetType(), "ok", "alert('Observação salva com sucesso.'); closeWindow();", true);
 }
Пример #7
0
        protected void grdPedidos_DataBound(object sender, EventArgs e)
        {
            dataBoundPedido = true;

            float total = 0;

            for (int i = 0; i < grdPedidos.Rows.Count; i++)
            {
                uint idPedido =
                    Glass.Conversoes.StrParaUint(
                        ((HiddenField)grdPedidos.Rows[i].Cells[0].FindControl("hdfIdPedido")).Value);
                string notasGeradas = PedidosNotaFiscalDAO.Instance.NotasFiscaisGeradas(null, idPedido);

                hdfIdCliente.Value = PedidoDAO.Instance.ObtemIdCliente(null, idPedido).ToString();

                HiddenField hdfNotasGeradas = (HiddenField)grdPedidos.Rows[i].Cells[0].FindControl("hdfNotasGeradas");
                hdfNotasGeradas.Value = notasGeradas;
                Color corLinha = !String.IsNullOrEmpty(notasGeradas) ? Color.Red : Color.Black;

                for (int j = 0; j < grdPedidos.Rows[i].Cells.Count; j++)
                {
                    grdPedidos.Rows[i].Cells[j].ForeColor = corLinha;
                }

                if (txtLiberacao.Enabled && !string.IsNullOrEmpty(hdfIdsLiberacaoPedidos.Value))
                {
                    float valorLiberado = 0;

                    foreach (string liberacaoPedidos in hdfIdsLiberacaoPedidos.Value.Split(';'))
                    {
                        List <string> pedidos = new List <string>(liberacaoPedidos.Split('&')[1].Replace(" ", "").Split(','));

                        if (!string.IsNullOrEmpty(pedidos.Find(delegate(string s) { return(s == idPedido.ToString()); })))
                        {
                            // Esta configuração define se a empresa trabalha com liberação parcial ou não.
                            if (Liberacao.DadosLiberacao.LiberarPedidoProdutos)
                            {
                                // Este valor ficará incorreto em caso de cobrança da taxa de fast delivery.
                                valorLiberado += PedidoDAO.Instance
                                                 .GetTotalLiberado(idPedido, liberacaoPedidos.Split('&')[0]);
                            }

                            /* Chamado 14959.
                             * Caso a empresa não trabalhe com liberação parcial de pedido então o valor total do pedido deve ser considerado. */
                            else
                            {
                                if (PCPConfig.UsarConferenciaFluxo)
                                {
                                    valorLiberado =
                                        Conversoes.StrParaFloat(PedidoEspelhoDAO.Instance.GetTotal(idPedido).ToString());
                                }
                                else
                                {
                                    valorLiberado =
                                        Conversoes.StrParaFloat(PedidoDAO.Instance.GetTotal(null, idPedido).ToString());
                                }
                            }
                        }
                    }

                    if (valorLiberado > 0)
                    {
                        if (((Label)grdPedidos.Rows[i].FindControl("lblTotalPedido")).Visible)
                        {
                            ((Label)grdPedidos.Rows[i].FindControl("lblTotalPedido")).Text = valorLiberado.ToString("C");
                        }
                        else
                        {
                            ((Label)grdPedidos.Rows[i].FindControl("lblTotalPedidoEsp")).Text =
                                valorLiberado.ToString("C");
                        }
                    }
                }

                Label totalPedido    = (Label)grdPedidos.Rows[i].FindControl("lblTotalPedido");
                Label totalPedidoEsp = (Label)grdPedidos.Rows[i].FindControl("lblTotalPedidoEsp");

                string totalStr = totalPedido.Visible ? totalPedido.Text : totalPedidoEsp.Text;

                float totalLinha = Glass.Conversoes.StrParaFloat(totalStr.Replace("R$", "").Replace(" ", "").Replace(".", ""));
                total += totalLinha;
            }

            lblTotal.Text = total.ToString("C");

            if (!dataBoundOC)
            {
                grdOcs_DataBound(null, null);
            }
        }
Пример #8
0
        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            try
            {
                var pedidos = hdfIdsPedidos.Value.Substring(0, hdfIdsPedidos.Value.LastIndexOf(',')).Split(',');
                foreach (var p in pedidos)
                {
                    WebGlass.Business.PedidoEspelho.Fluxo.BuscarEValidar.Instance.BuscarCompraPcp(Conversoes.StrParaUint(p));
                }

                cadastro.Visible  = true;
                btnBuscar.Visible = false;
                btnNovaCompraMercadoria.Visible = true;
            }
            catch (Exception ex)
            {
                cadastro.Visible = false;
                Glass.MensagemAlerta.ShowMsg(Glass.MensagemAlerta.FormatErrorMsg("Erro ao buscar pedido", ex), Page);
            }
        }
Пример #9
0
        protected void odsCompra_Inserting(object sender, Colosoft.WebControls.VirtualObjectDataSourceMethodEventArgs e)
        {
            if (hdfDadosProdutos.Value.Length == 0)
            {
                e.Cancel = true;
                return;
            }
            else
            {
                // O controle hdfDadosProdutos possui dados de mais de um produto.
                // Cada produto é separado por "|", cada campo do produto é separado por ";".
                // O ID do produto de pedido espelho, é sempre o primeiro campo dos dados do produto.
                // A lógica abaixo recupera todos os primeiros campos, dos dados de todos os produtos selecionados na tela.
                var idsProdPedEsp = hdfDadosProdutos?.Value?.Split('|')?.Select(f => f?.Split(';')?[0]?.StrParaInt() ?? 0)?.Where(f => f > 0)?.ToList() ?? new List <int>();

                // Como um produto de pedido espelho pode estar associado a somente um produto de compra, essa validação é correta.
                // Independente da quantidade do produto de pedido espelho, o sistema não permite que a compra seja gerada com uma quantidade diferente da original.
                // Ex.: IdProdPed 123456, quantidade 10, o usuário não consegue gerar uma compra de mercadoria com a quantidade menor que 10, para o produto 123456.
                if (ProdutosCompraDAO.Instance.VerificarProdutosPedidoEspelhoGeraramProdutosCompra(null, idsProdPedEsp))
                {
                    e.Cancel = true;
                    return;
                }
            }

            var pedidos = hdfIdsPedidos.Value.Substring(0, hdfIdsPedidos.Value.LastIndexOf(','));

            var compra = (Glass.Data.Model.Compra)e.InputParameters[0];

            compra.IdLoja = FinanceiroConfig.FinanceiroPagto.CompraLojaPadrao > 0 ?
                            FinanceiroConfig.FinanceiroPagto.CompraLojaPadrao.Value : UserInfo.GetUserInfo.IdLoja;
            compra.IdFormaPagto = (uint)Glass.Data.Model.Pagto.FormaPagto.Boleto;
            compra.TipoCompra   = (int)Glass.Data.Model.Compra.TipoCompraEnum.APrazo;
            compra.DataFabrica  = pedidos.Contains(",") ? null : PedidoEspelhoDAO.Instance.ObtemDataFabrica(null, Conversoes.StrParaUint(pedidos));

            compra.Nf = string.IsNullOrEmpty(pedidos) ? string.Empty : pedidos;
            compra.IdPedidoEspelho = pedidos.Contains(",") ? null : Conversoes.StrParaUintNullable(pedidos);
            compra.TipoCompra      = (int)Compra.TipoCompraEnum.AVista;
        }
Пример #10
0
        private void GeraGrafico()
        {
            #region Filtros

            var idLoja      = drpLoja.SelectedValue.StrParaUint();
            var idVendedor  = String.IsNullOrEmpty(drpVendedor.SelectedValue) ? 0 : drpVendedor.SelectedValue.StrParaUint();
            var idCliente   = txtNumCli.Text.StrParaUint();
            var nomeCliente = txtNome.Text;
            var tipoFunc    = drpTipoFunc.SelectedValue.StrParaInt();
            var tipoPedido  = cblTipoPedido.SelectedValue;
            var idRota      = drpRota.SelectedValue.StrParaUint();
            var agrupar     = drpAgrupar.SelectedValue.StrParaInt();
            var dataInicio  = ((TextBox)ctrlDataIni.FindControl("txtData")).Text;
            var dataFinal   = ((TextBox)ctrlDataFim.FindControl("txtData")).Text;

            #endregion

            #region Declarações

            //Define o período
            var periodo = new List <string>();

            var periodoIni = DateTime.Parse(((TextBox)ctrlDataIni.FindControl("txtData")).Text);
            var periodoFim = DateTime.Parse(((TextBox)ctrlDataFim.FindControl("txtData")).Text).AddDays(1);

            var lstValuesX = new ArrayList();
            var lstValuesY = new ArrayList();

            var seriesLista = new Dictionary <string, string>();

            // Recupera os IDs dos filtros e preenche o hdfSeries
            var ids         = new List <uint>();
            var tipoAgrupar = string.Empty;

            Series series = null;

            #endregion

            #region Período

            while (periodoIni < periodoFim)
            {
                seriesLista.Add(periodoIni.ToString("MMM-yy"), periodoIni.ToString("MMM-yy") + "|");
                periodo.Add(periodoIni.ToString("MMM-yy"));
                periodoIni = periodoIni.AddMonths(+1);
            }

            #endregion

            #region Gráfico

            //Cria a área do gráfico
            Chart1.Width  = 1100;
            Chart1.Height = 300;
            Chart1.ChartAreas.Add("Area");
            Chart1.ChartAreas[0].AlignmentStyle          = AreaAlignmentStyles.Position;
            Chart1.ChartAreas[0].Position.Height         = 90;
            Chart1.ChartAreas[0].Position.Width          = 77;
            Chart1.ChartAreas[0].Position.Y              = 5;
            Chart1.ChartAreas[0].AxisX.IsMarginVisible   = true;
            Chart1.ChartAreas[0].AxisY.IsMarginVisible   = true;
            Chart1.ChartAreas[0].AxisY.LabelStyle.Format = "{C}";
            //Titulo
            Chart1.Titles.Add("Vendas");
            Chart1.Titles[0].Alignment = ContentAlignment.TopCenter;
            Chart1.Titles[0].Docking   = Docking.Top;
            Chart1.Titles[0].IsDockedInsideChartArea = false;
            Chart1.Titles[0].Position.X               = 13;
            Chart1.Titles[0].Position.Y               = 30;
            Chart1.Titles[0].Position.Width           = 63;
            Chart1.Titles[0].Position.Height          = 100;
            Chart1.Titles[0].Font                     = new Font("Arial", 11, FontStyle.Bold);
            Chart1.ChartAreas[0].AxisX.Title          = "Período";
            Chart1.ChartAreas[0].AxisX.TitleAlignment = StringAlignment.Center;
            Chart1.ChartAreas[0].AxisX.TitleFont      = new Font("Arial", 11, FontStyle.Italic);

            Chart1.Legends.Add("legenda");

            #endregion

            #region Series

            switch (agrupar)
            {
            case 0:     //nenhum
                tipoAgrupar = "nenhum";
                ids.Add(1);

                series           = new Series("Empresa");
                series.ChartType = SeriesChartType.Line;
                //series.XValueType = ChartValueType.String;
                series.MarkerStyle = MarkerStyle.Circle;
                series.MarkerSize  = 8;
                series.MarkerColor = series.BorderColor;
                series.BorderWidth = 3;
                //Chart1.Series[i].IsValueShownAsLabel = true;
                series.ToolTip    = "#VALX" + Environment.NewLine + series.Name + " : #VALY{C}";
                series.Legend     = "legenda";
                series.LegendText = "Empresa";
                //series.IsVisibleInLegend = true;
                series.LegendToolTip = series.Name;
                Chart1.Series.Add(series);

                break;

            case 1:     //loja
                Loja[] lojas = drpLoja.SelectedValue == "0" ? LojaDAO.Instance.GetAll() : new Loja[] { LojaDAO.Instance.GetElementByPrimaryKey(idLoja) };

                Chart1.ChartAreas[0].AxisY.Interval       = 300000;
                Chart1.ChartAreas[0].AxisY.IntervalOffset = 0;

                foreach (Loja l in lojas)
                {
                    ids.Add((uint)l.IdLoja);

                    if (Chart1.Series.FindByName(l.IdLoja.ToString()) == null)
                    {
                        series           = new Series(l.IdLoja.ToString());
                        series.ChartType = SeriesChartType.Line;
                        //series.XValueType = ChartValueType.String;
                        series.MarkerStyle = MarkerStyle.Circle;
                        series.MarkerSize  = 8;
                        series.MarkerColor = series.BorderColor;
                        series.BorderWidth = 3;
                        //Chart1.Series[i].IsValueShownAsLabel = true;
                        series.ToolTip    = "#VALX" + Environment.NewLine + l.NomeFantasia + " : #VALY{C}";
                        series.Legend     = "legenda";
                        series.LegendText = l.NomeFantasia;
                        //series.IsVisibleInLegend = true;
                        series.LegendToolTip = l.NomeFantasia;
                        Chart1.Series.Add(series);
                    }
                }

                tipoAgrupar = "loja";
                break;

            case 2:     //emissor

                Chart1.ChartAreas[0].Position.Height = 90;
                Chart1.ChartAreas[0].Position.Width  = 72;
                Chart1.ChartAreas[0].Position.Y      = 5;

                Funcionario[] funcs;
                if (drpVendedor.SelectedValue == "0")
                {
                    var list = new List <Funcionario>(FuncionarioDAO.Instance.GetVendedoresComVendas(idLoja,
                                                                                                     tipoFunc == 1, dataInicio, dataFinal, 15, 0, false));
                    list.RemoveAt(0);
                    funcs = list.ToArray();
                }
                else
                {
                    funcs = new [] { FuncionarioDAO.Instance.GetElementByPrimaryKey(idVendedor) };
                }

                foreach (var f in funcs)
                {
                    ids.Add((uint)f.IdFunc);

                    if (Chart1.Series.FindByName(f.IdFunc.ToString()) == null)
                    {
                        series               = new Series(f.IdFunc.ToString());
                        series.ChartType     = SeriesChartType.Line;
                        series.XValueType    = ChartValueType.String;
                        series.MarkerStyle   = MarkerStyle.Circle;
                        series.MarkerSize    = 8;
                        series.MarkerColor   = series.BorderColor;
                        series.BorderWidth   = 3;
                        series.ToolTip       = "#VALX" + Environment.NewLine + f.Nome + " : #VALY{C}";
                        series.Legend        = "legenda";
                        series.LegendText    = f.Nome;
                        series.LegendToolTip = f.Nome;

                        Chart1.Series.Add(series);
                    }
                }

                tipoAgrupar = "emissor";
                break;

            case 3:     // cliente
                Cliente[] cli;
                if (idCliente == 0)
                {
                    cli = ClienteDAO.Instance.GetClientesVendas(idLoja, dataInicio, dataFinal);
                }
                else
                {
                    cli = new [] { ClienteDAO.Instance.GetElementByPrimaryKey(idCliente) }
                };

                Chart1.ChartAreas[0].Position.Height = 90;
                Chart1.ChartAreas[0].Position.Width  = 72;
                Chart1.ChartAreas[0].Position.Y      = 5;

                foreach (Cliente c in cli)
                {
                    var descNomeCliente = Configuracoes.Liberacao.RelatorioLiberacaoPedido.TipoNomeExibirRelatorioPedido == DataSources.TipoNomeExibirRelatorioPedido.RazaoSocial ?
                                          (!string.IsNullOrEmpty(c.Nome) ? c.Nome : c.NomeFantasia) : (!string.IsNullOrEmpty(c.NomeFantasia) ? c.NomeFantasia : c.Nome);

                    if (Chart1.Series.FindByName(c.IdCli.ToString()) == null)
                    {
                        series               = new Series(c.IdCli.ToString());
                        series.ChartType     = SeriesChartType.Line;
                        series.XValueType    = ChartValueType.String;
                        series.MarkerStyle   = MarkerStyle.Circle;
                        series.MarkerSize    = 8;
                        series.MarkerColor   = series.BorderColor;
                        series.BorderWidth   = 3;
                        series.ToolTip       = "#VALX" + Environment.NewLine + descNomeCliente + " : #VALY{C}";
                        series.Legend        = "legenda";
                        series.LegendText    = descNomeCliente;
                        series.LegendToolTip = descNomeCliente;

                        Chart1.Series.Add(series);
                    }
                    ids.Add((uint)c.IdCli);
                }

                tipoAgrupar = "cliente";
                break;

            case 4:     // tipoPedido
                Chart1.ChartAreas[0].AxisY.Interval       = 300000;
                Chart1.ChartAreas[0].AxisY.IntervalOffset = 0;
                Chart1.ChartAreas[0].Position.Height      = 90;
                Chart1.ChartAreas[0].Position.Width       = 72;
                Chart1.ChartAreas[0].Position.Y           = 5;

                foreach (string tp in tipoPedido.Split(','))
                {
                    string descricaoTipoPedido = tp == "1" ? "Venda" : tp == "2" ? "Revenda" : tp == "3" ? "Mão de obra" : "Produção";
                    series             = new Series(descricaoTipoPedido);
                    series.ChartType   = SeriesChartType.Line;
                    series.XValueType  = ChartValueType.String;
                    series.MarkerStyle = MarkerStyle.Circle;
                    series.MarkerSize  = 8;
                    series.MarkerColor = series.BorderColor;
                    series.BorderWidth = 3;
                    series.ToolTip     = "#VALX" + Environment.NewLine + descricaoTipoPedido + " : #VALY{C}";
                    series.Legend      = "legenda";
                    series.LegendText  = descricaoTipoPedido;
                    //series.IsVisibleInLegend = true;
                    series.LegendToolTip = descricaoTipoPedido;

                    Chart1.Series.Add(series);

                    ids.Add(Glass.Conversoes.StrParaUint(tp));
                }

                tipoAgrupar = "tipoPedido";
                break;

            case 5:     // rota
                Rota[] rotas;
                if (idRota == 0)
                {
                    rotas = RotaDAO.Instance.ObterRotas().ToArray();
                }
                else
                {
                    rotas = new[] { RotaDAO.Instance.GetElement((uint)idRota) };
                }

                Chart1.ChartAreas[0].Position.Height = 90;
                Chart1.ChartAreas[0].Position.Width  = 72;
                Chart1.ChartAreas[0].Position.Y      = 5;

                foreach (var r in rotas)
                {
                    if (Chart1.Series.FindByName(r.IdRota.ToString()) == null)
                    {
                        series               = new Series(r.IdRota.ToString());
                        series.ChartType     = SeriesChartType.Line;
                        series.XValueType    = ChartValueType.String;
                        series.MarkerStyle   = MarkerStyle.Circle;
                        series.MarkerSize    = 8;
                        series.MarkerColor   = series.BorderColor;
                        series.BorderWidth   = 3;
                        series.ToolTip       = "#VALX" + Environment.NewLine + r.Descricao + " : #VALY{C}";
                        series.Legend        = "legenda";
                        series.LegendText    = r.Descricao;
                        series.LegendToolTip = r.Descricao;

                        Chart1.Series.Add(series);
                    }
                    ids.Add((uint)r.IdRota);
                }

                tipoAgrupar = "rota";
                break;
            }

            #endregion

            #region Dados

            var login    = UserInfo.GetUserInfo;
            var criterio = string.Empty;
            var dados    = ChartVendasDAO.Instance.GetVendasForChart(idLoja, tipoFunc, idVendedor, idCliente, nomeCliente, idRota, dataInicio, dataFinal, tipoPedido, agrupar, tipoAgrupar, ids, out criterio);

            foreach (var entry in dados)
            {
                foreach (var ch in entry.Value)
                {
                    seriesLista[ch.Periodo] += ch.TotalVenda + "|";
                }
            }

            var listaVendas = new List <ChartVendas>();

            foreach (var itens in dados)
            {
                foreach (var c in itens.Value)
                {
                    listaVendas.Add(c);
                }
            }

            foreach (var s in Chart1.Series)
            {
                lstValuesX = new ArrayList();
                lstValuesY = new ArrayList();

                for (int i = 0; i < listaVendas.Count; i++)
                {
                    switch (agrupar)
                    {
                    case 0:
                        lstValuesX.Add(Convert.ToDateTime(listaVendas[i].Periodo).ToString("MMM-yy"));
                        lstValuesY.Add(listaVendas[i].TotalVenda);
                        break;

                    case 1:

                        if (listaVendas[i].IdLoja.ToString() == s.Name)
                        {
                            lstValuesX.Add(Convert.ToDateTime(listaVendas[i].Periodo).ToString("MMM-yy"));
                            lstValuesY.Add(listaVendas[i].TotalVenda);
                        }

                        break;

                    case 2:

                        if (listaVendas[i].IdFunc.ToString() == s.Name)
                        {
                            lstValuesX.Add(Convert.ToDateTime(listaVendas[i].Periodo).ToString("MMM-yy"));
                            lstValuesY.Add(listaVendas[i].TotalVenda);
                        }

                        break;

                    case 3:

                        if (listaVendas[i].IdCliente.ToString() == s.Name)
                        {
                            lstValuesX.Add(Convert.ToDateTime(listaVendas[i].Periodo).ToString("MMM-yy"));
                            lstValuesY.Add(listaVendas[i].TotalVenda);
                        }

                        break;

                    case 4:

                        string descricaoTipoPedido = listaVendas[i].TipoPedido == 1 ? "Venda" : listaVendas[i].TipoPedido == 2 ? "Revenda" :
                                                     listaVendas[i].TipoPedido == 3 ? "Mão de obra" : "Produção";

                        if (descricaoTipoPedido == s.Name)
                        {
                            lstValuesX.Add(Convert.ToDateTime(listaVendas[i].Periodo).ToString("MMM-yy"));
                            lstValuesY.Add(listaVendas[i].TotalVenda);
                        }

                        break;

                    case 5:

                        if (listaVendas[i].IdRota.ToString() == s.Name)
                        {
                            lstValuesX.Add(Convert.ToDateTime(listaVendas[i].Periodo).ToString("MMM-yy"));
                            lstValuesY.Add(listaVendas[i].TotalVenda);
                        }

                        break;
                    }
                }

                s.Points.DataBindXY(lstValuesX, lstValuesY);
            }

            #endregion

            var buffer = Util.Helper.ChartToByteArray(Chart1);

            hdfTempFile.Value = Conversoes.CodificaPara64(buffer); //String.Concat("file:///", Glass.Util.Helper.SalvaGraficoTemp(Chart1, "Vendas" + ((TextBox)ctrlDataIni.FindControl("txtData")).Text.Replace("/", "") + ((TextBox)ctrlDataFim.FindControl("txtData")).Text.Replace("/", "")));

            #region Apos gerar imagem

            foreach (var s in Chart1.Series)
            {
                lstValuesX = new ArrayList();
                lstValuesY = new ArrayList();

                for (var i = 0; i < listaVendas.Count; i++)
                {
                    switch (agrupar)
                    {
                    case 0:
                        lstValuesX.Add(Convert.ToDateTime(listaVendas[i].Periodo).ToString("MMM-yy"));
                        lstValuesY.Add(listaVendas[i].TotalVenda);
                        break;

                    case 1:

                        if (listaVendas[i].IdLoja.ToString() == s.Name)
                        {
                            lstValuesX.Add(Convert.ToDateTime(listaVendas[i].Periodo).ToString("MMM-yy"));
                            lstValuesY.Add(listaVendas[i].TotalVenda);
                        }

                        break;

                    case 2:

                        if (listaVendas[i].IdFunc.ToString() == s.Name)
                        {
                            lstValuesX.Add(Convert.ToDateTime(listaVendas[i].Periodo).ToString("MMM-yy"));
                            lstValuesY.Add(listaVendas[i].TotalVenda);
                        }

                        break;

                    case 3:

                        if (listaVendas[i].IdCliente.ToString() == s.Name)
                        {
                            lstValuesX.Add(Convert.ToDateTime(listaVendas[i].Periodo).ToString("MMM-yy"));
                            lstValuesY.Add(listaVendas[i].TotalVenda);
                        }

                        break;

                    case 4:

                        var descricaoTipoPedido = listaVendas[i].TipoPedido == 1 ? "Venda" : listaVendas[i].TipoPedido == 2 ? "Revenda" :
                                                  listaVendas[i].TipoPedido == 3 ? "Mão de obra" : "Produção";

                        if (descricaoTipoPedido == s.Name)
                        {
                            lstValuesX.Add(Convert.ToDateTime(listaVendas[i].Periodo).ToString("MMM-yy"));
                            lstValuesY.Add(listaVendas[i].TotalVenda);
                        }

                        break;

                    case 5:

                        if (listaVendas[i].IdRota.ToString() == s.Name)
                        {
                            lstValuesX.Add(Convert.ToDateTime(listaVendas[i].Periodo).ToString("MMM-yy"));
                            lstValuesY.Add(listaVendas[i].TotalVenda);
                        }

                        break;
                    }
                }

                s.Points.DataBindXY(lstValuesX, lstValuesY);
            }

            #endregion

            #region Grid

            Grid(dados, seriesLista, agrupar);

            #endregion
        }
Пример #11
0
        public string PagarContas(string idPagtoStr, string idFornecStr, string contas, string chequesAssoc, string vetJurosMulta, string dataPagto, string datasFormasPagtoStr,
                                  string valoresStr, string formasPagtoStr, string tiposCartaoStr, string numParcCartaoStr, string chequesPagto, string idContasBancoStr, string boletosStr,
                                  string antecipFornecStr, string desconto, string obs, string gerarCredito, string creditoUtilizado, string pagtoParcial, string numAutConstrucard,
                                  string retificarStr, string gerarCreditoRetificarStr, string idsContasRemovidas, string lixo)
        {
            try
            {
                FilaOperacoes.Pagamento.AguardarVez();
                string[] vPagto = valoresStr.Split(';');
                string[] fPagto = formasPagtoStr.Split(';');
                string[] cPagto = idContasBancoStr.Split(';');
                string[] tPagto = tiposCartaoStr.Split(';');
                string[] pPagto = numParcCartaoStr.Split(';');
                string[] dPagto = datasFormasPagtoStr.Split(';');
                string[] aPagto = antecipFornecStr.Split(';');

                string[]   boletos          = boletosStr.Split(';');
                decimal[]  valores          = new decimal[vPagto.Length];
                uint[]     formasPagto      = new uint[fPagto.Length];
                uint[]     contasBanco      = new uint[cPagto.Length];
                uint[]     tiposCartao      = new uint[tPagto.Length];
                uint[]     numParcCartao    = new uint[pPagto.Length];
                uint[]     antecipFornec    = new uint[aPagto.Length];
                DateTime[] datasFormasPagto = new DateTime[dPagto.Length];

                for (int i = 0; i < vPagto.Length; i++)
                {
                    valores[i]          = Glass.Conversoes.StrParaDecimal(vPagto[i]);
                    formasPagto[i]      = Glass.Conversoes.StrParaUint(fPagto[i]);
                    contasBanco[i]      = Glass.Conversoes.StrParaUint(cPagto[i]);
                    tiposCartao[i]      = Glass.Conversoes.StrParaUint(tPagto[i]);
                    numParcCartao[i]    = Glass.Conversoes.StrParaUint(pPagto[i]);
                    datasFormasPagto[i] = !String.IsNullOrEmpty(dPagto[i])
                        ? Conversoes.ConverteDataNotNull(dPagto[i])
                        : DateTime.Now;
                    antecipFornec[i] = Glass.Conversoes.StrParaUint(aPagto[i]);
                }

                contas       = contas.Trim(' ').Trim(',');
                chequesAssoc = chequesAssoc.TrimEnd('|');

                if (obs != null && obs.Length > 500)
                {
                    return("Erro\tCampo OBS excedeu o limite de caracteres, o máximo permitido são 500 caracteres.");
                }

                uint    idPagto       = Glass.Conversoes.StrParaUint(idPagtoStr);
                decimal descontoPagto = Glass.Conversoes.StrParaDecimal(desconto);
                decimal creditoUtil   = Glass.Conversoes.StrParaDecimal(creditoUtilizado);
                uint    idFornec      = !String.IsNullOrEmpty(idFornecStr) && idFornecStr != "null"
                    ? Glass.Conversoes.StrParaUint(idFornecStr)
                    : 0;

                bool retificar = retificarStr == "true";
                if (!retificar)
                {
                    // Paga Contas
                    idPagto = ContasPagarDAO.Instance.PagarContasComTransacao(idFornec, contas, chequesAssoc, vetJurosMulta,
                                                                              DateTime.Parse(dataPagto), datasFormasPagto, valores, formasPagto, contasBanco, tiposCartao,
                                                                              numParcCartao, boletos,
                                                                              antecipFornec, chequesPagto, descontoPagto, obs, gerarCredito == "true", creditoUtil,
                                                                              pagtoParcial == "true", numAutConstrucard);

                    return("ok\tPagamento efetuado com sucesso. Num. Pagto. Gerado: " + idPagto + ".\t" + idPagto);
                }
                else
                {
                    bool gerarCreditoRetificar = gerarCreditoRetificarStr == "true";

                    // Retifica contas
                    idPagto = ContasPagarDAO.Instance.RetificarPagto(idPagto, idFornec, contas.TrimEnd(' ').TrimEnd(','),
                                                                     chequesAssoc.TrimEnd('|'),
                                                                     vetJurosMulta, DateTime.Parse(dataPagto), datasFormasPagto, valores, formasPagto, contasBanco,
                                                                     tiposCartao, numParcCartao, boletos,
                                                                     antecipFornec, chequesPagto, descontoPagto, obs, gerarCredito == "true", creditoUtil,
                                                                     pagtoParcial == "true", numAutConstrucard,
                                                                     gerarCreditoRetificar, idsContasRemovidas.Replace(",,", ",").TrimEnd(','));

                    return("ok\tPagamento retificado com sucesso. Num. Pagto.: " + idPagto + ".\t" + idPagto);
                }
            }
            catch (Exception ex)
            {
                return("Erro\t" + ex.Message);
            }
            finally
            {
                FilaOperacoes.Pagamento.ProximoFila();
            }
        }
Пример #12
0
 private static int LerNumEConverter()
 {
     Console.WriteLine("\nEscreva um numero: ");
     return(Conversoes.ConverterStringParaInt(Console.ReadLine()));
 }
Пример #13
0
        /// <summary>
        /// Corre todos os exercicios da ficha 7
        /// </summary>
        public static void Ficha11()
        {
            int ex, al;

            while (true)
            {
                Console.WriteLine("\nQual o exercicio?");
                Console.WriteLine("Para sair escolha 0\n");
                ex = Conversoes.ConverterStringParaInt(Console.ReadLine());
                switch (ex)
                {
                case 0:
                    return;

                case 1:
                    Console.WriteLine("\nQual a alinea?");
                    al = Conversoes.ConverterStringParaInt(Console.ReadLine());
                    switch (al)
                    {
                    case 1:
                        Nota();
                        break;

                    case 2:
                        BMI();
                        break;

                    case 3:
                        Multi3ou7();
                        break;

                    case 4:
                        Verif1();
                        break;

                    case 5:
                        Verif2();
                        break;

                    case 6:
                        Elevador();
                        break;

                    case 7:
                        Soma10();
                        break;

                    case 8:
                        Compra();
                        break;

                    case 9:
                        Media();
                        break;

                    case 10:
                        Operacao();
                        break;

                    case 11:
                        Tabela();
                        break;

                    case 12:
                        Tabela2();
                        break;

                    case 13:
                        Tabela3();
                        break;
                    }
                    break;

                case 2:
                    Console.WriteLine("\nQual a alinea?");
                    al = Conversoes.ConverterStringParaInt(Console.ReadLine());
                    switch (al)
                    {
                    case 1:
                        TmpConv();
                        break;

                    case 2:
                        Limite();
                        break;

                    case 3:
                        JuntarVarios();
                        break;
                    }
                    break;

                case 3:
                    Console.WriteLine("\nQual a alinea?");
                    al = Conversoes.ConverterStringParaInt(Console.ReadLine());
                    switch (al)
                    {
                    case 1:
                        Mult();
                        break;

                    case 2:
                        Trian();
                        break;
                    }
                    break;
                }
            }
        }
Пример #14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Ajax.Utility.RegisterTypeForAjax(typeof(Glass.UI.Web.Utils.SelNotaFiscalConsumidorReferenciada));

            if (!IsPostBack)
            {
                numerosNota = string.Empty;
                if (Request["numeros"] != null)
                {
                    if (!Request["numeros"].Contains(","))
                    {
                        var num = Glass.Data.DAL.NotaFiscalDAO.Instance.ObtemNumeroNf(null, Conversoes.StrParaUint(Request["numeros"]));
                        numerosNota = Request["numeros"] + ";" + num;
                    }
                    else
                    {
                        var idsNf = Request["numeros"].Split(',');
                        foreach (var i in idsNf)
                        {
                            if (i != "0" && !string.IsNullOrEmpty(i))
                            {
                                var num = Glass.Data.DAL.NotaFiscalDAO.Instance.ObtemNumeroNf(null, Conversoes.StrParaUint(i));
                                numerosNota += i + ";" + num + ",";
                            }
                        }
                    }
                }
            }
        }