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); } }
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."); } } } }
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); }
public string Enviar(Parecer objModel) { string resposta = string.Empty; return(resposta); }
public Parecer DefinirPropriedades(Intelbras.Message.Helper.MSG0150 xml) { Parecer retorno = new Parecer(this.Organizacao, this.IsOffline); return(retorno); }