public List <Apolice> ListarPorCarroId(int carroId) { SqlCommand cmd = new SqlCommand("SELECT id, dt_inicio, dt_fim, vl_franquia, vl_premio from apolice " + "WHERE carro_id = @carro_id"); cmd.Parameters.Add(new SqlParameter("@carro_id", carroId)); ConexaoBanco banco = new ConexaoBanco(); banco.AbrirConexao(); SqlDataReader reader = banco.Pesquisar(cmd); List <Apolice> lstRetorno = new List <Apolice>(); while (reader.Read()) { Apolice obj = new Apolice(); obj.Id = reader.GetInt32(0); obj.DtInicio = reader.GetDateTime(1); obj.DtFim = reader.GetDateTime(2); obj.ValorFranquia = reader.GetDecimal(3); obj.ValorPremio = reader.GetDecimal(4); lstRetorno.Add(obj); } reader.Close(); banco.FecharConexao(); return(lstRetorno); }
public ServiceReturn Incluir(Apolice apolice) { try { var check = ObterPorNumero(apolice.Numero, false); if (check == null) { apoliceRepository.Incluir(apolice); apoliceRepository.Salvar(); return(new ServiceReturn() { success = true, title = "Sucesso", message = "Apólice cadastrada com sucesso!" }); } return(new ServiceReturn() { success = false, title = "Erro", message = "Não foi possível cadastrar a apólice pois já existe um registro com o mesmo número!" }); } catch (Exception ex) { return(new ServiceReturn() { success = false, title = "Erro", message = string.Format("Um erro do tipo {0} foi disparado ao cadastrar a apólice! Mensagem: {1}", ex.GetType(), ex.Message) }); } }
public Retorno <object> Add(Apolice model) { Retorno <object> oRet = new Retorno <object>(); try { if (String.IsNullOrEmpty(model.CPFCNPJ)) { throw new Exception("Informe o CPF/CNPJ"); } if (String.IsNullOrEmpty(model.Placa)) { throw new Exception("Informe a placa"); } if (model.ValorPremio <= 0) { throw new Exception("Informe um valor válido"); } _seguroDBContext.Add(model); _seguroDBContext.SaveChanges(); oRet.setSuccesso(); oRet.Object = model; } catch (System.Exception ex) { oRet.setErro(ex.Message); } return(oRet); }
public Apolice Selecionar(Apolice objEntrada) { SqlCommand cmd; ConexaoBanco banco = new ConexaoBanco(); banco.AbrirConexao(); cmd = new SqlCommand("SELECT id, dt_inicio, dt_fim, vl_franquia, vl_premio from apolice " + "WHERE id = @id"); cmd.Parameters.Add(new SqlParameter("@id", objEntrada.Id)); SqlDataReader reader = banco.Pesquisar(cmd); reader.Read(); Apolice obj = new Apolice(); obj.Id = reader.GetInt32(0); obj.DtInicio = reader.GetDateTime(1); obj.DtFim = reader.GetDateTime(2); obj.ValorFranquia = reader.GetDecimal(3); obj.ValorPremio = reader.GetDecimal(4); reader.Close(); banco.FecharConexao(); return(obj); }
public ActionResult DeleteConfirmed(int id) { Apolice apolice = db.Apolice.Find(id); db.Apolice.Remove(apolice); db.SaveChanges(); return(RedirectToAction("Index")); }
public IActionResult Put(int id, [FromBody] Apolice model) { Retorno oRet = new Retorno(); oRet = _apoliceNegocio.Update(id, model); return(Ok(oRet)); }
public IActionResult Post([FromBody] Apolice model) { Retorno <object> oRet = new Retorno <object>(); oRet = _apoliceNegocio.Add(model); return(Ok(oRet)); }
public IActionResult EditApolice(int id, Apolice apolice) { if (id != apolice.Id) { return(BadRequest()); } _apoliceService.Update(apolice); return(RedirectToAction(nameof(Index))); }
public void InsertOrUpdate(Apolice apolice){ if (apolice.Id == default(int)) { context.Apolices.Add(apolice); >>>>>>> 6bef4ea7199f182f1dcc5a1156a157494ff9f29c } else { context.Entry(apolice).State = EntityState.Modified; } }
// GET: Apolice/Create public ActionResult Create(int?propostaId) { Apolice apolice = new Apolice(); PropostaDAO propostaDao = new PropostaDAO(); apolice.Proposta = propostaDao.GetProposta(propostaId); apolice.Seguradoras = db.Seguradora.ToList(); apolice.ValorContrato = 0; return(View(apolice)); }
public Apolice Obter(int id) { Apolice apolice = null; try { apolice = apoliceRepository.ObterPorId(id); } catch (Exception ex) { } return(apolice); }
public Apolice ObterPorNumero(string numero, bool withTracking) { Apolice apolice = null; try { apolice = apoliceRepository.ObterPorNumero(numero, withTracking); } catch (Exception ex) { } return(apolice); }
// GET: Apolice/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Apolice apolice = db.Apolice.Find(id); if (apolice == null) { return(HttpNotFound()); } return(View(apolice)); }
// GET: Apolice/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Apolice apolice = Service.Obter(id.Value); if (apolice == null) { return(HttpNotFound()); } return(PartialView(apolice)); }
public ActionResult SendForm(Apolice apolice) { //if (ModelState.IsValid) //{ db.Comissao.Add(apolice.Comissao); db.SaveChanges(); apolice.CodigoComissao = apolice.Comissao.Id; db.Apolice.Add(apolice); db.SaveChanges(); PropostaDAO propostaDao = new PropostaDAO(); Proposta proposta = propostaDao.GetProposta(apolice.CodigoProposta); //Mudando Status para fins de organização propostaDao.MudarStatus(proposta.Id, (int)StatusProposta.ATENDIDO); //criando valor da proposta do condutor ValorProposta valorProposta = new ValorProposta(); valorProposta.Valor = apolice.ValorContrato; valorProposta.CodigoCondutor = proposta.Segurado.Id; valorProposta.DataVencimento = new DateTime(2016, 05, 12); valorProposta.CodigoApolice = apolice.Id; db.ValorProposta.Add(valorProposta); db.SaveChanges(); //} Usuario usuario = (Usuario)Session["UsuarioLogado"]; //PREPARANDO EMAIL apolice.Seguradora = db.Seguradora.Find(apolice.CodigoSeguradora); apolice.formularioApoliceHtml = apolice.formularioApoliceHtml.Replace("#seguradoraEmail", apolice.Seguradora.NomeSeguradora.ToString()); apolice.formularioApoliceHtml = apolice.formularioApoliceHtml.Replace("#valorContratoEmail", apolice.ValorContrato.ToString()); apolice.formularioApoliceHtml = apolice.formularioApoliceHtml.Replace("#corretorEmail", "Seu Corretor - " + usuario.Nome); string url = Request.Url.AbsoluteUri.Replace(Request.Url.AbsolutePath, ""); apolice.formularioApoliceHtml = apolice.formularioApoliceHtml.Replace("#EnderecoConfirmaEmail", url + "/Proposta/AceitarProposta?" + "email=" + proposta.Segurado.Email + "&codigoProposta=" + apolice.CodigoProposta + "&codigoApolice=" + apolice.Id); UtilEmailMessage utilEmail = new UtilEmailMessage(); utilEmail.EnviarEmail("[BUSCA SEGUROS] Sua Proposta de Cotação de Seguro", proposta.Segurado.Email, apolice.formularioApoliceHtml); return(View(apolice)); }
// GET: Apolice/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Apolice apolice = Service.Obter(id.Value); ViewBag.Empresas = new SelectList(EmpresaService.ObterTodos(), "IdEmpresa", "NomeFantasia", apolice.Empresa?.IdEmpresa); if (apolice == null) { return(HttpNotFound()); } return(PartialView(apolice)); }
//Metodo de Editar um Apolice po ID public void Update(Apolice obj) { if (!_context.Apolice.Any(x => x.Id == obj.Id)) { throw new NotFoundException("Id nao existe"); } try { _context.Update(obj); _context.SaveChanges(); } catch (DbConcurrencyException e) { throw new DbConcurrencyException(e.Message); } }
public ActionResult Edit([Bind(Include = "IdApolice,Numero,DataValidade,Observacao,Criacao,Criador,Atualizacao,Atualizador,Ativo,EmpresaId,Seguradora,Seguro,DataInicioVigencia")] Apolice apolice, FormCollection form) { if (ModelState.IsValid) { apolice.Atualizacao = DateTime.Now; apolice.Atualizador = User.Identity.Name; #region //apolice.Empresa = EmpresaService.ObterPorId(int.Parse(form["Empresa.IdEmpresa"])); #endregion var check = Service.Atualizar(apolice); return(Json(check, JsonRequestBehavior.AllowGet)); } return(PartialView(apolice)); }
public void Alterar(Apolice objEntrada) { SqlCommand cmd = new SqlCommand("UPDATE apolice SET dt_inicio = @dt_inicio, dt_fim = @dt_fim, vl_franquia = @vl_franquia, vl_premio = @vl_premio " + "WHERE id = @id"); cmd.Parameters.Add(new SqlParameter("@id", objEntrada.Id)); cmd.Parameters.Add(new SqlParameter("@dt_inicio", objEntrada.DtInicio)); cmd.Parameters.Add(new SqlParameter("@dt_fim", objEntrada.DtFim)); cmd.Parameters.Add(new SqlParameter("@vl_franquia", objEntrada.ValorFranquia)); cmd.Parameters.Add(new SqlParameter("@vl_premio", objEntrada.ValorPremio)); ConexaoBanco banco = new ConexaoBanco(); banco.AbrirConexao(); banco.Executar(cmd); banco.FecharConexao(); }
public ActionResult Create([Bind(Include = "IdApolice,Numero,DataValidade,Observacao,Criacao,Criador,Atualizacao,Atualizador,Ativo,EmpresaId,Seguradora,Seguro,DataInicioVigencia")] Apolice apolice, FormCollection form) { if (ModelState.IsValid) { apolice.Criador = apolice.Atualizador = User.Identity.Name; #region //apolice.Empresa = EmpresaService.ObterPorId(int.Parse(form["Empresa.IdEmpresa"])); #endregion var check = Service.Incluir(apolice); return(Json(check, JsonRequestBehavior.AllowGet)); } ViewBag.Empresas = new SelectList(EmpresaService.ObterTodos(), "IdEmpresa", "NomeFantasia"); return(PartialView(apolice)); }
public void Inserir(Apolice objEntrada) { SqlCommand cmd = new SqlCommand("INSERT INTO apolice(carro_id, dt_inicio, dt_fim, vl_franquia, vl_premio) " + "VALUES (@carro_id, @dt_inicio, @dt_fim, @vl_franquia, @vl_premio)"); cmd.Parameters.Add(new SqlParameter("@carro_id", objEntrada.Carro.Id)); cmd.Parameters.Add(new SqlParameter("@dt_inicio", objEntrada.DtInicio)); cmd.Parameters.Add(new SqlParameter("@dt_fim", objEntrada.DtFim)); cmd.Parameters.Add(new SqlParameter("@vl_franquia", objEntrada.ValorFranquia)); cmd.Parameters.Add(new SqlParameter("@vl_premio", objEntrada.ValorPremio)); ConexaoBanco banco = new ConexaoBanco(); banco.AbrirConexao(); banco.Executar(cmd); banco.FecharConexao(); }
private void btnAlterar_Click(object sender, EventArgs e) { try { Apolice apolice = new Apolice(); apolice.Id = Convert.ToInt32(dgvApolices.SelectedRows[0].Cells[0].Value); frmIncluirAlterarApolice janela = new frmIncluirAlterarApolice(apolice); if (janela.ShowDialog() == DialogResult.OK) { AtualizarDgv(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
void Consistir(Apolice objEntrada) { if (objEntrada.DtInicio >= objEntrada.DtFim) { throw new ConsistenciaException("Por favor, Início da vigência deve ser menor que o campo Fim da vigência"); } if (objEntrada.ValorFranquia == 0) { throw new ConsistenciaException("Por favor, preencha o campo Valor da Franquia de forma correta"); } if (objEntrada.ValorPremio == 0) { throw new ConsistenciaException("Por favor, preencha o campo Valor da Prêmio de forma correta"); } if (objEntrada.ValorPremio <= objEntrada.ValorFranquia) { throw new ConsistenciaException("O valor do prêmio deve ser maior que o valor da franquia"); } }
// GET: Apolice/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Apolice apolice = db.Apolice.Find(id); PropostaDAO propostaDao = new PropostaDAO(); propostaDao.GetProposta(apolice.CodigoProposta); apolice.Proposta = propostaDao.GetProposta(apolice.CodigoProposta); apolice.Comissao = db.Comissao.Find(apolice.CodigoComissao); apolice.Seguradora = db.Seguradora.Find(apolice.CodigoSeguradora); if (apolice == null) { return(HttpNotFound()); } return(View(apolice)); }
public Retorno <object> Get(int id) { Retorno <object> oRet = new Retorno <object>(); var apolice = new Apolice(); try { apolice = (from p in _seguroDBContext.Apolice where p.NumApolice == id select p).FirstOrDefault(); oRet.setSuccesso(); oRet.Object = apolice; } catch (System.Exception ex) { oRet.setErro(ex.Message); } return(oRet); }
private void AlterarApolice() { Apolice apolice = new Apolice(); apolice.Id = _apolice.Id; #region Prepara a apolice a ser inserida apolice.DtFim = dtpFimVigencia.Value; apolice.DtInicio = dtpInicioVigencia.Value; decimal.TryParse(txtVlFranquia.Text, out decimal valorFranquia); decimal.TryParse(txtVlPremio.Text, out decimal valorPremio); apolice.ValorFranquia = valorFranquia; apolice.ValorPremio = valorPremio; #endregion new ApoliceController().Alterar(apolice); }
private void btnNovaApolice_Click(object sender, EventArgs e) { try { Apolice apolice = new Apolice(); apolice.Carro = new Carro(); //carro que vai ter a apolice inserida apolice.Carro.Id = _carro.Id; frmIncluirAlterarApolice janela = new frmIncluirAlterarApolice(apolice); if (janela.ShowDialog() == DialogResult.OK) { AtualizarDgv(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public async Task <Unit> Handle(CriarApoliceCommand request, CancellationToken cancellationToken) { var segurado = await _seguradoRepository.Obter(request.CodigoSegurado); if (segurado == null) { await _mediatorHandler.RaiseAppEvent(this, "Não foi encontrado o segurado com o código informado."); return(Unit.Value); } var numeroApolice = NumeroApolice.Create(request.Apolice); var vigencia = PeriodoVigencia.Create(request.InicioVigencia, request.FinalVigencia); var premioTotal = PremioApolice.Create(request.PremioTotal); var premioLiquido = PremioApolice.Create(request.PremioLiquido); var result = Result.Combine(numeroApolice, vigencia, premioLiquido, premioTotal); if (result.IsFailure) { await _mediatorHandler.RaiseAppEvents(this, result.Errors); return(Unit.Value); } var apolice = new Apolice( numeroApolice.Value, vigencia.Value, premioTotal.Value, premioLiquido.Value, segurado.Codigo ); await _apoliceRepository.Adicionar(apolice); await _apoliceRepository.Salvar(); return(Unit.Value); }
protected override void OnActionExecuting(ActionExecutingContext filterContext) { var serialized = Request.Form["apolice"]; if (serialized != null) { // Form was posted containing serialized data _apolice = (Apolice) new MvcSerializer().Deserialize(serialized); try { TryUpdateModel(_apolice); } catch (Exception) { _apolice = (Apolice)TempData["apolice"] ?? new Apolice(); } } else { _apolice = (Apolice)TempData["apolice"] ?? new Apolice(); } }
public Retorno Update(int id, Apolice model) { Retorno oRet = new Retorno(); try { if (String.IsNullOrEmpty(model.CPFCNPJ)) { throw new Exception("Informe o CPF/CNPJ"); } if (String.IsNullOrEmpty(model.Placa)) { throw new Exception("Informe a placa"); } if (model.ValorPremio <= 0) { throw new Exception("Informe um valor válido"); } var apolice = (from p in _seguroDBContext.Apolice where p.NumApolice == id select p).FirstOrDefault(); if (apolice != null) { apolice.CPFCNPJ = model.CPFCNPJ; apolice.Placa = model.Placa; apolice.ValorPremio = model.ValorPremio; _seguroDBContext.Update(apolice); _seguroDBContext.SaveChanges(); oRet.setSuccesso(); } } catch (System.Exception ex) { oRet.setErro(ex.Message); } return(oRet); }
public ServiceReturn Excluir(int id) { Apolice apolice = null; try { apolice = Obter(id); apoliceRepository.Remover(apolice); apoliceRepository.Salvar(); return(new ServiceReturn() { success = true, title = "Sucesso", message = "Apólice deletada com sucesso!" }); } catch (Exception ex) { return(new ServiceReturn() { success = false, title = "Erro", message = string.Format("Um erro do tipo {0} foi disparado ao deletar a apólice! Mensagem: {1}", ex.GetType(), ex.Message) }); } }
public void Worker() { EventoStaggingRepository eventosStaggingRepository = new EventoStaggingRepository(); ConcelhoRepository concelhosRepository = new ConcelhoRepository(); CategoriaRepository categoriasRepository = new CategoriaRepository(); ApoliceRepository apolicesRepository = new ApoliceRepository(); AvisoRepository avisosRepository = new AvisoRepository(); ApoliceHistoricoRepository apolicesHistoricoRepository = new ApoliceHistoricoRepository(); EntidadeRepository entidadesRepository = new EntidadeRepository(); NotificacaoRepository notificacoesRepository = new NotificacaoRepository(); ValorSistemaRepository valoresSistemaRepository = new ValorSistemaRepository(); UserProfileRepository userProfileRepository = new UserProfileRepository(); List<ValorSistema> estadosEvento = valoresSistemaRepository.GetPorTipologia("ESTADO_EVENTO_STAGGING", cacheMutex); List<ValorSistema> estadosFicheiro = valoresSistemaRepository.GetPorTipologia("ESTADO_FICHEIRO", cacheMutex); List<ValorSistema> tipoNotificacao = valoresSistemaRepository.GetPorTipologia("TIPO_NOTIFICACAO", cacheMutex); List<ValorSistema> operacoesEvento = valoresSistemaRepository.GetPorTipologia("OPERACAO_EVENTO", cacheMutex); List<Concelho> listaConcelhos = concelhosRepository.All.ToList(); List<Categoria> listaCategorias = categoriasRepository.All.ToList(); int horaLimiteSLA = int.Parse(valoresSistemaRepository.GetPorTipologia("PARAM_HORA_LIMITE_SLA", cacheMutex).Single().valor); int horaExtensaoSLA = int.Parse(valoresSistemaRepository.GetPorTipologia("PARAM_HORA_EXTENSAO_SLA", cacheMutex).Single().valor); int estadoEmProcessamento = estadosEvento.Where(e => e.valor == "EM_PROCESSAMENTO").Single().valorSistemaId; int estadoPendente = estadosEvento.Where(e => e.valor == "PENDENTE").Single().valorSistemaId; int estadoErro = estadosEvento.Where(e => e.valor == "ERRO").Single().valorSistemaId; int estadoProcessado = estadosEvento.Where(e => e.valor == "PROCESSADO").Single().valorSistemaId; int estadoFicheiroProcessado = estadosFicheiro.Where(e => e.valor == "PROCESSADO").Single().valorSistemaId; EventoStagging eventoPendente = null; int eventoPendenteId = default(int); while ((eventoPendenteId = adquireEventoPendente(estadoPendente, estadoEmProcessamento)) != default(int)) { eventoPendente = eventosStaggingRepository.Find(eventoPendenteId); if (isAgentStopping) { releaseEventoPendente(); return; } eventoPendente.estadoEventoId = estadoEmProcessamento; eventosStaggingRepository.InsertOrUpdate(eventoPendente); EventoStagging evento = EventoStaggingFactory.criarEventoStagging(eventoPendente, cacheMutex); EventoStagging eventoProcessar = null; if (evento.errosEventoStagging.Count == 0) { try { eventoProcessar = EventoStaggingFactory.duplicarEventoProducao(evento.matricula, (int)evento.entidadeId, evento.dataInicioCobertura, evento.horaInicioCobertura, cacheMutex); eventoProcessar.esmagaDados(evento); } catch (ErroEventoStaggingException e) { foreach (ErroEventoStagging erro in e.errosEventoStagging) { evento.errosEventoStagging.Add(new ErroEventoStagging { campo = erro.campo, descricao = erro.descricao, tipologiaId = erro.tipologiaId, eventoStaggingId = erro.eventoStaggingId }); } } } if (eventoProcessar == null || !ValidacaoEventos.validarEvento(eventoProcessar, cacheMutex)) { //if (evento.CodigoOperacao == EventoStagging.operacaoEventoStagging.A) //{ // //anulação foi testada em producao e falhou. // //esmaga evento em stagging e adiciona-se como erro. // evento = EventoStaggingFactory.duplicarEventoStagging(eventoPendente.matricula, (int)eventoPendente.entidadeId, eventoPendente.dataInicioCobertura, eventoPendente.horaInicioCobertura); // if (evento == null) // { // evento = new EventoStagging(); // evento.CodigoOperacao = EventoStagging.operacaoEventoStagging.A; // } // evento.esmagaDados(eventoPendente); // ValidacaoEventos.validarEvento(evento); //reconstruir avisos e erros. Sabemos que vai falhar. //} // validação falhou definitivamente evento.estadoEventoId = estadoErro; if (eventoProcessar != null) { foreach (ErroEventoStagging e in eventoProcessar.errosEventoStagging) { evento.errosEventoStagging.Add(new ErroEventoStagging { campo = e.campo, descricao = e.descricao, tipologiaId = e.tipologiaId, eventoStaggingId = e.eventoStaggingId }); } eventoProcessar.errosEventoStagging.Clear(); if (eventoProcessar.codigoOperacao != "A") { foreach (Aviso a in eventoProcessar.avisosEventoStagging) { evento.avisosEventoStagging.Add(new Aviso { campo = a.campo, descricao = a.descricao, tipologiaId = a.tipologiaId, eventoStaggingId = a.eventoStaggingId }); } } eventoProcessar.avisosEventoStagging.Clear(); } evento.totalAvisosCumulativo += evento.totalAvisosCumulativo + evento.avisosEventoStagging.Count; evento.totalErrosCumulativo += evento.totalErrosCumulativo + evento.errosEventoStagging.Count; List<EventoStagging> errosStagging = eventosStaggingRepository.All.Include("estadoEvento").Where(e => e.entidadeId == evento.entidadeId && e.dataInicioCobertura == evento.dataInicioCobertura && e.horaInicioCobertura == evento.horaInicioCobertura && e.matricula == evento.matricula && e.estadoEvento.valor == "ERRO" && e.codigoOperacao == evento.codigoOperacao && e.arquivado == false).ToList(); foreach (EventoStagging erro in errosStagging) { erro.arquivado = true; eventosStaggingRepository.InsertOrUpdate(erro); } eventosStaggingRepository.InsertOrUpdate(evento); } else { Concelho concelho = listaConcelhos.Where(c => c.codigoConcelho == eventoProcessar.codigoConcelhoCirculacao).FirstOrDefault(); Categoria categoria = listaCategorias.Where(c => c.codigoCategoriaVeiculo == eventoProcessar.codigoCategoriaVeiculo).FirstOrDefault(); int? concelhoId = concelho == null ? (int?)null : concelho.concelhoId; int? categoriaId = categoria == null ? (int?)null : categoria.categoriaId; ValorSistema operacao = operacoesEvento.Single(c => c.valor == eventoProcessar.codigoOperacao); Apolice apoliceValidada = new Apolice(eventoProcessar, concelhoId, categoriaId, operacao.valorSistemaId, horaLimiteSLA, horaExtensaoSLA); List<Apolice> apoliceAnterior = apolicesRepository.All.Include("avisosApolice").Where(a => a.dataInicio == apoliceValidada.dataInicio && a.entidadeId == apoliceValidada.entidadeId && a.veiculo.numeroMatricula == apoliceValidada.veiculo.numeroMatricula).ToList(); foreach (Apolice a in apoliceAnterior) { int avisosNum = a.avisosApolice.Count; foreach (Aviso aviso in a.avisosApolice) { avisosRepository.Delete(aviso.avisoId); } //a.avisosApolice.Clear(); ApoliceHistorico historico = new ApoliceHistorico(a); historico.dataArquivo = DateTime.Now; historico.utilizadorArquivo = apoliceValidada.utilizadorReporte; apolicesHistoricoRepository.InsertOrUpdate(historico); apolicesHistoricoRepository.Save(); int idApoliceHistorico = historico.apoliceId; a.avisosApolice.ForEach(aviso => aviso.apoliceHistoricoId = idApoliceHistorico); apolicesRepository.Delete(a.apoliceId); } apolicesRepository.InsertOrUpdate(apoliceValidada); apolicesRepository.Save(); List<EventoStagging> errosStagging = eventosStaggingRepository.All.Include("estadoEvento").Where(e => e.entidadeId == evento.entidadeId && e.dataInicioCobertura == evento.dataInicioCobertura && e.horaInicioCobertura == evento.horaInicioCobertura && e.matricula == evento.matricula && e.estadoEvento.valor == "ERRO" && e.codigoOperacao == eventoProcessar.codigoOperacao && e.arquivado == false).ToList(); foreach (EventoStagging erro in errosStagging) { erro.dataCorrecaoErro = DateTime.Now; erro.arquivado = true; eventosStaggingRepository.InsertOrUpdate(erro); } verificaOutrasOperacoes(eventoProcessar); } eventoPendente.estadoEventoId = estadoProcessado; eventosStaggingRepository.InsertOrUpdate(eventoPendente); eventosStaggingRepository.Save(); FicheiroRepository ficheirosRepository = null; Ficheiro ficheiro = null; if (eventoPendente.ficheiroID != null) { fileMutex.WaitOne(); try { ficheirosRepository = new FicheiroRepository(); ficheiro = ficheirosRepository.Find((int)eventoPendente.ficheiroID); if (evento.errosEventoStagging.Count > 0) { ficheiro.numEventosErro++; } if (eventoPendente == null || eventoPendente.avisosEventoStagging.Count > 0 || evento.avisosEventoStagging.Count > 0) { ficheiro.numEventosAviso++; } ficheiro.totalRegistosProcessados++; //int theadNumber = threadPool.IndexOf(Thread.CurrentThread); if (ficheiro.totalRegistos == ficheiro.totalRegistosProcessados) { ficheiro.estadoId = estadoFicheiroProcessado; int tipoNotificacaoId; string mensagemNotificacao; if (ficheiro.numEventosErro > 0) { tipoNotificacaoId = tipoNotificacao.Where(t => t.valor == "ERRO_PROCESSAMENTO_FICHEIRO").Single().valorSistemaId; mensagemNotificacao = "O 'Ficheiro Nacional de Matrículas do Parque Automóvel Seguro' com nome '" + ficheiro.nomeFicheiro + "' e data de reporte '" + ficheiro.dataUpload.ToShortDateString() + "' foi processado com " + ficheiro.numEventosErro + " ocorrências de erro e " + ficheiro.numEventosAviso + " de aviso " + "num total de " + ficheiro.totalRegistos + " registos."; } else { if (ficheiro.numEventosAviso > 0) { tipoNotificacaoId = tipoNotificacao.Where(t => t.valor == "AVISO_PROCESSAMENTO_FICHEIRO").Single().valorSistemaId; mensagemNotificacao = "O 'Ficheiro Nacional de Matrículas do Parque Automóvel Seguro' com nome '" + ficheiro.nomeFicheiro + "' e data de reporte '" + ficheiro.dataUpload.ToShortDateString() + "' foi processado com " + ficheiro.numEventosAviso + " ocorrências de aviso " + "num total de " + ficheiro.totalRegistos + " registos."; } else { tipoNotificacaoId = tipoNotificacao.Where(t => t.valor == "SUCESSO_PROCESSAMENTO_FICHEIRO").Single().valorSistemaId; mensagemNotificacao = "O 'Ficheiro Nacional de Matrículas do Parque Automóvel Seguro' com nome '" + ficheiro.nomeFicheiro + "' e data de reporte '" + ficheiro.dataUpload.ToShortDateString() + "' foi processado com sucesso em " + ficheiro.totalRegistos + " ocorrências."; } } Notificacao notificacao = new Notificacao { dataCriacao = DateTime.Now, email = true, entidadeId = ficheiro.entidadeId, tipologiaId = tipoNotificacaoId, mensagem = mensagemNotificacao, }; Entidade entidade = entidadesRepository.Find((int)notificacao.entidadeId); entidade.notificacoes.Add(notificacao); entidadesRepository.InsertOrUpdate(entidade); UserProfile utilizadorFicheiro = userProfileRepository.All.Single(u => u.UserName == ficheiro.userName); if (utilizadorFicheiro.entidadeId != ficheiro.entidadeId) { Notificacao notificacao2 = new Notificacao() { dataCriacao = DateTime.Now, email = true, entidadeId = utilizadorFicheiro.entidadeId, tipologiaId = tipoNotificacaoId, mensagem = mensagemNotificacao, }; notificacoesRepository.InsertOrUpdate(notificacao2); } entidadesRepository.Save(); notificacoesRepository.Save(); } ficheirosRepository.InsertOrUpdate(ficheiro); ficheirosRepository.Save(); } finally { fileMutex.ReleaseMutex(); } } releaseEventoPendente(); } }
public ApoliceHistorico(Apolice apolice) { //Foreign Key interna para entidade this.entidadeId = apolice.entidadeId; //Foreign Key para Tomador this.tomadorId = apolice.tomadorId; //Foreign Key para Veiculo this.veiculoId = apolice.veiculoId; //Foreign Key para Concelho this.concelhoCirculacaoId = apolice.concelhoCirculacaoId; //Atributos da Apolice this.numeroApolice = apolice.numeroApolice; this.numeroCertificadoProvisorio = apolice.numeroCertificadoProvisorio; this.dataInicio = apolice.dataInicio; this.dataFim = apolice.dataFim; this.dataFimPlaneada = apolice.dataFimPlaneada; this.dataReporte = apolice.dataReporte; this.utilizadorReporte = apolice.utilizadorReporte; this.dataArquivo = DateTime.Now; this.SLA = apolice.SLA; //ForeignKey interna para Eventos this.eventoHistoricoId = apolice.eventoHistoricoId; }
public void InsertOrUpdate(Apolice apolice){ if (apolice.apoliceId == default(int)) { apolice = context.Apolices.Add(apolice); =======