private Intelbras.Message.Helper.MSG0155 DefinirPropriedadesPlugin(SolicitacaoBeneficio crm) { Intelbras.Message.Helper.MSG0155 objPollux = new Pollux.MSG0155(Domain.Enum.Sistemas.RetornaSistema(Domain.Enum.Sistemas.Sistema.CRM), crm.Nome.Truncate(40)); objPollux.CodigoSolicitacaoBeneficio = crm.ID.ToString(); objPollux.ValorAprovado = crm.ValorAprovado; if (!String.IsNullOrEmpty(crm.Nome)) { objPollux.NomeSolicitacaoBeneficio = crm.Nome; } else { throw new ArgumentException("(CRM) Nome SolicitacaoBeneficio não preenchido."); } if (crm.UnidadedeNegocio != null) { UnidadeNegocio unidadeNegocio = new Servicos.UnidadeNegocioService(this.Organizacao, this.IsOffline).BuscaUnidadeNegocio(crm.UnidadedeNegocio.Id); if (unidadeNegocio != null) { objPollux.CodigoUnidadeNegocio = unidadeNegocio.ChaveIntegracao; } } else { throw new ArgumentException("(CRM) UnidadedeNegocio não preenchida."); } if (!String.IsNullOrEmpty(crm.Nome)) { objPollux.DescricaoSituacaoIrregular = crm.SituacaoIrregular; } if (crm.BeneficioCanal != null) { objPollux.CodigoBeneficioCanal = crm.BeneficioCanal.Id.ToString(); } else { throw new ArgumentException("(CRM) BeneficioCanal não preenchido."); } if (crm.ValorSolicitado.HasValue) { objPollux.ValorSolicitado = crm.ValorSolicitado.Value; } objPollux.DescricaoSolicitacao = crm.Descricao; if (crm.StatusSolicitacao.HasValue) { objPollux.SituacaoSolicitacaoBeneficio = crm.StatusSolicitacao.Value; } if (crm.State.HasValue) { objPollux.Situacao = crm.State.Value; } if (crm.Status.HasValue) { objPollux.RazaoStatusSolicitacaoBeneficio = crm.Status.Value; } if (crm.FormaPagamento != null) { objPollux.CodigoFormaPagamento = crm.FormaPagamento.Id.ToString(); } else { throw new ArgumentException("(CRM) FormaPagamento não preenchida."); } if (crm.Canal != null) { objPollux.CodigoConta = crm.Canal.Id.ToString(); } else { throw new ArgumentException("(CRM) Canal não preenchido."); } if (crm.BeneficioPrograma != null) { objPollux.CodigoBeneficio = crm.BeneficioPrograma.Id.ToString(); Beneficio benefProg = new Intelbras.CRM2013.Domain.Servicos.BeneficioService(this.Organizacao, this.IsOffline).ObterPor(crm.BeneficioPrograma.Id); if (benefProg != null && benefProg.Codigo.HasValue) { objPollux.BeneficioCodigo = benefProg.Codigo.Value; } } else { throw new ArgumentException("(CRM) BeneficioPrograma não preenchido."); } objPollux.Proprietario = "259A8E4F-15E9-E311-9420-00155D013D39"; objPollux.TipoProprietario = "systemuser"; if (crm.TipoSolicitacao != null) { objPollux.CodigoTipoSolicitacao = crm.TipoSolicitacao.Id.ToString(); } else { throw new ArgumentException("(CRM) CodigoTipoSolicitacao não enviado."); } if (crm.SituacaoIrregularidades.HasValue) { objPollux.SolicitacaoIrregular = crm.SituacaoIrregularidades.Value; } objPollux.ProdutoSolicitacaoItens = this.RetornaListaItens(crm.ID.Value); if (crm.AlteradaParaStockRotation.HasValue) { objPollux.AlteradaStockRotation = crm.AlteradaParaStockRotation.Value; } else { objPollux.AlteradaStockRotation = false; } if (crm.TipoPriceProtection.HasValue) { objPollux.TipoPriceProtection = crm.TipoPriceProtection.Value; } else { objPollux.TipoPriceProtection = (int)Enum.SolicitacaoBeneficio.TipoPriceProtection.Consumo; } //Novos Campos if (crm.AjusteSaldo.HasValue) { objPollux.SolicitacaoAjuste = crm.AjusteSaldo.Value; } if (crm.StatusCalculoPriceProtection.HasValue) { objPollux.StatusCalculoPriceProtection = crm.StatusCalculoPriceProtection.Value; } if (crm.ValorAbater.HasValue) { objPollux.ValorAbater = crm.ValorAbater.Value; } else { objPollux.ValorAbater = new decimal(0); } Usuario assistente = new Servicos.UsuarioService(this.Organizacao, this.IsOffline).ObterPor(crm.Assistente.Id); if (assistente != null) { objPollux.CodigoAssistente = assistente.CodigoAssistenteComercial.Value; } else { throw new ApplicationException("(CRM) Assistente não cadastrado / Obrigatório."); } Usuario supervisor = new Servicos.UsuarioService(this.Organizacao, this.IsOffline).ObterPor(crm.Supervisor.Id); if (supervisor != null) { objPollux.CodigoSupervisorEMS = supervisor.CodigoSupervisorEMS; } else { throw new ApplicationException("(CRM) Supervisor não cadastrado / Obrigatório."); } if (crm.Filial != null) { objPollux.CodigoFilial = crm.Filial.Id.ToString(); } if (crm.StatusPagamento.HasValue) { objPollux.StatusPagamento = crm.StatusPagamento; } if (crm.ValorPago.HasValue) { objPollux.ValorPago = crm.ValorPago.Value; } if (crm.ValorCancelado.HasValue) { objPollux.ValorCancelado = crm.ValorCancelado.Value; } if (crm.DataCriacao.HasValue) { objPollux.DataCriacao = crm.DataCriacao.Value.ToLocalTime(); } else { throw new ArgumentException("(CRM) DataCriacao não cadastrada / Obrigatório."); } if (crm.DataValidade.HasValue) { objPollux.DataValidade = crm.DataValidade; } else { throw new ArgumentException("(CRM) DataValidade não cadastrada / Obrigatório."); } if (crm.CondicaoPagamento != null) { CondicaoPagamento condicaoPagamento = new Servicos.CondicaoPagamentoService(this.Organizacao, this.IsOffline).BuscaCondicaoPagamento(crm.CondicaoPagamento.Id); if (condicaoPagamento != null) { if (condicaoPagamento.Codigo.HasValue) { objPollux.CodigoCondicaoPagamento = condicaoPagamento.Codigo.Value; } } } if (crm.DescartarVerba.HasValue) { objPollux.DescartarVerba = crm.DescartarVerba.Value; } if (!string.IsNullOrEmpty(crm.TrimestreCompetencia)) { objPollux.TrimestreCompetencia = crm.TrimestreCompetencia; } else { throw new ArgumentException("(CRM) TrimestreCompetencia não cadastrada / Obrigatório."); } objPollux.FormaCancelamento = crm.FormaCancelamento; return(objPollux); }
private Intelbras.Message.Helper.MSG0152 DefinirPropriedadesPlugin(SolicitacaoBeneficio crm) { Intelbras.Message.Helper.MSG0152 objPollux = new Pollux.MSG0152(Domain.Enum.Sistemas.RetornaSistema(Domain.Enum.Sistemas.Sistema.CRM), Helper.Truncate(crm.Nome, 40)); objPollux.CodigoSolicitacaoBeneficio = crm.ID.ToString(); objPollux.ValorAprovado = crm.ValorAprovado; if (!String.IsNullOrEmpty(crm.Nome)) { objPollux.NomeSolicitacaoBeneficio = crm.Nome; } else { throw new ArgumentException("(CRM) Nome SolicitacaoBeneficio não preenchido."); } if (crm.UnidadedeNegocio != null) { UnidadeNegocio unidadeNegocio = new Servicos.UnidadeNegocioService(this.Organizacao, this.IsOffline).BuscaUnidadeNegocio(crm.UnidadedeNegocio.Id); if (unidadeNegocio != null) { objPollux.CodigoUnidadeNegocio = unidadeNegocio.ChaveIntegracao; } } else { throw new ArgumentException("(CRM) UnidadedeNegocio não preenchida."); } if (crm.ValorAcao.HasValue) { objPollux.ValorAcao = crm.ValorAcao.Value; } if (crm.ValorAcao.HasValue == false && crm.AjusteSaldo == false) { throw new ArgumentException("(CRM) Valor ação é obrigatório!"); } if (!String.IsNullOrEmpty(crm.SituacaoIrregular)) { objPollux.DescricaoSituacaoIrregular = crm.SituacaoIrregular; } if (crm.AcaoSubsidiadaVmc != null) { objPollux.CodigoAcaoSubsidiadaVMC = crm.AcaoSubsidiadaVmc.Id.ToString(); } if (crm.AcaoSubsidiadaVmc == null && crm.AjusteSaldo == false) { throw new ArgumentException("(CRM) AcaoSubsidiadaVmc não preenchida."); } if (crm.BeneficioCanal != null) { objPollux.CodigoBeneficioCanal = crm.BeneficioCanal.Id.ToString(); } else { throw new ArgumentException("(CRM) BeneficioCanal não preenchido."); } if (crm.ValorSolicitado.HasValue) { objPollux.ValorSolicitado = crm.ValorSolicitado.Value; } if (!String.IsNullOrEmpty(crm.Descricao)) { objPollux.DescricaoSolicitacao = crm.Descricao; } if (crm.StatusSolicitacao.HasValue) { objPollux.SituacaoSolicitacaoBeneficio = crm.StatusSolicitacao.Value; } if (crm.State.HasValue) { objPollux.Situacao = crm.State.Value; } else { objPollux.Situacao = 0; //ativo } if (crm.Status.HasValue) { objPollux.RazaoStatusSolicitacaoBeneficio = crm.Status.Value; } if (crm.FormaPagamento != null) { objPollux.CodigoFormaPagamento = crm.FormaPagamento.Id.ToString(); } else { throw new ArgumentException("(CRM) FormaPagamento não preenchida."); } if (crm.DataIniAcao.HasValue) { objPollux.DataInicioAcao = crm.DataIniAcao.Value; } if (crm.DataFimAcao.HasValue) { objPollux.DataPrevistaRetornoAcao = crm.DataFimAcao.Value.ToLocalTime(); } if (crm.DataFimAcao.HasValue == false && crm.AjusteSaldo == false) { throw new ArgumentException("(CRM) Data Prevista retorno ação é obrigatório!"); } if (crm.Canal != null) { objPollux.CodigoConta = crm.Canal.Id.ToString(); } else { throw new ArgumentException("(CRM) Canal não preenchido."); } if (crm.BeneficioPrograma != null) { objPollux.CodigoBeneficio = crm.BeneficioPrograma.Id.ToString(); Beneficio benefProg = new Intelbras.CRM2013.Domain.Servicos.BeneficioService(this.Organizacao, this.IsOffline).ObterPor(crm.BeneficioPrograma.Id); if (benefProg != null && benefProg.Codigo.HasValue) { objPollux.BeneficioCodigo = benefProg.Codigo.Value; } } else { throw new ArgumentException("(CRM) BeneficioPrograma não preenchido."); } if (crm.AjusteSaldo.HasValue) { objPollux.SolicitacaoAjuste = crm.AjusteSaldo.Value; } if (crm.ValorAbater.HasValue) { objPollux.ValorAbater = (decimal)crm.ValorAbater.Value; } else { objPollux.ValorAbater = new decimal(0); } objPollux.Proprietario = "259A8E4F-15E9-E311-9420-00155D013D39"; objPollux.TipoProprietario = "systemuser"; if (crm.TipoSolicitacao != null) { objPollux.CodigoTipoSolicitacao = crm.TipoSolicitacao.Id.ToString(); } else { throw new ArgumentException("(CRM) CodigoTipoSolicitacao não enviado."); } if (crm.SituacaoIrregularidades.HasValue) { objPollux.SolicitacaoIrregular = crm.SituacaoIrregularidades.Value; } objPollux.ProdutoSolicitacaoItens = this.RetornaListaItens(crm.ID.Value); //Novos Campos if (crm.Assistente == null) { throw new ArgumentException("(CRM) Assistente Na Solicitação não cadastrado / Campo Obrigatório."); } Usuario assistente = new Servicos.UsuarioService(this.Organizacao, this.IsOffline).ObterPor(crm.Assistente.Id); if (assistente != null) { objPollux.CodigoAssistente = assistente.CodigoAssistenteComercial.Value; } else { throw new ArgumentException("(CRM) Assistente não cadastrado / Obrigatório."); } Usuario supervisor = new Servicos.UsuarioService(this.Organizacao, this.IsOffline).ObterPor(crm.Supervisor.Id); if (supervisor != null) { objPollux.CodigoSupervisorEMS = supervisor.CodigoSupervisorEMS; } else { throw new ArgumentException("(CRM) Supervisor não cadastrado / Obrigatório."); } if (crm.Filial != null) { objPollux.CodigoFilial = crm.Filial.Id.ToString(); } if (crm.StatusPagamento.HasValue) { objPollux.StatusPagamento = crm.StatusPagamento; } if (crm.ValorPago.HasValue) { objPollux.ValorPago = crm.ValorPago.Value; } if (crm.ValorCancelado.HasValue) { objPollux.ValorCancelado = crm.ValorCancelado.Value; } if (crm.DataCriacao.HasValue) { objPollux.DataCriacao = crm.DataCriacao.Value.ToLocalTime(); } else { objPollux.DataCriacao = DateTime.MinValue; //throw new ArgumentException("(CRM) DataCriacao não cadastrada / Obrigatório."); } if (crm.DataValidade.HasValue) { objPollux.DataValidade = crm.DataValidade; } else { throw new ArgumentException("(CRM) DataValidade não cadastrada / Obrigatório."); } if (crm.CondicaoPagamento != null) { CondicaoPagamento condicaoPagamento = new Servicos.CondicaoPagamentoService(this.Organizacao, this.IsOffline).BuscaCondicaoPagamento(crm.CondicaoPagamento.Id); if (condicaoPagamento != null) { if (condicaoPagamento.Codigo.HasValue) { objPollux.CodigoCondicaoPagamento = condicaoPagamento.Codigo.Value; } } } if (crm.DescartarVerba.HasValue) { objPollux.DescartarVerba = crm.DescartarVerba.Value; } if (!string.IsNullOrEmpty(crm.TrimestreCompetencia)) { objPollux.TrimestreCompetencia = crm.TrimestreCompetencia; } else { throw new ArgumentException("(CRM) TrimestreCompetencia não cadastrada / Obrigatório."); } if (crm.FormaCancelamento.HasValue) { objPollux.FormaCancelamento = crm.FormaCancelamento.Value; } if (crm.ResultadoPrevisto.HasValue) { objPollux.ResultadoPrevisto = crm.ResultadoPrevisto.Value; } if (crm.ResultadoAlcancado.HasValue) { objPollux.ResultadoAlcancado = crm.ResultadoAlcancado.Value; } //Busca as unidades de negócio relacionadas ao Benefício do canal List <SolicitacaoXUnidades> lstUnidadesBenef = new Servicos.SolicitacaoXUnidadesService(this.Organizacao, this.IsOffline).ListarPor(crm.ID.Value); objPollux.UnidadesRelacionadas = this.ConverteLista(lstUnidadesBenef); #endregion return(objPollux); }