private void AtenderISOL() { if (!Ocorrencia.DataDeConclusao.HasValue) { if (Ocorrencia.RazaoStatus != null && Ocorrencia.RazaoStatus.Value == (int)StatusDaOcorrencia.Fechada) { throw new ArgumentException("Preencha o campo Data de Conclusão para alterar o Status para fechado!"); } } else if (Ocorrencia.DataOrigem != null && Ocorrencia.DataOrigem.HasValue && Ocorrencia.DataDeConclusao != null && Ocorrencia.DataDeConclusao.Value < Ocorrencia.DataOrigem) { throw new ArgumentException("A Data de Conclusão não pode ser menor que a Data de Abertura da Ocorrência!"); } if (Ocorrencia.DataDeConclusao != null && Ocorrencia.VeiculoId != null) { var veiculo = new CRM2013.Domain.Servicos.RepositoryService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline).Veiculo.Retrieve(Ocorrencia.VeiculoId.Id); if (veiculo != null && veiculo.DataDeInstalacao == null) { veiculo.DataDeInstalacao = Ocorrencia.DataDeConclusao; var veiculoTemp = new Domain.Servicos.VeiculoService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline).Persistir(veiculo); } } this.CalculaSLADaISOL(); this.ValidaVigenciaContrato(); }
private void VerificaDataDeIntalacao(Ocorrencia ocorrencia, IPluginExecutionContext context, object service) { if (ocorrencia.DataDeConclusao != null && ocorrencia.VeiculoId != null) { var veiculo = new CRM2013.Domain.Servicos.RepositoryService(context.OrganizationName, false, service).Veiculo.Retrieve(ocorrencia.VeiculoId.Id); if (veiculo != null && veiculo.DataDeInstalacao == null) { veiculo.DataDeInstalacao = ocorrencia.DataDeConclusao; var veiculoTemp = new Domain.Servicos.VeiculoService(context.OrganizationName, false, service).Persistir(veiculo); } } return; }