public void SaveUbicacion(List <Ubicacion> ubicaciones) { IUnitOfWork unitOfWork = _ubicacionRepository.UnitOfWork as IUnitOfWork; int i = 1; foreach (Ubicacion ubicacion in ubicaciones) { if (ubicacion.Mostrar) //Si se muestra en la pantalla { if (ubicacion.UbicacionID == 0 & !ubicacion.Eliminado) //Nuevo y no esta marcado como eliminado { ubicacion.UbicacionID = _ubicacionRepository.LastUbicacionID() + i; ubicacion.nroUbicacion = _ubicacionRepository.LastNroUbicacion(ubicacion.AseguradoID) + i; _ubicacionRepository.Add(ubicacion); i++; } else if (ubicacion.Eliminado && ubicacion.UbicacionID != 0) { _ubicacionRepository.Remove(ubicacion); } else { _ubicacionRepository.Modify(ubicacion); } } } unitOfWork.Commit(); }
public void SaveValores(List <Ubicacion> ubicaciones, int cotizacionID) { IUnitOfWork unitOfWork = _ubicacionRepository.UnitOfWork as IUnitOfWork; Ubicacion ubic; CotizacionCoberturaUbi cob; CotizacionSubLineaUbi sub; //Application.MainModule.Utils.Log.WriteLog(@"D:\Data\trace.txt", "Paso1"); foreach (Ubicacion ubicacion in ubicaciones) { //Application.MainModule.Utils.Log.WriteLog(@"D:\Data\trace.txt", "Paso2_" + ubicacion.UbicacionID.ToString()); ubic = _ubicacionRepository.FindUbicacion(ubicacion.UbicacionID); //Application.MainModule.Utils.Log.WriteLog(@"D:\Data\trace.txt", "Paso21_" + ubicacion.UbicacionID.ToString()); if (ubicacion.bk_te_CotizacionUbicacion.Count() > 0) { ubic.bk_te_CotizacionUbicacion[0].ComisionIncendio = ubicacion.bk_te_CotizacionUbicacion[0].ComisionIncendio; ubic.bk_te_CotizacionUbicacion[0].DeducibleUSD = ubicacion.bk_te_CotizacionUbicacion[0].DeducibleUSD; ubic.bk_te_CotizacionUbicacion[0].GrupoIncendioID = ubicacion.bk_te_CotizacionUbicacion[0].GrupoIncendioID; ubic.bk_te_CotizacionUbicacion[0].GradoExposicionID = ubicacion.bk_te_CotizacionUbicacion[0].GradoExposicionID; ubic.bk_te_CotizacionUbicacion[0].ProteccionPublicaID = ubicacion.bk_te_CotizacionUbicacion[0].ProteccionPublicaID; ubic.bk_te_CotizacionUbicacion[0].ProteccionPrivadaID = ubicacion.bk_te_CotizacionUbicacion[0].ProteccionPrivadaID; ubic.bk_te_CotizacionUbicacion[0].ExposicionIDInterna = ubicacion.bk_te_CotizacionUbicacion[0].ExposicionIDInterna; ubic.bk_te_CotizacionUbicacion[0].ExposicionIDExterna = ubicacion.bk_te_CotizacionUbicacion[0].ExposicionIDExterna; ubic.bk_te_CotizacionUbicacion[0].ExposicionIDAgua = ubicacion.bk_te_CotizacionUbicacion[0].ExposicionIDAgua; ubic.bk_te_CotizacionUbicacion[0].ExposicionIDHumo = ubicacion.bk_te_CotizacionUbicacion[0].ExposicionIDHumo; ubic.bk_te_CotizacionUbicacion[0].CoaseguroTerremoto = ubicacion.bk_te_CotizacionUbicacion[0].CoaseguroTerremoto; //Application.MainModule.Utils.Log.WriteLog(@"D:\Data\trace.txt", "Paso22_" + ubicacion.UbicacionID.ToString()); } //Application.MainModule.Utils.Log.WriteLog(@"D:\Data\trace.txt", "Paso23_" + ubicacion.UbicacionID.ToString()); ubicacion.bk_tr_CotizacionCoberturaUbi.ToList().ForEach(x => { cob = ubic.bk_tr_CotizacionCoberturaUbi.Where(y => y.CoberturaID == x.CoberturaID && y.CotizacionID == x.CotizacionID).FirstOrDefault(); cob.valorAdicional = x.valorAdicional; cob.ValorAsegurable = x.ValorAsegurable; }); ubicacion.bk_tr_CotizacionSubLineaUbi.ToList().ForEach(x => { sub = ubic.bk_tr_CotizacionSubLineaUbi.Where(y => y.SubLineaNegocioID == x.SubLineaNegocioID && y.CotizacionID == x.CotizacionID).FirstOrDefault(); sub.ValorAsegurable = x.ValorAsegurable; }); _ubicacionRepository.Modify(ubic); //Application.MainModule.Utils.Log.WriteLog(@"D:\Data\trace.txt", "Paso3_" + ubicacion.UbicacionID.ToString()); } unitOfWork.Commit(); //Application.MainModule.Utils.Log.WriteLog(@"D:\Data\trace.txt", "Paso4"); //Actualizar PrimerRiesgo _cotizacionRepository.execUpdatePrimerRiesgo(cotizacionID); //Application.MainModule.Utils.Log.WriteLog(@"D:\Data\trace.txt", "Paso5"); //Insertar Valores Iniciales por ubicacion para Diversos _cotizacionRepository.execUpdateCotizacionDiversosUbi(cotizacionID); //Application.MainModule.Utils.Log.WriteLog(@"D:\Data\trace.txt", "Paso6"); }