public override void Editar() { ICliente cliente = new Cliente(GUID); cliente.NomeFantasia = "Pessoa Estrangeira"; cliente.RazaoSocial = "Pessoa Estrangeira"; cliente.Fisica.Passaporte = "45435"; cliente.Save(); }
public override void Gravar() { IFisica fisica = new Fisica(); fisica.CPF = "005.911.969-13"; fisica.RG = "7.513.903-9"; fisica.RGEmissao = new DateTime(1990, 10, 10); fisica.RGEstado = new Estado().Find<Model.Cadastro.Endereco.IEstado>(new Where { Limit = new Limit(1) })[0]; fisica.RGOrgao = "SSP"; fisica.PaiNome = "Estrangeira Pai"; fisica.MaeNome = "Estrangeira Mae"; fisica.Passaporte = "564564654654646"; fisica.RGTipoVisto = "Teste"; Model.Cadastro.Endereco.IEndereco endereco = new OpenPOS.Data.Cadastro.Endereco.Endereco().Find<Model.Cadastro.Endereco.IEndereco>(new Where { Limit = new Limit(1) })[0]; endereco.CEP = "87.707-070"; endereco.Bairro = new Bairro().Find<Model.Cadastro.Endereco.IBairro>(new Where { Limit = new Limit(1) })[0]; endereco.Continente = new Continente().Find<Model.Cadastro.Endereco.IContinente>(new Where { Limit = new Limit(1) })[0]; endereco.Cidade = new Cidade().Find<Model.Cadastro.Endereco.ICidade>(new Where { Limit = new Limit(1) })[0]; endereco.Endereco = "Endereco"; endereco.Estado = new Estado().Find<Model.Cadastro.Endereco.IEstado>(new Where { Limit = new Limit(1) })[0]; endereco.Logradouro = new Logradouro().Find<Model.Cadastro.Endereco.ILogradouro>(new Where { Limit = new Limit(1) })[0]; endereco.Municipio = new Municipio().Find<Model.Cadastro.Endereco.IMunicipio>(new Where { Limit = new Limit(1) })[0]; endereco.Pais = new Pais().Find<Model.Cadastro.Endereco.IPais>(new Where { Limit = new Limit(1) })[0]; endereco.Automatico = false; Model.Cadastro.Pessoa.IEndereco enderecoCliente = new OpenPOS.Data.Cadastro.Pessoa.Endereco(); enderecoCliente.Endereco = endereco; enderecoCliente.Numero = "120"; enderecoCliente.CaixaPostal = ""; enderecoCliente.Complemento = "Proximo ao supermercado"; enderecoCliente.Proximidade = "Proximo ao supermercado"; enderecoCliente.Principal = true; ICliente cliente = new Cliente(); cliente.NomeFantasia = "Estrangeira"; cliente.RazaoSocial = "Estrangeira"; cliente.FisicaJuridica = Enuns.Cadastro.Pessoa.FisicaJuridica.Fisica; cliente.Fisica = fisica; cliente.Enderecos.Add(enderecoCliente); cliente.CanaisComunicacao.Add(new OpenPOS.Data.Cadastro.Pessoa.CanalComunicacao() { TipoCanal = Enuns.Cadastro.Pessoa.TipoCanal.Telefone, NomeContato = "Estrangeira", IdentificadorCanal = "3423-4041", Observacao = "Observação", Principal = true, Ramal = "" }); GUID = cliente.Save(); }
public static ICliente NovoCliente() { ICliente cliente = new Cliente(); cliente.RazaoSocial = new Random().NextString(); cliente.NomeFantasia = new Random().NextString(); cliente.FisicaJuridica = Enuns.Cadastro.Pessoa.FisicaJuridica.Fisica; cliente.Fisica = new Fisica().Find<IFisica>(new Where { Limit = 1 })[0]; cliente.Enderecos.Add(new Endereco().Find<IEndereco>(new Where { Limit = 1 })[0]); cliente.CanaisComunicacao.Add(new CanalComunicacao() { NomeContato = new Random().NextString(), IdentificadorCanal = "3423-5050", TipoCanal = Enuns.Cadastro.Pessoa.TipoCanal.Telefone, Principal = true }); cliente.Save(); return cliente; }
ICliente CriarCliente() { Continente t = new Continente(); t.Nome = "Europa"; GUID guidContinente = t.Save(); Pais p = new Pais(); p.Nome = "Brasil"; p.Abreviatura = "BR"; p.CodBACEN = "1234"; p.Continente = t; GUID guidPais = p.Save(); Estado e = new Estado(); e.Nome = "Europa"; e.CodigoIBGE = "41256"; e.UF = "PR"; e.Pais = p; GUID guidEstado = e.Save(); Municipio m = new Municipio(); m.Abreviatura = "PVI"; m.CodigoIBGE = "123546"; m.Estado = e; m.Nome = "Paranavaí"; GUID guidMunicipio = m.Save(); Cidade c = new Cidade(); c.Abreviatura = "GR"; c.Municipio = m; c.Nome = "Graciosa"; GUID = c.Save(); Logradouro l = new Logradouro(); l.Descricao = "Avenida"; l.Abreviatura = "Av"; GUID guidLogradouro = l.Save(); Bairro b = new Bairro(); b.Cidade = c; b.Descricao = "Centro"; GUID guidBairro = b.Save(); OpenPOS.Data.Cadastro.Endereco.Endereco end = new OpenPOS.Data.Cadastro.Endereco.Endereco(); end.Logradouro = l; end.CEP = "87704020"; end.Endereco = "Joaquim da Silva"; end.Bairro = b; GUID = end.Save(); Cliente cliente = new Cliente(); cliente.FisicaJuridica = Enuns.Cadastro.Pessoa.FisicaJuridica.Fisica; OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica fisica = new OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica(); fisica.CPF = "05210438910"; fisica.DataNascimento = new DateTime(1985, 07, 27); fisica.EstadoCivil = Enuns.Cadastro.Pessoa.EstadoCivil.Casado; fisica.MaeNome = "Teste"; fisica.PaiNome = "Teste"; fisica.RG = "90702343"; fisica.RGEmissao = new DateTime(1995, 12, 12); Estado estado = new Estado(guidEstado); fisica.RGEstado = estado; fisica.RGOrgao = "SSPPR"; fisica.RGTipoVisto = ""; fisica.Sexo = Enuns.Cadastro.Pessoa.Sexo.Masculino; OpenPOS.Data.Cadastro.Pessoa.Juridica.Juridica juridica = new OpenPOS.Data.Cadastro.Pessoa.Juridica.Juridica(); juridica.CNPJ = "75480764000120"; juridica.DataAbertura = new DateTime(1999, 10, 10); juridica.IM = "1205"; juridica.ISuf = ""; juridica.RamoAtividade = new RamoAtividade().Find<IRamoAtividade>()[0]; OpenPOS.Data.Cadastro.Pessoa.Endereco endereco = new OpenPOS.Data.Cadastro.Pessoa.Endereco(); endereco.CaixaPostal = "123"; endereco.Cobranca = true; endereco.Complemento = "teste"; endereco.Correspondencia = true; endereco.Endereco = end; endereco.Entrega = true; endereco.Faturamento = true; endereco.Numero = "1234"; endereco.Principal = true; endereco.Proximidade = "Estadio"; endereco.Retirada = true; endereco.TipoEndereco = Enuns.Cadastro.Endereco.TipoEndereco.Principal; cliente.Enderecos = new List<IEndereco> { endereco }; cliente.Fisica = fisica; cliente.Juridica = juridica; cliente.NomeFantasia = "Teste"; cliente.Observacao = "teste unitário"; cliente.RazaoSocial = "Teste"; #region Canais de comunicação cliente.CanaisComunicacao = new List<ICanalComunicacao> { new CanalComunicacao{ TipoCanal = TipoCanal.Celular, NomeContato = new Random().NextString(20), Principal =true, IdentificadorCanal = "2918219219827", Ramal ="", Observacao = "" }, new CanalComunicacao{ TipoCanal = TipoCanal.Facebook, NomeContato = new Random().NextString(20), Principal =false, IdentificadorCanal = "http://facebook.com", Ramal ="", Observacao = "" } }; #endregion #region Análise de crédito cliente.ValorLimiteCredto = 1000; cliente.PercentualRisco = 5.50; cliente.Situacao = Situacao.AAutorizar; #endregion cliente.Save(); return cliente; }
public void AnalisarCreditoCliente() { #region DAV #region Vendedor IVendedor vendedor = new Vendedor().Find<IVendedor>(new Where { Limit = new Limit(1) })[0]; #endregion #region DadoPessoa ICliente cliente = new Cliente().Find<ICliente>(new Where { Limit = 1 })[0]; // cliente.ValorLimiteCredto = 1000; // cliente.PercentualRisco = 10; cliente.Save(); IDadoPessoa dadoPessoa = new DadoPessoa() { Cliente = cliente }; #endregion dav.DadoPessoa = dadoPessoa; dav.TabelaPreco = new OpenPOS.Data.Cadastro.TabelaPreco.TabelaPreco().Find<Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0]; dav.Descricao = "Orcamento de venda"; ITabelaPreco tabela = OpenPOS.Settings.TabelaPrecoPadrao; #region Itens do DAV dav.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.DAV.Item { Quantidade = 25, ValorUnitarioBruto = 15, DescricaoNF = "Produto de teste um", ItemMovimentado = tabela.Itens[0].Item, Conferido = true, TabelaPreco = tabela, InformacaoAdicional = "Informações adicionais dos produtos, mercadorias e serviços" }); GUID guidAnalista = (GUID)OpenPOS.Settings.Setting.AnalistaCredito; dav.AnaliseCredito = new AnaliseCredito() { Analista = new Usuario().Find<IUsuario>(new Where { { "cad_PessoaUsuarioTipo.GUIDTipoUsuario", guidAnalista } })[0], DataHoraAnalise = System.DateTime.Now }; #endregion GUID = dav.Save(); #endregion #region Análise //------------------------------------------------------------------------- // Fazer a análise deste cliente // Iremos simular todas as situações //------------------------------------------------------------------------- //------------------------------------------------------------------------- // Cliente aprovado //------------------------------------------------------------------------- cliente.ValorLimiteCredto = dav.ValorTotalLiquido + 1000; AnaliseCreditoResult resultAnalise = AnalisarCredito.Analisar(dav); Assert.AreEqual(resultAnalise.Status, StatusAnaliseResult.Aprovado); //------------------------------------------------------------------------- // Aprovado Somente A Vista //------------------------------------------------------------------------- cliente.ValorLimiteCredto = dav.ValorTotalLiquido + 1000; cliente.Situacao = Situacao.SemCredito; resultAnalise = AnalisarCredito.Analisar(dav); Assert.AreEqual(resultAnalise.Status, StatusAnaliseResult.AprovadoSomenteAVista); //------------------------------------------------------------------------- // Aprovado Com Risco //------------------------------------------------------------------------- cliente.ValorLimiteCredto = dav.ValorTotalLiquido - 15.5; cliente.PercentualRisco = 10; resultAnalise = AnalisarCredito.Analisar(dav); Assert.AreEqual(resultAnalise.Status, StatusAnaliseResult.AprovadoComRisco); //------------------------------------------------------------------------- // Aguardar Analise //------------------------------------------------------------------------- cliente.ValorLimiteCredto = dav.ValorTotalLiquido + 1000; cliente.Situacao = Situacao.AAutorizar; resultAnalise = AnalisarCredito.Analisar(dav); Assert.AreEqual(resultAnalise.Status, StatusAnaliseResult.AguardarAnalise); //------------------------------------------------------------------------- // Aguardar analise 2 //------------------------------------------------------------------------- cliente.ValorDocumentoAberto = 10000; cliente.ValorLimiteCredto = 1000; resultAnalise = AnalisarCredito.Analisar(dav); Assert.AreEqual(resultAnalise.Status, StatusAnaliseResult.AguardarAnalise); //------------------------------------------------------------------------- // Bloqueado //------------------------------------------------------------------------- cliente.ValorLimiteCredto = dav.ValorTotalLiquido + 1000; cliente.Situacao = Situacao.Bloqueado; resultAnalise = AnalisarCredito.Analisar(dav); Assert.AreEqual(resultAnalise.Status, StatusAnaliseResult.Bloqueado); //------------------------------------------------------------------------- // Cliente Nao Identificado //------------------------------------------------------------------------- cliente.ValorLimiteCredto = dav.ValorTotalLiquido + 1000; dav.DadoPessoa.Cliente = null; resultAnalise = AnalisarCredito.Analisar(dav); Assert.AreEqual(resultAnalise.Status, StatusAnaliseResult.ClienteNaoIdentificado); #endregion }
public override void Gravar() { #region DAV #region Vendedor IVendedor vendedor = new Vendedor().Find<IVendedor>(new Where { Limit = new Limit(1) })[0]; #endregion #region DadoPessoa IDadoPessoa dadoPessoa = new DadoPessoa(); ICanalComunicacao canal = new CanalComunicacao(); canal.NomeContato = "Cliente"; canal.IdentificadorCanal = "3423-5051"; canal.TipoCanal = Enuns.Cadastro.Pessoa.TipoCanal.Telefone; canal.Principal = true; Cliente cliente = new Cliente() { FisicaJuridica = Enuns.Cadastro.Pessoa.FisicaJuridica.Fisica, Fisica = new Fisica().Find<IFisica>(new Where { Limit = new Limit(1) })[0], NomeFantasia = "Luciano", RazaoSocial = "Luciano Leandro", TipoPessoa = Enuns.Cadastro.Pessoa.TipoPessoa.Cliente, Enderecos = new List<IEndereco> { new Endereco().Find<IEndereco>(new Where { Limit = new Limit(1) })[0] }, CanaisComunicacao = new List<ICanalComunicacao> { canal }, ValorLimiteCredto = 3000, PercentualRisco = 10, Situacao = Situacao.AAutorizar }; cliente.Save(); dadoPessoa.Cliente = cliente; #endregion dav.DadoPessoa = dadoPessoa; dav.TabelaPreco = new OpenPOS.Data.Cadastro.TabelaPreco.TabelaPreco().Find<Model.Cadastro.TabelaPreco.ITabelaPreco>(new Where { Limit = new Limit(1) })[0]; dav.Descricao = "Orcamento de venda"; #region Itens do DAV dav.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.DAV.Item { Quantidade = 10, ValorUnitarioBruto = 12.5, DescricaoNF = "Produto de teste um", Vendedor = vendedor, TabelaPreco = dav.TabelaPreco, ItemMovimentado = new OpenPOS.Data.Cadastro.Item.Produto.Acabado().Find<Model.Cadastro.Item.Produto.IAcabado>(new Where { Limit = new Limit(1) })[0] }); dav.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.DAV.Item { Quantidade = 25, ValorUnitarioBruto = 15, DescricaoNF = "Produto de teste dois", Vendedor = vendedor, TabelaPreco = dav.TabelaPreco, ItemMovimentado = new OpenPOS.Data.Cadastro.Item.Produto.Acabado().Find<Model.Cadastro.Item.Produto.IAcabado>(new Where { Limit = new Limit(1) })[0] }); dav.Itens.Add(new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.DAV.Item { Quantidade = 33, ValorUnitarioBruto = 17.5, DescricaoNF = "Produto de teste três", Vendedor = vendedor, TabelaPreco = dav.TabelaPreco, ItemMovimentado = new OpenPOS.Data.Cadastro.Item.Produto.Acabado().Find<Model.Cadastro.Item.Produto.IAcabado>(new Where { Limit = new Limit(1) })[0] }); #endregion dav.Save(); #endregion }
public override void Editar() { Cliente cliente = new Cliente(GUID); DumpElement(cliente); cliente.NomeFantasia = "Joaquim Silva Editado"; cliente.Situacao = Situacao.Normal; cliente.Save(); cliente = new Cliente(GUID); DumpElement(cliente); }
internal static void Save() { OnSaving("Conectando com a base de dados local ..."); Connection connection = null; try { connection = DbContext.CreateConnection(); connection.BeginTransaction(); if (CurrentConfig.TipoInstalacao == Enuns.TipoInstalacao.ServidorPostgreSQL || CurrentConfig.TipoInstalacao == Enuns.TipoInstalacao.ServidorSQLite) { #region Settings OnSaving("Salvando as configurações do TEF ..."); connection.ExecuteNonQuery(@"DELETE FROM cfg_Configuracao WHERE Propriedade = 'TEF_CodigoLoja'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'TEF_EnderecoIP'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'TEF_MultiplosCartoes'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'TEF_NumeroCartoes'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'TEF_NumeroTerminal'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'SH_NumeroLaudo'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'SH_Versao'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'SH_NomeApp'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'SH_CNPJ'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'SH_IE'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'SH_IM'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'SH_Nome'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'SH_ER_PAF_ECF'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'ConsumidorFinal'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'TEF_HabilitaCieloPremia'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'ECF_MensagemRodape'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'Server_EnderecoIP'; DELETE FROM cfg_Configuracao WHERE Propriedade = 'Server_Porta'; INSERT INTO cfg_Configuracao (GUID, Propriedade, Valor, Observacao) VALUES ('" + GUID.Create() + "', 'EmpresaDefault', ' ', 'É a empresa padrão da aplicação');" + " INSERT INTO cfg_Configuracao (GUID, Propriedade, Valor, Observacao)" + " VALUES ('" + GUID.Create() + "', 'UsuarioDefault', ' ', 'É o usuário padrão da aplicação');"); Settings.Setting.Refresh(); #endregion #region Empresa padrão OnSaving("Criando empresa padrão ..."); Empresa.TipoEmpresa.Save(); Empresa.Juridica.RamoAtividade.Save(); Empresa.FisicaJuridica = FisicaJuridica.Juridica; Empresa.Save(); //------------------------------------------------------------------------- // O GUID desta empresa será o GUID padrão de empresas //------------------------------------------------------------------------- connection.ExecuteNonQuery(@"UPDATE cfg_Configuracao SET Valor = @valor WHERE Propriedade = @propriedade;", new[] { new Parameter { ParameterName = "@valor", Value = Empresa.GUID }, new Parameter { ParameterName = "@propriedade", Value = "EmpresaDefault" } }); #endregion #region Usuário padrão OnSaving("Criando usuário padrão ..."); //------------------------------------------------------------------------- // Definir o tipo de usuário. //------------------------------------------------------------------------- Usuario.TiposUsuarios = new List<ITipoUsuario> { new TipoUsuario().Find<ITipoUsuario>()[0] }; Usuario.FisicaJuridica = FisicaJuridica.Fisica; Usuario.Save(); //------------------------------------------------------------------------- // O GUID deste usuário será o GUID padrão de usuários //------------------------------------------------------------------------- connection.ExecuteNonQuery(@"UPDATE cfg_Configuracao SET Valor = @valor WHERE Propriedade = @propriedade;", new[] { new Parameter { ParameterName = "@valor", Value = Usuario.GUID }, new Parameter { ParameterName = "@propriedade", Value = "UsuarioDefault" } }); #endregion #region Definir propriedades Settings.EmpresaAtual = Empresa; Settings.UsuarioAtual = Usuario; #endregion #region Contas Correntes #region empresa ContaCorrente cc = new ContaCorrente(); cc.Tipo = OpenPOS.Enuns.Cadastro.Financeiro.TipoContaCorrente.PagarReceber; cc.Descricao = String.IsNullOrEmpty(Empresa.RazaoSocial) ? (String.IsNullOrEmpty(Empresa.NomeFantasia) ? Unimake.Convert.ToString(Empresa.EGUID) : Empresa.NomeFantasia) : Empresa.RazaoSocial; cc.Save(); //vincular com a empresa connection.ExecuteNonQuery("UPDATE cad_Pessoa SET GUIDContaCorrente = @cc WHERE GUID = @g", new[]{ new Parameter{ ParameterName="@cc", Value = cc.GUID, }, new Parameter{ ParameterName="@g", Value = Empresa.GUID, } }); #endregion #region usuário cc = new ContaCorrente(); cc.Tipo = OpenPOS.Enuns.Cadastro.Financeiro.TipoContaCorrente.PagarReceber; cc.Descricao = String.IsNullOrEmpty(Usuario.RazaoSocial) ? (String.IsNullOrEmpty(Usuario.NomeFantasia) ? Unimake.Convert.ToString(Usuario.EGUID) : Usuario.NomeFantasia) : Usuario.RazaoSocial; cc.Save(); //vincular com o usuário connection.ExecuteNonQuery("UPDATE cad_Pessoa SET GUIDContaCorrente = @cc WHERE GUID = @g", new[]{ new Parameter{ ParameterName="@cc", Value = cc.GUID, }, new Parameter{ ParameterName="@g", Value = Usuario.GUID, } }); #endregion #endregion #region Administrador OnSaving("Salvando o Administrador da aplicação."); #region Tipo de usuário ITipoUsuario tipoAdministrador = new TipoUsuario() { Administrador = true, Descricao = "Administrador da aplicação" }; tipoAdministrador.Save(); #endregion IUsuario administrador = new Usuario() { RazaoSocial = "Administrador", NomeFantasia = "Administrador", Fisica = Usuario.Fisica, Enderecos = Usuario.Enderecos, CanaisComunicacao = Usuario.CanaisComunicacao, FisicaJuridica = FisicaJuridica.Fisica, NomeLogin = "******", Senha = "Administrador123#", TiposUsuarios = new List<ITipoUsuario>() { tipoAdministrador } }; //O Administrador do sistema tem que ter acesso a todas as funcionalidades da aplicação INivelAcesso nivelAcesssoAdministrador = new NivelAcesso(); nivelAcesssoAdministrador.Descricao = "Nível de acesso do administrador da aplicação"; nivelAcesssoAdministrador.UsuarioCadastro = administrador; nivelAcesssoAdministrador.Save(); administrador.NivelAcesso = nivelAcesssoAdministrador; administrador.Save(); #endregion #region Supervisor da aplicação OnSaving("Salvando o supervisor da aplicação"); #region Tipo de usuário ITipoUsuario tipoSupervisor = new TipoUsuario() { Administrador = false, Descricao = "Supervisor da aplicação" }; tipoSupervisor.Save(); #endregion IUsuario supervisor = new Usuario() { RazaoSocial = "Supervisor", NomeFantasia = "Supervisor", Fisica = Usuario.Fisica, Enderecos = Usuario.Enderecos, CanaisComunicacao = Usuario.CanaisComunicacao, FisicaJuridica = FisicaJuridica.Fisica, NomeLogin = "******", Senha = "Supervisor123#", TiposUsuarios = new List<ITipoUsuario>() { tipoSupervisor } }; #region Nível de acesso INivelAcesso nivelAcessoSupervisor = new NivelAcesso(); nivelAcessoSupervisor.Descricao = "Nível de acesso do supervisor da aplicação"; nivelAcessoSupervisor.UsuarioCadastro = supervisor; //Controles que o supervisor da aplicação não terá acesso nivelAcessoSupervisor.Regras.Add(new NivelAcessoRegra() { NomeControle = "mnuCadastro" }); nivelAcessoSupervisor.Regras.Add(new NivelAcessoRegra() { NomeControle = "mnuFinanceiro" }); nivelAcessoSupervisor.Regras.Add(new NivelAcessoRegra() { NomeControle = "mnuRelatorio" }); nivelAcessoSupervisor.Save(); supervisor.NivelAcesso = nivelAcessoSupervisor; #endregion supervisor.Save(); #endregion #region Consumidor Final OnSaving("Criando Consumidor Final ..."); ICliente consumidorFinal = new Cliente { NomeFantasia = "Consumidor Final", RazaoSocial = "Consumidor Final", Enderecos = Usuario.Enderecos, CanaisComunicacao = Usuario.CanaisComunicacao, Fisica = Usuario.Fisica, FisicaJuridica = FisicaJuridica.Fisica }; consumidorFinal.Save(); CurrentConfig.SaveConfig("ConsumidorFinal", consumidorFinal.GUID, "Consumidor Final da aplicação"); #region Conta corrente ContaCorrente conta = new ContaCorrente(); conta.Tipo = OpenPOS.Enuns.Cadastro.Financeiro.TipoContaCorrente.PagarReceber; conta.Descricao = String.IsNullOrEmpty(consumidorFinal.RazaoSocial) ? (String.IsNullOrEmpty(consumidorFinal.NomeFantasia) ? Unimake.Convert.ToString(consumidorFinal.EGUID) : consumidorFinal.NomeFantasia) : consumidorFinal.RazaoSocial; conta.Save(); //vincular com a empresa connection.ExecuteNonQuery("UPDATE cad_Pessoa SET GUIDContaCorrente = @cc WHERE GUID = @g", new[]{ new Parameter{ ParameterName="@cc", Value = conta.GUID, }, new Parameter{ ParameterName="@g", Value = consumidorFinal.GUID, } }); #endregion #endregion #region Analista de crédito OnSaving("Criando o analista de crédito ..."); ITipoUsuario tipoAnalista = new TipoUsuario { Administrador = false, Descricao = "Analista de crédito" }; tipoAnalista.Save(); IUsuario analistaCredito = new Usuario { NomeFantasia = "Analista de crédito", RazaoSocial = "Analista de crédito", Fisica = Usuario.Fisica, Enderecos = Usuario.Enderecos, CanaisComunicacao = Usuario.CanaisComunicacao, FisicaJuridica = FisicaJuridica.Fisica, NomeLogin = "******", Senha = "Analista123#", TiposUsuarios = new List<ITipoUsuario>() { tipoAnalista } }; analistaCredito.Save(); CurrentConfig.SaveConfig("AnalistaCredito", analistaCredito.GUID, "Pessoa responsável pela a análise de crédito do cliente nos faturamentos"); #endregion #region Fiscal de caixa OnSaving("Criando o fiscal de caixa ..."); ITipoUsuario tipoFiscal = new TipoUsuario { Administrador = false, Descricao = "Fiscal de caixa" }; tipoFiscal.Save(); IUsuario fiscalCaixa = new Usuario { NomeFantasia = "Fiscal de caixa", RazaoSocial = "Fiscal de caixa", Fisica = Usuario.Fisica, Enderecos = Usuario.Enderecos, CanaisComunicacao = Usuario.CanaisComunicacao, FisicaJuridica = FisicaJuridica.Fisica, NomeLogin = "******", Senha = "Fiscal123#", TiposUsuarios = new List<ITipoUsuario>() { tipoFiscal } }; fiscalCaixa.Save(); CurrentConfig.SaveConfig("FiscalCaixa", fiscalCaixa.GUID, "É o fiscal de caixa da aplicação"); #endregion #region Salvar itens especiais new Data.Cadastro.Item.Especial.DespesaAcessoria().Save(); new Data.Cadastro.Item.Especial.Desconto().Save(); new Data.Cadastro.Item.Especial.EncargoFinanceiro().Save(); new Data.Cadastro.Item.Especial.Frete().Save(); new Data.Cadastro.Item.Especial.Seguro().Save(); #endregion #region Tipo de instalação do terminal if (TipoInstalacaoTerminal == TipoInstalacaoTerminal.PDV) { #region Configurações gerais SaveConfig("TEF_CodigoLoja", TEFCodigoLoja, "Código de loja cadastrado no TEF."); SaveConfig("TEF_EnderecoIP", TEFEnderecoIP, "Endereço de IP do servidor TEF."); SaveConfig("TEF_MultiplosCartoes", TEFMultiplosCartoes ? 1 : 0, "Habilita o TEF para trabalhar com múltiplos cartões"); SaveConfig("TEF_Numerocartoes", TEFNumeroCartoes, "Especifica o número de cartões que a aplicação utilizará para pagamentos com TEF"); SaveConfig("TEF_NumeroTerminal", TEFNumeroTerminal, "Número de terminal do cliente TEF."); SaveConfig("SH_NumeroLaudo", SHNumeroLaudo, "Número do laudo da homologação PAF-ECF"); SaveConfig("SH_Versao", SHVersao, "Versão da aplicação homologada no PAF-ECF"); SaveConfig("SH_NomeApp", SHNomeApp, "Nome da aplicação homologada para o PAF-ECF"); SaveConfig("SH_CNPJ", SHCNPJ, "CNPJ da empresa desenvolvedora do PAF"); SaveConfig("SH_IE", SHIE, "Inscrição Estadual da empresa desenvolvedora do PAF"); SaveConfig("SH_IM", SHIM, "Inscrição Municipal da empresa desenvolvedora do PAF"); SaveConfig("SH_Nome", SHNome, "Nome da empresa desenvolvedora do PAF"); SaveConfig("SH_ER_PAF_ECF", SHERPAFECF, "Versão da especificação do PAF-ECF"); SaveConfig("TEF_HabilitaCieloPremia", TEFHabilitaCieloPremia ? 1 : 0, "Este estabelecimento participa do Cielo Premia."); SaveConfig("ECF_MensagemRodape", ECFMensagemRodape, "Mensagem de rodapé exibida ao final do cupom."); #endregion #region PDV OnSaving("Criando PDV ..."); Impressora.PDV.Save(); #endregion #region Impressora padrão OnSaving("Criando Impressora ..."); Impressora.Save(); #endregion #region Caixa OnSaving("Criando cadastro de caixa..."); ICaixa caixa = new Caixa(); caixa.PDV = Impressora.PDV; caixa.Descricao = Settings.MachineName; caixa.Status = OpenPOS.Enuns.FrenteCaixa.Cadastro.Caixa.Status.Aberto; #endregion #region Operador de caixa OnSaving("Criando operador de caixa padrão..."); ITipoUsuario tipoUsuario = new TipoUsuario { Administrador = false, Descricao = "Operador de Caixa" }; tipoUsuario.Save(); IOperadorCaixa operador = new OperadorCaixa { Fisica = Usuario.Fisica, NomeFantasia = "Operador Padrão", RazaoSocial = "Operador Padrão", Enderecos = Usuario.Enderecos, CanaisComunicacao = Usuario.CanaisComunicacao, NomeLogin = "******", Senha = "Oper123#", FisicaJuridica = FisicaJuridica.Fisica, TiposUsuarios = new List<ITipoUsuario> { tipoUsuario } }; #region Nível de Acesso INivelAcesso nivelAcessoOperadorDeCaixa = new NivelAcesso(); nivelAcessoOperadorDeCaixa.Descricao = "Operador de caixa"; nivelAcessoOperadorDeCaixa.UsuarioCadastro = operador; // Controles que são negados para o usuário do // tipo operador de caixa. nivelAcessoOperadorDeCaixa.Regras.Add(new NivelAcessoRegra() { NomeControle = "mnuCadastro" }); nivelAcessoOperadorDeCaixa.Regras.Add(new NivelAcessoRegra() { NomeControle = "mnuLancamento" }); nivelAcessoOperadorDeCaixa.Regras.Add(new NivelAcessoRegra() { NomeControle = "mnuFinanceiro" }); nivelAcessoOperadorDeCaixa.Regras.Add(new NivelAcessoRegra() { NomeControle = "mnuRelatorio" }); nivelAcessoOperadorDeCaixa.Regras.Add(new NivelAcessoRegra() { NomeControle = "mnuCadastro" }); nivelAcessoOperadorDeCaixa.Regras.Add(new NivelAcessoRegra() { NomeControle = "optBarVenda" }); nivelAcessoOperadorDeCaixa.Regras.Add(new NivelAcessoRegra() { NomeControle = "optBarDAV" }); nivelAcessoOperadorDeCaixa.Regras.Add(new NivelAcessoRegra() { NomeControle = "tbtnDAV" }); nivelAcessoOperadorDeCaixa.Regras.Add(new NivelAcessoRegra() { NomeControle = "tbtnConsultas" }); nivelAcessoOperadorDeCaixa.Regras.Add(new NivelAcessoRegra() { NomeControle = "tbtnOutros" }); nivelAcessoOperadorDeCaixa.Regras.Add(new NivelAcessoRegra() { NomeControle = "tbtnVendas" }); nivelAcessoOperadorDeCaixa.Save(); operador.NivelAcesso = nivelAcessoOperadorDeCaixa; #endregion operador.Save(); CurrentConfig.SaveConfig("OperadorCaixa", tipoUsuario.GUID, "Define o tipo de operador de caixa."); #endregion #region Formas de pagamentos OnSaving("Salvando formas de pagamento ..."); foreach (IImpressoraFormaPagto item in FormasPagto) { item.FormaPagamento.Save(); item.Impressora = Impressora; item.Save(); } #endregion #region Alíquota da impressora fiscal OnSaving("Salvando alíquotas da impressora fiscal ..."); foreach (object[] aliq in Aliquotas) { IAliquota aliquota = new Aliquota(); GUID guidAliquota = (GUID)aliq[3].ToString(); //Se não foi encontrado o GUID da AliquotaTributo não faz o vínculo if (!guidAliquota.IsNullOrEmpty()) { aliquota.TributoAliquota = new AliquotaTributo(guidAliquota); aliquota.Impressora = Impressora; aliquota.Indice = aliq[1].ToString(); aliquota.Aliquota = Unimake.Convert.ToDouble(aliquota.TributoAliquota.Valor); aliquota.Save(); } } #endregion #region Clisitef SaveCliSiTef(); #endregion } #endregion } else if (CurrentConfig.TipoInstalacao == Enuns.TipoInstalacao.ClientePostgreSQL || CurrentConfig.TipoInstalacao == Enuns.TipoInstalacao.ClienteSQLite) { #region Tipo de instalação do terminal if (TipoInstalacaoTerminal == TipoInstalacaoTerminal.PDV) { #region PDV OnSaving("Criando PDV ..."); Impressora.PDV.Save(); #endregion #region Impressora padrão OnSaving("Criando Impressora ..."); Impressora.Save(); #endregion #region Caixa OnSaving("Criando cadastro de caixa..."); ICaixa caixa = new Caixa(); caixa.PDV = Impressora.PDV; caixa.Descricao = Settings.MachineName; caixa.Status = OpenPOS.Enuns.FrenteCaixa.Cadastro.Caixa.Status.Aberto; #endregion #region Formas de pagamentos OnSaving("Salvando formas de pagamento ..."); foreach (IImpressoraFormaPagto item in FormasPagto) { item.FormaPagamento.Save(); item.Impressora = Impressora; item.Save(); } #endregion #region Alíquota da impressora fiscal OnSaving("Salvando alíquotas da impressora fiscal ..."); foreach (object[] aliq in Aliquotas) { IAliquota aliquota = new Aliquota(); GUID guidAliquota = (GUID)aliq[3].ToString(); //Se não foi encontrado o GUID da AliquotaTributo não faz o vínculo if (!guidAliquota.IsNullOrEmpty()) { aliquota.TributoAliquota = new AliquotaTributo(guidAliquota); aliquota.Impressora = Impressora; aliquota.Indice = aliq[1].ToString(); aliquota.Aliquota = Unimake.Convert.ToDouble(aliquota.TributoAliquota.Valor); aliquota.Save(); } } #endregion #region Clisitef SaveCliSiTef(); #endregion } #endregion } if (TipoInstalacao == Enuns.TipoInstalacao.ClientePostgreSQL || TipoInstalacao == TipoInstalacao.ServidorPostgreSQL) UpdateAppConfig(); connection.CommitTransaction(); } catch { if (connection != null) { if (connection.Transaction != null && connection.Transaction.State == TransactionState.Begin) connection.RollbackTransaction(); } throw; } finally { if (connection != null) connection.Close(); } }
public override void Gravar() { #region DAV DAV dav = new DAV(); #region Vendedor Continente t = new Continente(); t.Nome = "Europa"; GUID guidContinente = t.Save(); Pais p = new Pais(); p.Nome = "Brasil"; p.Abreviatura = "BR"; p.CodBACEN = "1234"; p.Continente = t; GUID guidPais = p.Save(); Estado e = new Estado(); e.Nome = "Europa"; e.CodigoIBGE = "41256"; e.UF = "PR"; e.Pais = p; GUID guidEstado = e.Save(); Municipio m = new Municipio(); m.Abreviatura = "PVI"; m.CodigoIBGE = "123546"; m.Estado = e; m.Nome = "Paranavaí"; GUID guidMunicipio = m.Save(); Cidade c = new Cidade(); c.Abreviatura = "GR"; c.Municipio = m; c.Nome = "Graciosa"; GUID = c.Save(); Logradouro l = new Logradouro(); l.Descricao = "Avenida"; l.Abreviatura = "Av"; GUID guidLogradouro = l.Save(); Bairro b = new Bairro(); b.Cidade = c; b.Descricao = "Centro"; GUID guidBairro = b.Save(); OpenPOS.Data.Cadastro.Endereco.Endereco end = new OpenPOS.Data.Cadastro.Endereco.Endereco(); end.Logradouro = l; end.CEP = "87704020"; end.Endereco = "Joaquim da Silva"; end.Bairro = b; string guidEndereco = end.Save(); IVendedor vendedor = new Vendedor(); vendedor.FisicaJuridica = Enuns.Cadastro.Pessoa.FisicaJuridica.Fisica; OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica fisica = new OpenPOS.Data.Cadastro.Pessoa.Fisica.Fisica(); fisica.CPF = "05210438910"; fisica.DataNascimento = new DateTime(1985, 07, 27); fisica.EstadoCivil = Enuns.Cadastro.Pessoa.EstadoCivil.Casado; fisica.MaeNome = "Teste"; fisica.PaiNome = "Teste"; fisica.RG = "90702343"; fisica.RGEmissao = new DateTime(1995, 12, 12); Estado estado = new Estado(guidEstado); fisica.RGEstado = estado; fisica.RGOrgao = "SSPPR"; fisica.RGTipoVisto = ""; fisica.Sexo = Enuns.Cadastro.Pessoa.Sexo.Masculino; OpenPOS.Data.Cadastro.Pessoa.Juridica.Juridica juridica = new OpenPOS.Data.Cadastro.Pessoa.Juridica.Juridica(); juridica.CNPJ = "75480764000120"; juridica.DataAbertura = new DateTime(1999, 10, 10); juridica.IM = "1205"; juridica.ISuf = ""; juridica.RamoAtividade = new RamoAtividade().Find<IRamoAtividade>()[0]; OpenPOS.Data.Cadastro.Pessoa.Endereco endereco = new OpenPOS.Data.Cadastro.Pessoa.Endereco(); // endereco.GUID = guidEndereco; endereco.CaixaPostal = "123"; endereco.Cobranca = true; endereco.Complemento = "teste"; endereco.Correspondencia = true; endereco.Endereco = end; endereco.Entrega = true; endereco.Faturamento = true; endereco.Numero = "1234"; endereco.Principal = true; endereco.Proximidade = "Estadio"; endereco.Retirada = true; endereco.TipoEndereco = Enuns.Cadastro.Endereco.TipoEndereco.Principal; vendedor.Enderecos = new List<IEndereco> { endereco }; vendedor.Fisica = fisica; vendedor.Juridica = juridica; vendedor.NomeFantasia = "Teste"; vendedor.Observacao = "teste unitario"; vendedor.RazaoSocial = "Teste"; vendedor.TipoPessoa = Enuns.Cadastro.Pessoa.TipoPessoa.Vendedor; GUID guidVendedor = vendedor.Save(); #endregion #region DadoPessoa Model.Faturamento.Lancamento.Movimento.IDadoPessoa dadoPessoa = new Data.Faturamento.Lancamento.Movimento.DadoPessoa.DadoPessoa(); Cliente cliente = new Cliente() { FisicaJuridica = Enuns.Cadastro.Pessoa.FisicaJuridica.Fisica, Fisica = fisica, NomeFantasia = "Luciano", RazaoSocial = "Luciano Leandro", TipoPessoa = Enuns.Cadastro.Pessoa.TipoPessoa.Cliente, Enderecos = new List<IEndereco> { endereco } }; cliente.Save(); dadoPessoa.Cliente = cliente; #endregion dav.DadoPessoa = dadoPessoa; Item item1 = new Item() { Quantidade = 10, ValorUnitarioBruto = 12.5, DescricaoNF = "Produto de teste um", Vendedor = vendedor }; dav.Itens.Add(item1); GUID guidDav = dav.Save(); #endregion PreVenda pv = new PreVenda(); OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.PreVenda.Item itempv1 = new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.PreVenda.Item() { Quantidade = 10, ValorUnitarioBruto = 12.5, DescricaoNF = "Produto de teste um", Status = 0, }; itempv1.Parent = pv; itempv1.ItensParent.Add((Item)dav.Itens[0].Clone()); pv.Itens.Add(itempv1); guidPv = pv.Save(); VendaCF v = new VendaCF(); OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.VendaCF.Item itemVCF = new OpenPOS.Data.Faturamento.Lancamento.Movimento.Item.VendaCF.Item { Quantidade = 25, ValorUnitarioBruto = 15, DescricaoNF = "Produto de teste um", }; itemVCF.Parent = v; itemVCF.ItensParent.Add((Data.Faturamento.Lancamento.Movimento.Item.PreVenda.Item)pv.Itens[0].Clone()); v.Itens.Add(itemVCF); GUID = v.Save(); }