Пример #1
0
        protected override bool salvar(object sender, EventArgs e)
        {
            bool layoutOtica = Convert.ToBoolean(Parametro.GetParametro("layoutOtica"));

            if (layoutOtica)
            {
                epValidaDados.SetObrigatorio(txtCNPJCPF, false);
            }

            bool Retorno = epValidaDados.Validar(true);

            if (Retorno)
            {
                Retorno = ValidaDadosEspecifico();
            }

            if (Retorno)
            {
                try
                {
                    ClienteBLL = new ClienteBLL();
                    ClienteBLL.UsuarioLogado = Program.usuario_logado;

                    ClienteProxy proxy = new ClienteProxy();

                    proxy.usuario = Program.usuario_logado;

                    bool intOmie           = Convert.ToBoolean(Parametro.GetParametro("intOmie"));
                    bool updateClienteOmie = Convert.ToBoolean(Parametro.GetParametro("updateFornecedorOmie"));

                    Cliente Cliente = LoadFromControls();
                    Cliente.sincronizar = "S";

                    if (Id != null)
                    {
                        ClienteBLL.AlterarCliente(Cliente);
                    }
                    else
                    {
                        Cliente.codigo_cliente_integracao = Sequence.GetNextVal("sq_cliente_sequence").ToString();
                        TagBLL tagBLL = new TagBLL();
                        Tag    tg     = tagBLL.getTag("Fornecedor").FirstOrDefault();
                        Cliente.cliente_tag.Add(new Cliente_Tag {
                            Id_tag = tg.Id, tag = tg.tag1
                        });

                        ClienteBLL.AdicionarCliente(Cliente);
                    }

                    if ((intOmie) & (updateClienteOmie))
                    {
                        if (Cliente.codigo_cliente_omie <= 0)
                        {
                            proxy.IncluirClientes(Cliente);
                        }
                        else
                        {
                            proxy.AlterarClientes(Cliente);
                        }
                    }

                    if (Cliente.Id != 0)
                    {
                        Id         = Cliente.Id;
                        txtId.Text = Cliente.Id.ToString();
                    }

                    SalvarImagem(Cliente.Id);

                    Retorno = true;
                }
                catch (Exception ex)
                {
                    Retorno = false;
                    throw ex;
                }
            }
            return(Retorno);
        }
Пример #2
0
        private void SyncOmieToLocal(int pagina = -1)
        {
            try
            {
                clientes_list_request filtro = new clientes_list_request();
                clienteBLL = new ClienteBLL();


                if (Mensagem != null)
                {
                    Mensagem.Text = "Sincronizando cadastro de  Clientes";
                    Application.DoEvents();
                }

                filtro.apenas_importado_api     = "N";
                filtro.filtrar_apenas_alteracao = "S";
                if (pagina == -1)
                {
                    filtro.pagina = "1";
                    pagina        = 1;
                }
                else
                {
                    filtro.pagina = Convert.ToString(pagina);
                }

                filtro.registros_por_pagina = "200";

                clientes_listfull_response resp = soapClient.ListarClientes(filtro);

                if (ProgressBar != null)
                {
                    if (resp != null)
                    {
                        NrTotalRegistro = Convert.ToInt32(resp.total_de_registros);
                    }

                    ProgressBar.Maximum = NrTotalRegistro;
                }

                foreach (clientes_cadastro item in resp.clientes_cadastro)
                {
                    //chama o metodo que faz o inset da cliente na base.
                    long?codigo_cliente_omie = Convert.ToInt64(item.codigo_cliente_omie);

                    List <Cliente> ClienteList = clienteBLL.getCliente(c => c.codigo_cliente_omie == codigo_cliente_omie);

                    if (ClienteList.Count() <= 0)
                    {
                        Cliente cliente = toCliente(item);
                        clienteBLL.AdicionarCliente(cliente);
                    }
                    else
                    {
                        Cliente cliente = ClienteList.First();
                        cliente = toCliente(item, cliente);
                        clienteBLL.AlterarCliente(cliente);
                    }
                    RegistroAtual++;
                    if (ProgressBar != null)
                    {
                        ProgressBar.Value = RegistroAtual;
                        ProgressBar.Refresh();
                        Application.DoEvents();
                        if (QtdRegistros != null)
                        {
                            QtdRegistros.Text = RegistroAtual.ToString() + " de " + NrTotalRegistro.ToString();
                            Application.DoEvents();
                        }
                    }
                }

                if (Convert.ToInt32(resp.total_de_paginas) > pagina)
                {
                    pagina++;
                    SyncOmieToLocal(pagina);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }