コード例 #1
0
        public Parecer Persistir(Parecer ObjParecer)
        {
            Parecer TmpParecer = null;

            if (ObjParecer.ID.HasValue)
            {
                TmpParecer = RepositoryService.Parecer.ObterPor((Guid)ObjParecer.ID);

                if (TmpParecer != null)
                {
                    ObjParecer.ID = TmpParecer.ID;

                    RepositoryService.Parecer.Update(ObjParecer);

                    if (!TmpParecer.Status.Equals(ObjParecer.Status) && ObjParecer.Status != null)
                    {
                        this.MudarStatus(TmpParecer.ID.Value, ObjParecer.Status.Value);
                    }

                    return(TmpParecer);
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                ObjParecer.ID = RepositoryService.Parecer.Create(ObjParecer);
                return(ObjParecer);
            }
        }
コード例 #2
0
ファイル: TarefaService.cs プロジェクト: ertprs/crm_fonte
        public void CriarParecerParaSolicitacao(Tarefa mTarefa)
        {
            if (mTarefa.TipoDeAtividade != null && mTarefa.TipoDeAtividade.Name.Contains("Parecer"))
            {
                if (mTarefa.ReferenteA == null)
                {
                    throw new ArgumentException("(CRM) Campo 'Referente a' obrigatório. Operação cancelada.");
                }

                //Só executa se referenteA for solicitacao Cadastro
                if (mTarefa.ReferenteA.Type.ToLower().Equals(SDKore.Crm.Util.Utility.GetEntityName <SolicitacaoCadastro>().ToLower()))
                {
                    if (!mTarefa.Ordem.HasValue)
                    {
                        throw new ArgumentException("(CRM) Campo 'Ordem' obrigatório.Operação cancelada.");
                    }

                    Domain.Model.SolicitacaoCadastro solicCadastro = new Intelbras.CRM2013.Domain.Servicos.SolicitacaoCadastroService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider).ObterPor(mTarefa.ReferenteA.Id);

                    if (solicCadastro == null)
                    {
                        throw new ArgumentException("(CRM) Solicitação de Cadastro não encontrada.Operação cancelada.");
                    }

                    if (solicCadastro.Canal == null)
                    {
                        throw new ArgumentException("(CRM) Canal da Solicitação de Cadastro não informado.Operação cancelada.");
                    }

                    if (solicCadastro.Representante == null)
                    {
                        throw new ArgumentException("(CRM) Key Account/Representante não informado.Operação cancelada.");
                    }

                    if (solicCadastro.TipoDeSolicitacao == null)
                    {
                        throw new ArgumentException("(CRM) Tipo de Solicitação da solicitação de Cadastro relacionada não preenchido.Operação cancelada.");
                    }

                    ParticipantesDoProcesso partProc = new Intelbras.CRM2013.Domain.Servicos.ProcessoDeSolicitacoesService(RepositoryService).BuscarParticipanteProcesso(mTarefa.Ordem.Value, solicCadastro.TipoDeSolicitacao.Id);

                    if (partProc == null)
                    {
                        throw new ArgumentException("(CRM) Participante do Processo não encontrado.Operação cancelada.");
                    }

                    if (!partProc.TipoDoParecer.HasValue)
                    {
                        throw new ArgumentException("(CRM) Tipo do Parecer do Participante do processo não preenchido.Operação cancelada.");
                    }

                    Domain.Model.Parecer mParecer = new Parecer(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider);
                    mParecer.Tarefa = new Lookup(mTarefa.ID.Value, "");
                    mParecer.Canal  = solicCadastro.Canal;
                    mParecer.KeyAccountouRepresentante = solicCadastro.Representante;
                    mParecer.TipodoParecer             = partProc.TipoDoParecer;

                    mParecer = new Intelbras.CRM2013.Domain.Servicos.ParecerService(RepositoryService).Persistir(mParecer);

                    if (!mParecer.ID.HasValue)
                    {
                        throw new ArgumentException("(CRM) Não foi possível criar o parecer para esta atividade.Operação cancelada.");
                    }
                }
            }
        }
コード例 #3
0
ファイル: MSG0149.cs プロジェクト: ertprs/crm_fonte
        public Parecer DefinirPropriedades(Intelbras.Message.Helper.MSG0149 xml)
        {
            var crm = new Parecer(this.Organizacao, this.IsOffline);

            #region Propriedades Crm->Xml

            if (!string.IsNullOrEmpty(xml.CodigoParecer))
            {
                crm.ID = new Guid(xml.CodigoParecer);
            }

            if (xml.PossuiSuporteTecnico.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.DispoeSuporteTecnico), xml.PossuiSuporteTecnico))
                {
                    crm.DispoedeSuporteTecnico = xml.PossuiSuporteTecnico;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do Possui Suporte Técnico não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("DispoedeSuporteTecnico");
            }

            if (!string.IsNullOrEmpty(xml.Distribuidores))
            {
                crm.Distribuidores = xml.Distribuidores;
            }
            else
            {
                crm.AddNullProperty("Distribuidores");
            }

            Contato objContato = new Intelbras.CRM2013.Domain.Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContatoPorCodigoRepresentante(xml.CodigoRepresentante.ToString());
            if (objContato != null)
            {
                crm.KeyAccountouRepresentante = new Lookup(objContato.ID.Value, "");
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "Indentificador do Key Account Representante não encontrado.";
                return(crm);
            }

            if (!string.IsNullOrEmpty(xml.NomeParecer))
            {
                crm.Nome = xml.NomeParecer;
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "Campo Nome obrigatório.";
                return(crm);
            }

            if (xml.AprovadoRedir.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.AprovadoRedir), xml.AprovadoRedir))
                {
                    crm.AprovadopeloREDIR = xml.AprovadoRedir;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do Aprovado Redir não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("AprovadopeloREDIR");
            }

            if (xml.VendeClienteFinal.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.AtuaVendasClientesFinais), xml.VendeClienteFinal))
                {
                    crm.AtuacomVendaparaClientesFinais = xml.VendeClienteFinal;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do 'Atua com Venda Para Clientes Finais' não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("AtuacomVendaparaClientesFinais");
            }

            if (xml.PossuiCompetenciaTecnica.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.CompetenciaTecnica), xml.PossuiCompetenciaTecnica))
                {
                    crm.DispoeCompetenciaTecnicaeComercial = xml.PossuiCompetenciaTecnica;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do 'Possui Competência Técnica' não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("DispoeCompetenciaTecnicaeComercial");
            }

            if (xml.AceitouEnviarSellout.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.EnviaSellOut), xml.AceitouEnviarSellout))
                {
                    crm.AceitouEnviarInformacoesdeSellouteEstoque = xml.AceitouEnviarSellout;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do 'Aceitou Enviar Sell Out' não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("AceitouEnviarInformacoesdeSellouteEstoque");
            }

            if (xml.ValorCapitalProprio.HasValue)
            {
                crm.CapitalProprio = xml.ValorCapitalProprio;
            }
            else
            {
                crm.AddNullProperty("CapitalProprio");
            }

            if (xml.PorcentagemCapitalProprio.HasValue)
            {
                crm.CapitalProprioPct = xml.PorcentagemCapitalProprio.Value;
            }
            else
            {
                crm.AddNullProperty("CapitalProprioPct");
            }

            if (xml.VolumeAnual.HasValue)
            {
                crm.VolumeTotalAnual = xml.VolumeAnual;
            }
            else
            {
                crm.AddNullProperty("VolumeTotalAnual");
            }

            crm.Status = xml.Situacao;

            if (xml.ValorCapitalTerceiro.HasValue)
            {
                crm.CapitaldeTerceiros = xml.ValorCapitalTerceiro.Value;
            }
            else
            {
                crm.AddNullProperty("CapitaldeTerceiros");
            }

            if (!String.IsNullOrEmpty(xml.DescricaoImpactoAbertura))
            {
                crm.QuaisosImpactosdeAberturadoDistribuidor = xml.DescricaoImpactoAbertura;
            }
            else
            {
                crm.AddNullProperty("QuaisosImpactosdeAberturadoDistribuidor");
            }

            if (xml.AtendeCondicaoMinima.HasValue)
            {
                crm.Condicoesatendempadraominimo = xml.AtendeCondicaoMinima;
            }
            else
            {
                crm.AddNullProperty("Condicoesatendempadraominimo");
            }

            if (!string.IsNullOrEmpty(xml.CodigoConta) && xml.CodigoConta.Length == 36)
            {
                crm.Canal = new Lookup(new Guid(xml.CodigoConta), "");
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "Indentificador do 'Canal' não encontrado.";
                return(crm);
            }

            if (!string.IsNullOrEmpty(xml.DescricaoDemandaProduto))
            {
                crm.HademandaporLinhasdeProdutosnosMunicipios = xml.DescricaoDemandaProduto;
            }
            else
            {
                crm.AddNullProperty("HademandaporLinhasdeProdutosnosMunicipios");
            }

            if (xml.PossuiSistemaGestao.HasValue)
            {
                crm.DispoedeSistemadeGestaoAdmeFinanceira = xml.PossuiSistemaGestao;
            }
            else
            {
                crm.AddNullProperty("DispoedeSistemadeGestaoAdmeFinanceira");
            }

            if (!string.IsNullOrEmpty(xml.ObservacaoGerente))
            {
                crm.ObservacoesdoGerenteNacional = xml.ObservacaoGerente;
            }
            else
            {
                crm.AddNullProperty("ObservacoesdoGerenteNacional");
            }

            if (xml.EnvioDocumentacao.HasValue)
            {
                crm.Envioudocumentacaocompleta = xml.EnvioDocumentacao;
            }
            else
            {
                crm.AddNullProperty("Envioudocumentacaocompleta");
            }

            if (!string.IsNullOrEmpty(xml.DefesaAbertura))
            {
                crm.PorqueDefendeAberturadesseDistribuidor = xml.DefesaAbertura;
            }
            else
            {
                crm.AddNullProperty("PorqueDefendeAberturadesseDistribuidor");
            }

            if (!String.IsNullOrEmpty(xml.CodigoTarefa) && xml.CodigoTarefa.Length == 36)
            {
                crm.Tarefa = new Lookup(new Guid(xml.CodigoTarefa), "");
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "Campo 'Código Tarefa' obrigatório.";
                return(crm);
            }

            if (xml.PorcentagemCapitalTerceiro.HasValue)
            {
                crm.CapitaldeTerceirosPct = xml.PorcentagemCapitalTerceiro.Value;
            }
            else
            {
                crm.AddNullProperty("CapitaldeTerceirosPct");
            }

            if (!String.IsNullOrEmpty(xml.FundamentacaoAdequacao))
            {
                crm.FundamentacaoDistribuidorAprovado = xml.FundamentacaoAdequacao;
            }
            else
            {
                crm.AddNullProperty("FundamentacaoDistribuidorAprovado");
            }

            if (!String.IsNullOrEmpty(xml.FundamentacaoAprovacao))
            {
                crm.Fundamentacao = xml.FundamentacaoAprovacao;
            }
            else
            {
                crm.AddNullProperty("Fundamentacao");
            }

            if (xml.ValorPotencialRegiao.HasValue)
            {
                crm.PotencialdaRegiao = xml.ValorPotencialRegiao;
            }
            else
            {
                crm.AddNullProperty("PotencialdaRegiao");
            }

            if (xml.ExclusivoIntelbras.HasValue)
            {
                crm.IraatuarsomentecomprodutosIntelbras = xml.ExclusivoIntelbras;
            }
            else
            {
                crm.AddNullProperty("IraatuarsomentecomprodutosIntelbras");
            }

            if (xml.PossuiParecerRepresentante.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.ParecerKARepresentante), xml.PossuiParecerRepresentante))
                {
                    crm.ParecerKeyAccountRepresentante = xml.PossuiParecerRepresentante;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do 'Parecer Key Account Representante' não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("ParecerKeyAccountRepresentante");
            }

            if (xml.AprovadoPeloComite.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.AprovadoComite), xml.AprovadoPeloComite))
                {
                    crm.AprovadoPeloComite = xml.AprovadoPeloComite;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do 'Aprovado pelo Comitê' não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("AprovadoPeloComite");
            }

            if (xml.ValorFaturamentoRegiao.HasValue)
            {
                crm.FaturamentoDiretoparaaRegiao = xml.ValorFaturamentoRegiao;
            }
            else
            {
                crm.AddNullProperty("FaturamentoDiretoparaaRegiao");
            }

            if (xml.EnviouFichaCadastral.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.FichaAvalicaoDistribuidor), xml.EnviouFichaCadastral))
                {
                    crm.FichadeAvaliacaodoDistribuidor = xml.EnviouFichaCadastral;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do 'Ficha Avaliação Distribuidor' não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("FichadeAvaliacaodoDistribuidor");
            }

            if (!String.IsNullOrEmpty(xml.MotivoAberturaDistribuidor))
            {
                crm.MotivosprincipaisdeaberturadoDistribuidor = xml.MotivoAberturaDistribuidor;
            }
            else
            {
                crm.AddNullProperty("MotivosprincipaisdeaberturadoDistribuidor");
            }

            if (xml.AceitaNovasPraticas.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.DispostoAtuarNovasPraticas), xml.AceitaNovasPraticas))
                {
                    crm.DispostoaAtuarDentrodasNovasPraticas = xml.AceitaNovasPraticas;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do 'Disposto Atuar Novas Práticas' não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("DispostoaAtuarDentrodasNovasPraticas");
            }

            if (!String.IsNullOrEmpty(xml.PrevisaoLinhaCorte))
            {
                crm.PrevisaoLinhadeCorteMinima = xml.PrevisaoLinhaCorte;
            }
            else
            {
                crm.AddNullProperty("PrevisaoLinhadeCorteMinima");
            }

            if (xml.PossuiParecerSetorFinanceiro.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.ParecerSetorFinanc), xml.PossuiParecerSetorFinanceiro))
                {
                    crm.ParecerSetorFinanceiro = xml.PossuiParecerSetorFinanceiro;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do 'Parecer Setor Financeiro' não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("ParecerSetorFinanceiro");
            }

            if (!String.IsNullOrEmpty(xml.ConflitoDistribuidores))
            {
                crm.TeremosConflitoscomosDistribuidores = xml.ConflitoDistribuidores;
            }
            else
            {
                crm.AddNullProperty("TeremosConflitoscomosDistribuidores");
            }

            if (!String.IsNullOrEmpty(xml.ObservacaoRepresentante))
            {
                crm.ObservacoesKeyAccountRepres = xml.ObservacaoRepresentante;
            }
            else
            {
                crm.AddNullProperty("ObservacoesKeyAccountRepres");
            }

            if (xml.LimiteCreditoLiberado.HasValue)
            {
                crm.QualLimitedeCreditoLiberado = xml.LimiteCreditoLiberado;
            }
            else
            {
                crm.AddNullProperty("QualLimitedeCreditoLiberado");
            }

            if (xml.PossuiParecerGerente.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.ParecerGerenteNacVendas), xml.PossuiParecerGerente))
                {
                    crm.ParecerdoGerenteNacionaldeVendas = xml.PossuiParecerGerente;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do 'Parecer Gerente Nacional de Vendas' não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("ParecerdoGerenteNacionaldeVendas");
            }

            if (xml.PorcentagemRegiao.HasValue)
            {
                crm.FaturamentoPorcentagemRegiao = xml.PorcentagemRegiao.Value;
            }
            else
            {
                crm.AddNullProperty("FaturamentoPorcentagemRegiao");
            }

            if (xml.DistribuidorAprovado.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.DistribuidorAprovado), xml.DistribuidorAprovado))
                {
                    crm.DistribuidorAprovado = xml.DistribuidorAprovado;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do 'Distribuidor Aprovado' não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("DistribuidorAprovado");
            }

            if (xml.AtuaVendaSemNota.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.VendaSemNotaFiscal), xml.AtuaVendaSemNota))
                {
                    crm.AtuacomVendasemNotaFiscal = xml.AtuaVendaSemNota;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do 'Atua Sem Nota Fiscal' não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("AtuacomVendasemNotaFiscal");
            }

            if (!String.IsNullOrEmpty(xml.ObservacaoSetorFinaceiro))
            {
                crm.ObservacoesSetorFinanceiro = xml.ObservacaoSetorFinaceiro;
            }
            else
            {
                crm.AddNullProperty("ObservacoesSetorFinanceiro");
            }

            if (xml.DistribuidorAdequado.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.DistribuidorAdequado), xml.DistribuidorAdequado))
                {
                    crm.DistribuidorAdequado = xml.DistribuidorAdequado;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do 'Distribuidor Adequado' não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("DistribuidorAdequado");
            }

            if (xml.PorcentagemPotencialRegiao.HasValue)
            {
                crm.PotencialPorcentagem = xml.PorcentagemPotencialRegiao.Value;
            }
            else
            {
                crm.AddNullProperty("PotencialPorcentagem");
            }

            if (xml.PossuiExperiencia.HasValue)
            {
                if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.Experiencia5AnosDistri), xml.PossuiExperiencia))
                {
                    crm.PossuiExperienciade5anosemDistribuicao = xml.PossuiExperiencia;
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Indentificador do 'Possui Experiência de 5 anos em distribuição' não encontrado.";
                    return(crm);
                }
            }
            else
            {
                crm.AddNullProperty("PossuiExperienciade5anosemDistribuicao");
            }
            //
            if (xml.PorcentagemFaturamento.HasValue)
            {
                crm.PorcentagemFaturamento = xml.PorcentagemFaturamento.Value;
            }
            else
            {
                crm.AddNullProperty("PorcentagemFaturamento");
            }

            if (System.Enum.IsDefined(typeof(Intelbras.CRM2013.Domain.Enum.Parecer.TipoParecer), xml.TipoParecer))
            {
                crm.TipodoParecer = xml.TipoParecer;
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "Indentificador do 'Tipo do Parecer' não encontrado.";
                return(crm);
            }

            string tipoProprietario;

            if (xml.TipoProprietario == "team" || xml.TipoProprietario == "systemuser")
            {
                tipoProprietario = xml.TipoProprietario;
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "Tipo Proprietário não Enviado.";
                return(crm);
            }

            #endregion

            return(crm);
        }
コード例 #4
0
ファイル: MSG0149.cs プロジェクト: ertprs/crm_fonte
        public string Enviar(Parecer objModel)
        {
            string resposta = string.Empty;

            return(resposta);
        }
コード例 #5
0
        public Parecer DefinirPropriedades(Intelbras.Message.Helper.MSG0150 xml)
        {
            Parecer retorno = new Parecer(this.Organizacao, this.IsOffline);

            return(retorno);
        }