Exemplo n.º 1
0
 public void ImpactarPagos(Siniestro siniestro, Pago pago)
 {
     using (var repositorio = new DISEntities())
     {
         var existente = repositorio.Siniestros.FirstOrDefault(s => s.CUSPP == siniestro.CUSPP);
         if (!ExistePago(existente.SiniestroId, pago.ArchivoId))
         {
             pago.SiniestroId = existente.SiniestroId;
             existente.Pagos.Add(pago);
             repositorio.SaveChanges();
         }
         else
         {
             var masPago =
                 repositorio.Pagos.Where(
                     x => x.ArchivoId == pago.ArchivoId && x.SiniestroId == existente.SiniestroId).ToList();
             var sumaMintoTatal = masPago.Sum(x => x.Monto) + pago.Monto;
             var sumaMintoVc = masPago.Sum(x => x.PagoVC) + pago.PagoVC;
             existente.Pagos.FirstOrDefault().Monto = sumaMintoTatal;
             existente.Pagos.FirstOrDefault().PagoVC = sumaMintoVc;
             repositorio.SaveChanges();
         }
     }
 }
Exemplo n.º 2
0
 public void ImpactarNegocio(Siniestro siniestro, Pago pago)
 {
     using (var repositorio = new DISEntities())
     {
         if (Existe(siniestro))
         {
             ImpactarPagos(siniestro, pago);
             return;
         }
         else
         {
             siniestro.TipoSolicitudId = 1;
             repositorio.Siniestros.Add(siniestro);
             repositorio.SaveChanges();
             ImpactarPagos(siniestro, pago);
             return;
         }
     }
 }