예제 #1
0
        public bool Delete(RevendaMod obj)
        {
            var revenda = BuscarId(obj.Id);

            using (db = new FDRConnectionString())
            {
                var objRep = new Revenda
                {
                    Id                       = revenda.Id,
                    Descricao                = revenda.Descricao,
                    NomeResponsavel          = revenda.NomeResponsavel,
                    Email                    = revenda.Email,
                    Telefone                 = revenda.Telefone,
                    QuantidadeUsuariosAcesso = revenda.QuantidadeUsuariosAcesso,
                    AcessoLibertado          = revenda.AcessoLibertado,
                    DataTerminoAcesso        = revenda.DataTerminoAcesso,
                    DataUltimaAlteracao      = DateTime.Now,
                    ChaveLiberacaoAcesso     = revenda.ChaveLiberacaoAcesso,
                    Ativo                    = false,
                    DataCadastro             = revenda.DataCadastro
                };
                db.Entry(objRep).State = System.Data.Entity.EntityState.Modified;
                return(db.SaveChanges() > 0);
            }
        }
예제 #2
0
        public void Excluir(int idUsuario, Revenda model)
        {
            _repUsuario.PermissaoMensagem(idUsuario, _tipoPrograma, EnTipoManutencao.Excluir);

            _rep.Excluir(model);
            _rep.Commit();
        }
예제 #3
0
        private void ExcluirEmail(Revenda revenda, Revenda model)
        {
            string idDelecao = "";
            int    i         = 1;

            foreach (var itemBanco in revenda.RevendaEmails)
            {
                var dados = model.RevendaEmails.FirstOrDefault(x => x.Id == itemBanco.Id);
                if (dados == null)
                {
                    if (itemBanco.Id > 0)
                    {
                        if (i == 1)
                        {
                            idDelecao += itemBanco.Id;
                        }
                        else
                        {
                            idDelecao += "," + itemBanco.Id;
                        }
                        i++;
                    }
                }
            }

            if (idDelecao != "")
            {
                _rep.ExcluirEmail(idDelecao);
            }
        }
예제 #4
0
        private void ExcluirEmail(Revenda revenda, Revenda model)
        {
            string idDelecao = "";
            int    i         = 1;

            foreach (var itemBanco in revenda.RevendaEmails)
            {
                var dados = model.RevendaEmails.FirstOrDefault(x => x.Id == itemBanco.Id);
                if (dados == null)
                {
                    if (itemBanco.Id > 0)
                    {
                        if (i == 1)
                        {
                            idDelecao += itemBanco.Id;
                        }
                        else
                        {
                            idDelecao += "," + itemBanco.Id;
                        }
                        i++;
                    }
                }
            }

            if (idDelecao != "")
            {
                _uow.Executar("DELETE FROM Revenda_Email WHERE RevEm_Id in (" + idDelecao + ")");
            }
        }
예제 #5
0
        private void SalvarRevendaEmail(Revenda model)
        {
            foreach (var itemNovo in model.RevendaEmails)
            {
                if (string.IsNullOrWhiteSpace(itemNovo.Email))
                {
                    throw new Exception("Informe o email!");
                }
            }

            if (model.Id > 0)
            {
                var dadosBanco = _rep.context.RevendaEmails.Where(x => x.RevendaId == model.Id);
                foreach (var item in dadosBanco)
                {
                    var dadosModel = model.RevendaEmails.FirstOrDefault(x => x.Id == item.Id && x.Id > 0);
                    if (dadosModel != null)
                    {
                        item.Email = dadosModel.Email;
                    }
                    else
                    {
                        _rep.context.RevendaEmails.Remove(item);
                    }
                }
            }
        }
예제 #6
0
        public List <T> ListarPor(Revenda revenda)
        {
            var query = GetQueryExpression <T>(true);

            query.Criteria.Conditions.Add(new ConditionExpression("new_revendaid", ConditionOperator.Equal, revenda.Revendaid));
            query.Criteria.Conditions.Add(new ConditionExpression("statecode", ConditionOperator.Equal, 0));
            query.Orders.Add(new OrderExpression("subject", OrderType.Ascending));
            return((List <T>) this.RetrieveMultiple(query).List);
        }
예제 #7
0
        private string SerializerRevenda(Revenda revenda)
        {
            XmlSerializer xmlSerializer = new XmlSerializer(revenda.GetType());

            using (StringWriter textWriter = new StringWriter())
            {
                xmlSerializer.Serialize(textWriter, revenda);
                return(textWriter.ToString());
            }
        }
예제 #8
0
        public void Excluir(Revenda model, int idUsuario)
        {
            if (!_uow.RepositorioUsuario.PermissaoExcluir(idUsuario, _enProgramas))
            {
                throw new Exception(Mensagem.UsuarioSemPermissao);
            }

            _uow.RepositorioRevenda.Deletar(model);
            _uow.SaveChanges();
        }
예제 #9
0
        public Revenda CriarRevendaSellout(string xml)
        {
            Revenda revenda = DeserializeRevenda(xml);
            Conta   conta   = this.SelloutParseConta(revenda);

            var msg0164 = new MSG0164(this.Organizacao, this.IsOffline);

            conta = new Servicos.ContaService(this.Organizacao, this.IsOffline).CriarRevendaSellout(conta, msg0164);

            return(SelloutParseRevenda(conta));
        }
예제 #10
0
        public Revenda Novo(int idUsuario)
        {
            _repUsuario.PermissaoMensagem(idUsuario, _tipoPrograma, EnTipoManutencao.Incluir);

            var model = new Revenda();

            model.Codigo = _rep.ProximoCodigo();
            model.Ativo  = true;

            return(model);
        }
예제 #11
0
 public void Salvar(Revenda model)
 {
     if (model.Id > 0)
     {
         _rep.Update(model);
     }
     else
     {
         _rep.Add(model);
     }
 }
예제 #12
0
        public Revenda Novo(int idUsuario)
        {
            if (!_uow.RepositorioUsuario.PermissaoIncluir(idUsuario, _enProgramas))
            {
                throw new Exception(Mensagem.UsuarioSemPermissao);
            }

            var revenda = new Revenda();

            revenda.Codigo = ProximoCodigo();
            revenda.Ativo  = true;
            return(revenda);
        }
예제 #13
0
        public void Salvar(Revenda model)
        {
            try
            {
                if (model.Codigo <= 0)
                {
                    throw new Exception("É obrigatório o código!");
                }
                if (string.IsNullOrEmpty(model.Nome))
                {
                    throw new Exception("É obrigatório o nome!");
                }

                foreach (var item in model.RevendaEmails)
                {
                    if (string.IsNullOrEmpty(item.Email))
                    {
                        throw new Exception("É obrigatório o email!");
                    }
                }

                if (model.Id == 0)
                {
                    _rep.Salvar(model);
                }
                else
                {
                    var revenda = _rep.ObterPorId(model.Id);
                    if (revenda == null)
                    {
                        revenda = new Revenda();
                    }

                    AlterarEmail(revenda, model);
                    ExcluirEmail(revenda, model);

                    revenda.Codigo = model.Codigo;
                    revenda.Nome   = model.Nome;
                    revenda.Ativo  = model.Ativo;

                    _rep.Salvar(revenda);
                }
                _rep.Commit();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #14
0
        public void Salvar(Revenda model)
        {
            if (model.Codigo <= 0)
            {
                _uow.Notificacao.Add("Informe o Código!");
            }

            if (string.IsNullOrWhiteSpace(model.Nome))
            {
                _uow.Notificacao.Add("Informe o Nome!");
            }

            if (!_uow.IsValid())
            {
                throw new Exception(_uow.RetornoNotificacao());
            }

            foreach (var item in model.RevendaEmails)
            {
                if (string.IsNullOrEmpty(item.Email))
                {
                    throw new Exception("É obrigatório o email!");
                }
            }

            if (model.Id == 0)
            {
                _uow.RepositorioRevenda.Salvar(model);
            }
            else
            {
                var revenda = ObterPorId(model.Id);
                if (revenda == null)
                {
                    revenda = new Revenda();
                }

                AlterarEmail(revenda, model);
                ExcluirEmail(revenda, model);

                revenda.Codigo = model.Codigo;
                revenda.Nome   = model.Nome;
                revenda.Ativo  = model.Ativo;

                _uow.RepositorioRevenda.Salvar(revenda);
            }
            _uow.SaveChanges();
        }
예제 #15
0
        public void AlterarEmail(Revenda model, RevendaEmail email)
        {
            if (string.IsNullOrWhiteSpace(email.Email))
            {
                throw new Exception("Informe o email!");
            }
            if (email.RevendaId == 0)
            {
                throw new Exception("Informe a revenda!");
            }

            var RevendaEmail = model.RevendaEmails.First(x => x.Id == email.Id);

            RevendaEmail.Revenda = email.Revenda;
            RevendaEmail.Email   = email.Email;
        }
예제 #16
0
        public string RetornarEmails(Revenda model)
        {
            string email = "";

            foreach (var item in model.RevendaEmails)
            {
                if (email == "")
                {
                    email = item.Email;
                }
                else
                {
                    email = email + ";" + item.Email;
                }
            }
            return(email);
        }
예제 #17
0
        private Revenda SelloutParseRevenda(Conta conta)
        {
            if (conta == null)
            {
                return(null);
            }

            Revenda revenda = new Revenda();

            if (conta.ID.HasValue)
            {
                revenda.Idrevendacrm = conta.ID.Value;
            }

            if (conta.Natureza.HasValue)
            {
                revenda.TipoPessoaCliente = conta.Natureza.Value == (int)Domain.Enum.Conta.TipoConstituicao.Cpf ? "FISÍCA" : "JURÍDICA";
            }

            if (conta.Endereco1Estadoid != null)
            {
                revenda.EstadoCliente = conta.Endereco1Estadoid.Name;
            }

            if (conta.Endereco1Municipioid != null)
            {
                revenda.CidadeCliente = conta.Endereco1Municipioid.Name;
            }

            revenda.RazaoSocial           = conta.RazaoSocial;
            revenda.InscricaoEstadual     = conta.InscricaoEstadual;
            revenda.CpfCnpj               = conta.CpfCnpj;
            revenda.TelefoneCliente       = conta.Telefone;
            revenda.EnderecoCliente       = conta.Endereco1Rua;
            revenda.NumeroEnderecoCliente = conta.Endereco1Numero;
            revenda.CepCliente            = conta.Endereco1CEP;
            revenda.BairroCliente         = conta.Endereco1Bairro;
            revenda.Statecode             = conta.Status.Value;
            revenda.Statuscode            = conta.RazaoStatus.Value;

            return(revenda);
        }
예제 #18
0
 public bool Salvar(RevendaMod obj)
 {
     using (db = new FDRConnectionString())
     {
         var objRep = new Revenda
         {
             Id                       = obj.Id,
             Descricao                = obj.Descricao,
             NomeResponsavel          = obj.NomeResponsavel,
             Email                    = obj.Email,
             Telefone                 = obj.Telefone,
             QuantidadeUsuariosAcesso = obj.QuantidadeUsuariosAcesso,
             AcessoLibertado          = obj.AcessoLibertado,
             DataTerminoAcesso        = obj.DataTerminoAcesso,
             DataUltimaAlteracao      = DateTime.Now,
             ChaveLiberacaoAcesso     = obj.ChaveLiberacaoAcesso,
             Ativo                    = true,
             DataCadastro             = DateTime.Now
         };
         db.Revenda.Add(objRep);
         return(db.SaveChanges() > 0);
     }
 }
예제 #19
0
        private void AlterarEmail(Revenda revenda, Revenda model)
        {
            foreach (var item in model.RevendaEmails)
            {
                if (string.IsNullOrWhiteSpace(item.Email))
                {
                    throw new Exception("Informe o email!");
                }

                if (item.Id == 0)
                {
                    revenda.RevendaEmails.Add(item);
                }
                else
                {
                    var rev = revenda.RevendaEmails.FirstOrDefault(x => x.Id == item.Id);
                    if (rev != null)
                    {
                        rev.Email = item.Email;
                    }
                }
            }
        }
예제 #20
0
 public void Excluir(Revenda model)
 {
     _rep.Deletar(model);
 }
예제 #21
0
        private Conta SelloutParseConta(Revenda revenda)
        {
            Conta conta = new Conta(this.Organizacao, this.IsOffline);

            conta.RazaoSocial           = revenda.RazaoSocial;
            conta.NomeFantasia          = revenda.RazaoSocial.Truncate(60);
            conta.CpfCnpj               = revenda.CpfCnpj;
            conta.Telefone              = revenda.TelefoneCliente;
            conta.IntegrarNoPlugin      = true;
            conta.QuantasFiliais        = 0;
            conta.PossuiFiliais         = (int)Enum.Conta.PossuiFiliais.Nao;
            conta.RecebeNFE             = false;
            conta.StatusIntegracaoSefaz = (int)Enum.Conta.StatusIntegracaoSefaz.NaoValidado;
            conta.ParticipantePrograma  = (int)Enum.Conta.ParticipaDoPrograma.Nao;
            conta.AssistenciaTecnica    = false;
            conta.Status      = (int)Enum.Conta.StateCode.Ativo;
            conta.RazaoStatus = (int)Enum.Conta.StatusCode.Ativo;
            conta.TipoConta   = (int)Enum.Conta.MatrizOuFilial.Matriz;
            conta.TipoRelacao = (int)Enum.Conta.TipoRelacao.Canal;
            conta.OrigemConta = (int)Enum.Conta.OrigemConta.SellOut;

            if (revenda.TipoPessoaCliente == "FISICA")
            {
                conta.Natureza          = 993520003;
                conta.TipoConstituicao  = (int)Enum.Conta.TipoConstituicao.Cpf;
                conta.InscricaoEstadual = "ISENTO";
                conta.ContribuinteICMS  = false;
            }
            else
            {
                conta.Natureza          = 993520000;
                conta.TipoConstituicao  = (int)Enum.Conta.TipoConstituicao.Cnpj;
                conta.InscricaoEstadual = revenda.InscricaoEstadual;
            }

            //Controle Interno
            conta.Endereco1Rua1 = revenda.EnderecoCliente;
            conta.Endereco2Rua2 = revenda.EnderecoCliente;

            //Endereço Principal
            conta.TipoEndereco    = (int)Enum.Conta.Tipoendereco.Primario;
            conta.Endereco1Rua    = revenda.EnderecoCliente;
            conta.Endereco1Numero = revenda.NumeroEnderecoCliente;
            conta.Endereco1CEP    = revenda.CepCliente;
            conta.Endereco1Bairro = revenda.BairroCliente;

            //Endereço de Cobrança
            conta.Endereco2TipoEndereco = (int)Enum.Conta.Tipoendereco2.Cobranca;
            conta.Endereco2Rua          = revenda.EnderecoCliente;
            conta.Endereco2Numero       = revenda.NumeroEnderecoCliente;
            conta.Endereco2Bairro       = revenda.BairroCliente;
            conta.Endereco2CEP          = revenda.CepCliente;

            //Estado
            if (!string.IsNullOrEmpty(revenda.EstadoCliente))
            {
                Estado estado = new Servicos.EstadoServices(this.Organizacao, this.IsOffline).BuscaEstadoPorSigla(revenda.EstadoCliente);

                if (estado != null)
                {
                    conta.Endereco1Estadoid = new Lookup(estado.ID.Value, "");
                    conta.Endereco2Estadoid = new Lookup(estado.ID.Value, "");

                    if (estado.Pais != null)
                    {
                        conta.Endereco2Pais  = new Lookup(estado.Pais.Id, "");
                        conta.Endereco1Pais  = new Lookup(estado.Pais.Id, "");
                        conta.Endereco1Pais1 = estado.Pais.Name;
                        conta.Endereco2Pais2 = estado.Pais.Name;
                    }

                    //Controle interno
                    conta.Endereco2Estado = estado.Nome;
                    conta.Endereco1Estado = estado.Nome;

                    //Cidade
                    Municipio municipio = new Servicos.MunicipioServices(this.Organizacao, this.IsOffline).ObterCidadePorEstadoIdNomeCidade(conta.Endereco1Estadoid.Id, revenda.CidadeCliente);
                    if (municipio != null)
                    {
                        //Principal
                        conta.Endereco1Municipioid = new Lookup(municipio.ID.Value, "");
                        //Cobrança
                        conta.Endereco2Municipioid = new Lookup(municipio.ID.Value, "");

                        //Controle Interno
                        //conta.Endereco2Cidade = municipio.Nome;
                        conta.Endereco1Cidade = municipio.Nome;
                    }
                }
            }


            Guid classificacaoId = new Guid(SDKore.Configuration.ConfigurationManager.GetSettingValue("Intelbras.Sellout.Classificacao"));

            conta.Classificacao = new Lookup(classificacaoId, SDKore.Crm.Util.Utility.GetEntityName <Classificacao>());

            Guid subClassificacaoId = new Guid(SDKore.Configuration.ConfigurationManager.GetSettingValue("Intelbras.Sellout.SubClassificacao"));

            conta.Subclassificacao = new Lookup(subClassificacaoId, SDKore.Crm.Util.Utility.GetEntityName <Subclassificacoes>());

            Guid nivelPosVendaId = SDKore.Configuration.ConfigurationManager.GetSettingValue <Guid>("Intelbras.Sellout.NivelPosVenda");

            conta.NivelPosVendas = new Lookup(nivelPosVendaId, SDKore.Crm.Util.Utility.GetEntityName <NivelPosVenda>());


            return(conta);
        }
예제 #22
0
 public ChamadoFiltroViewModel()
 {
     Revenda       = new Revenda();
     Modulo        = new Modulo();
     ClienteFiltro = new ClienteFiltro();
 }