public ActionResult Upload(String patronesId, String periodoId, String ejercicioId) { if (!String.IsNullOrEmpty(patronesId) && !String.IsNullOrEmpty(periodoId) && !String.IsNullOrEmpty(ejercicioId)) { String periodo = ejercicioId.Trim() + periodoId.Trim(); int patronTemp = int.Parse(patronesId); Patrone patron = db.Patrones.Find(patronTemp); String path = this.UploadFile(patron.direccionArchivo); if (!path.Equals("")) { Boolean existe = false; SUAHelper suaHelper = new SUAHelper(path); ResumenPago resumenPago = new ResumenPago(); //Preparamos el query del resúmen String sSQL = "SELECT * FROM Registro_02" + " WHERE Registro_Patronal = '" + patron.registro + "'" + " AND Periodo_Pago = '" + periodo + "'" + "ORDER BY Registro_Patronal"; DataTable dt = suaHelper.ejecutarSQL(sSQL); foreach (DataRow rows in dt.Rows) { resumenPago.ip = rows["IP"].ToString().Trim(); resumenPago.patronId = patron.Id; resumenPago.rfc = rows["RFC"].ToString().Trim(); resumenPago.periodoPago = periodo; resumenPago.mes = periodoId; resumenPago.anno = ejercicioId; resumenPago.folioSUA = rows["Folio_SUA"].ToString().Trim(); resumenPago.razonSocial = rows["Razon_Social"].ToString().Trim(); resumenPago.calleColonia = rows["Calle_Colonia"].ToString().Trim(); resumenPago.poblacion = rows["Poblacion"].ToString().Trim(); resumenPago.entidadFederativa = rows["Entidad_Federativa"].ToString().Trim(); resumenPago.codigoPostal = rows["CP"].ToString().Trim(); resumenPago.primaRT = rows["Prima_RT"].ToString().Trim(); resumenPago.fechaPrimaRT = rows["Fecha_Prima_RT"].ToString().Trim(); resumenPago.actividadEconomica = rows["Actividad_Economica"].ToString().Trim(); resumenPago.delegacionIMSS = rows["Delegacion_IMSS"].ToString().Trim(); resumenPago.subDelegacionIMMS = rows["SubDelegacion_IMSS"].ToString().Trim(); resumenPago.zonaEconomica = rows["Zona_Economica"].ToString().Trim(); resumenPago.convenioReembolso = rows["Convenio_Reembolso"].ToString().Trim(); resumenPago.tipoCotizacion = rows["Tipo_Cotizacion"].ToString().Trim(); resumenPago.cotizantes = rows["Cotizantes"].ToString().Trim(); resumenPago.apoPat = rows["Apo_Pat"].ToString().Trim(); resumenPago.delSubDel = rows["Del_Subdel"].ToString().Trim(); existe = true; db.ResumenPagoes.Add(resumenPago); db.SaveChanges(); } if (existe) { sSQL = "SELECT * FROM Registro_03" + " ORDER BY NSS"; DataTable dt2 = suaHelper.ejecutarSQL(sSQL); foreach (DataRow rows in dt2.Rows) { Pago pago = new Pago(); Asegurado asegurado = new Asegurado(); if (!String.IsNullOrEmpty(rows["NSS"].ToString().Trim())) { String nss = rows["NSS"].ToString().Trim(); asegurado = (from s in db.Asegurados where s.PatroneId.Equals(patron.Id) && s.numeroAfiliacion.Equals(nss) select s).FirstOrDefault(); pago.trabajadorId = asegurado.id; pago.resumenPagoId = resumenPago.id; pago.ip = rows["IP"].ToString().Trim(); pago.NSS = rows["NSS"].ToString().Trim(); pago.RFC = rows["RFC"].ToString().Trim(); pago.CURP = rows["CURP"].ToString().Trim(); pago.creditoInfonavit = rows["Credito_Infonavit"].ToString().Trim(); pago.fid = rows["FID"].ToString().Trim(); pago.trabajador = rows["Trabajador"].ToString().Trim(); pago.sdi = (!String.IsNullOrEmpty(rows["sdi"].ToString().Trim())) ? Decimal.Parse(rows["sdi"].ToString().Trim()) : 0; pago.tipoTrabajador = rows["Tipo_Trabajador"].ToString().Trim(); pago.jornadaSemanaReducida = rows["Jornada_Semana_Reducida"].ToString().Trim(); pago.diasCotizadosMes = (!String.IsNullOrEmpty(rows["Dias_Cotizados_Mes"].ToString().Trim())) ? int.Parse(rows["Dias_Cotizados_Mes"].ToString().Trim()) : 0; pago.diasIncapacidad = (!String.IsNullOrEmpty(rows["Dias_Incapacidad"].ToString().Trim())) ? int.Parse(rows["Dias_Incapacidad"].ToString().Trim()) : 0; pago.diasAusentismo = (!String.IsNullOrEmpty(rows["Dias_Ausentismo"].ToString().Trim())) ? int.Parse(rows["Dias_Ausentismo"].ToString().Trim()) : 0; pago.cuotaFija = (!String.IsNullOrEmpty(rows["Cuota_Fija"].ToString().Trim())) ? Decimal.Parse(rows["Cuota_Fija"].ToString().Trim()) : 0; pago.cuotaExcedente = (!String.IsNullOrEmpty(rows["Cuota_Excedente"].ToString().Trim())) ? Decimal.Parse(rows["Cuota_Excedente"].ToString().Trim()) : 0; pago.prestacionesDinero = (!String.IsNullOrEmpty(rows["Prestaciones_Dinero"].ToString().Trim())) ? Decimal.Parse(rows["Prestaciones_Dinero"].ToString().Trim()) : 0; pago.gastosMedicosPensionado = (!String.IsNullOrEmpty(rows["Gastos_Medicos_Pensionados"].ToString().Trim())) ? Decimal.Parse(rows["Gastos_Medicos_Pensionados"].ToString().Trim()) : 0; pago.riesgoTrabajo = (!String.IsNullOrEmpty(rows["Riesgo_Trabajo"].ToString().Trim())) ? Decimal.Parse(rows["Riesgo_Trabajo"].ToString().Trim()) : 0; pago.invalidezVida = (!String.IsNullOrEmpty(rows["Invalidez_Vida"].ToString().Trim())) ? Decimal.Parse(rows["Invalidez_Vida"].ToString().Trim()) : 0; pago.guarderias = (!String.IsNullOrEmpty(rows["Guarderias"].ToString().Trim())) ? Decimal.Parse(rows["Guarderias"].ToString().Trim()) : 0; pago.actRecargosIMSS = rows["Act_Recargos_IMSS"].ToString().Trim(); pago.diasCotizadosBimestre = (!String.IsNullOrEmpty(rows["Dias_Cotizados_Bimestre"].ToString().Trim())) ? int.Parse(rows["Dias_Cotizados_Bimestre"].ToString().Trim()) : 0; pago.diasIncapacidadBimestre = (!String.IsNullOrEmpty(rows["Dias_Incapacidad_Bim"].ToString().Trim())) ? int.Parse(rows["Dias_Incapacidad_Bim"].ToString().Trim()) : 0; pago.diasAusentismoBimestre = (!String.IsNullOrEmpty(rows["Dias_Ausentismo_Bim"].ToString().Trim())) ? int.Parse(rows["Dias_Ausentismo_Bim"].ToString().Trim()) : 0; pago.retiro = (!String.IsNullOrEmpty(rows["Retiro"].ToString().Trim())) ? Decimal.Parse(rows["Retiro"].ToString().Trim()) : 0; pago.actRecargosRetiro = rows["Act_Recargos_Retiro"].ToString().Trim(); pago.cesantiaVejezPatronal = (!String.IsNullOrEmpty(rows["Cesantia_Vejez_Patronal"].ToString().Trim())) ? Decimal.Parse(rows["Cesantia_Vejez_Patronal"].ToString().Trim()) : 0; pago.cesantiaVejezObrera = (!String.IsNullOrEmpty(rows["Cesantia_Vejez_Obrera"].ToString().Trim())) ? Decimal.Parse(rows["Cesantia_Vejez_Obrera"].ToString().Trim()) : 0; pago.actRecargosCyV = (!String.IsNullOrEmpty(rows["Act_Recargos_CyV"].ToString().Trim())) ? Decimal.Parse(rows["Act_Recargos_CyV"].ToString().Trim()) : 0; pago.aportacionVoluntaria = (!String.IsNullOrEmpty(rows["Aportacion_Voluntaria"].ToString().Trim())) ? Decimal.Parse(rows["Aportacion_Voluntaria"].ToString().Trim()) : 0; pago.aportacionComp = (!String.IsNullOrEmpty(rows["Aportacion_Comp"].ToString().Trim())) ? Decimal.Parse(rows["Aportacion_Comp"].ToString().Trim()) : 0; pago.aportacionPatronal = (!String.IsNullOrEmpty(rows["Aportacion_Patronal"].ToString().Trim())) ? Decimal.Parse(rows["Aportacion_Patronal"].ToString().Trim()) : 0; pago.amortizacion = (!String.IsNullOrEmpty(rows["Amortizacion"].ToString().Trim())) ? Decimal.Parse(rows["Amortizacion"].ToString().Trim()) : 0; pago.actIMSS = (!String.IsNullOrEmpty(rows["Act_IMSS"].ToString().Trim())) ? Decimal.Parse(rows["Act_IMSS"].ToString().Trim()) : 0; pago.recIMSS = (!String.IsNullOrEmpty(rows["Rec_IMSS"].ToString().Trim())) ? Decimal.Parse(rows["Rec_IMSS"].ToString().Trim()) : 0; pago.actRetiro = (!String.IsNullOrEmpty(rows["Act_Retiro"].ToString().Trim())) ? Decimal.Parse(rows["Act_Retiro"].ToString().Trim()) : 0; pago.actCesObr = (!String.IsNullOrEmpty(rows["Act_CesObr"].ToString().Trim())) ? Decimal.Parse(rows["Act_CesObr"].ToString().Trim()) : 0; pago.cuotaExcObr = (!String.IsNullOrEmpty(rows["Cuota_ExcObr"].ToString().Trim())) ? Decimal.Parse(rows["Cuota_ExcObr"].ToString().Trim()) : 0; pago.cuotaPdObr = (!String.IsNullOrEmpty(rows["Cuota_PdObr"].ToString().Trim())) ? Decimal.Parse(rows["Cuota_PdObr"].ToString().Trim()) : 0; pago.cuotaGmpObr = (!String.IsNullOrEmpty(rows["Cuota_GmpObr"].ToString().Trim())) ? Decimal.Parse(rows["Cuota_GmpObr"].ToString().Trim()) : 0; pago.cuotaIvObr = (!String.IsNullOrEmpty(rows["Cuota_IvObr"].ToString().Trim())) ? Decimal.Parse(rows["Cuota_IvObr"].ToString().Trim()) : 0; pago.actPatIMSS = (!String.IsNullOrEmpty(rows["ActPat_IMSS"].ToString().Trim())) ? Decimal.Parse(rows["ActPat_IMSS"].ToString().Trim()) : 0; pago.recPatIMSS = (!String.IsNullOrEmpty(rows["RecPat_IMSS"].ToString().Trim())) ? Decimal.Parse(rows["RecPat_IMSS"].ToString().Trim()) : 0; pago.actObrIMSS = (!String.IsNullOrEmpty(rows["ActObr_IMSS"].ToString().Trim())) ? Decimal.Parse(rows["ActObr_IMSS"].ToString().Trim()) : 0; pago.recObrIMSS = (!String.IsNullOrEmpty(rows["RecObr_IMSS"].ToString().Trim())) ? Decimal.Parse(rows["RecObr_IMSS"].ToString().Trim()) : 0; //Guardamos el pago. db.Pagos.Add(pago); db.SaveChanges(); }//Contiene información de asegurado valida? } } } } return RedirectToAction("UploadPagos"); }
/** * Hacemos la carga de los asegurados * */ public void uploadAsegurado(String path) { SUAHelper sua = null; Boolean isError = false; try { //Realizamos la conexión sua = new SUAHelper(path); String sSQL = "SELECT a.REG_PATR , a.NUM_AFIL, a.CURP , a.RFC_CURP, a.NOM_ASEG, " + " a.SAL_IMSS , a.SAL_INFO, a.FEC_ALT , a.FEC_BAJ , a.TIP_TRA , " + " a.SEM_JORD , a.PAG_INFO, a.TIP_DSC , a.VAL_DSC , a.CVE_UBC , " + " a.TMP_NOM , a.FEC_DSC , a.FEC_FinDsc, a.ARTI_33 , a.SAL_AR33," + " a.TRA_PENIV, a.ESTADO , a.CVE_MUN , b.OCUPA , b.LUG_NAC " + " FROM Asegura a LEFT JOIN Afiliacion b " + " ON a.REG_PATR = b.REG_PATR AND a.NUM_AFIL = b.NUM_AFIL " + " ORDER BY a.NUM_AFIL "; //Ejecutamos la consulta DataTable dt = sua.ejecutarSQL(sSQL); foreach (DataRow rows in dt.Rows) { String patronDescripcion = rows["REG_PATR"].ToString(); Patrone patron = new Patrone(); if (!patronDescripcion.Equals("")) { var patronTemp = from b in db.Patrones where b.registro.Equals(patronDescripcion.Trim()) select b; if (patronTemp != null && patronTemp.Count() > 0) { foreach (var patronItem in patronTemp) { patron = patronItem; break; }//Definimos los valores para la plaza } else { patron.registro = ""; } } if (!patron.registro.Trim().Equals("")) { Boolean bExist = false; //Creamos el nuevo asegurado Asegurado asegurado = new Asegurado(); String numAfil = rows["NUM_AFIL"].ToString().Trim(); //Revisamos la existencia del registro var aseguradoExist = from b in db.Asegurados where b.Patrone.registro.Equals(patron.registro.Trim()) && b.numeroAfiliacion.Equals(numAfil) select b; if (aseguradoExist.Count() > 0) { foreach (var aseg in aseguradoExist) { asegurado = aseg; bExist = true; break; }//Borramos cada registro. }//Ya existen datos con este patron? //Creamos el nuevo asegurado asegurado.PatroneId = patron.Id; asegurado.numeroAfiliacion = rows["NUM_AFIL"].ToString(); asegurado.CURP = rows["CURP"].ToString(); asegurado.RFC = rows["RFC_CURP"].ToString(); String nombrePattern = rows["NOM_ASEG"].ToString(); nombrePattern = nombrePattern.Replace("$", ","); string[] substrings = Regex.Split(nombrePattern, ","); asegurado.nombres = substrings[2]; asegurado.apellidoPaterno = substrings[0]; asegurado.apellidoMaterno = substrings[1]; asegurado.nombre = rows["NOM_ASEG"].ToString(); asegurado.salarioImss = Decimal.Parse(rows["SAL_IMSS"].ToString()); if (rows["SAL_INFO"].ToString().Equals("")) { asegurado.salarioInfo = 0; } else { asegurado.salarioInfo = Decimal.Parse(rows["SAL_INFO"].ToString()); } asegurado.fechaAlta = DateTime.Parse(rows["FEC_ALT"].ToString()); if (rows["FEC_BAJ"].ToString().Equals("")) { asegurado.fechaBaja = null; } else { asegurado.fechaBaja = DateTime.Parse(rows["FEC_BAJ"].ToString()); }//Trae fecha valida? asegurado.tipoTrabajo = rows["TIP_TRA"].ToString(); asegurado.semanaJornada = rows["SEM_JORD"].ToString(); asegurado.paginaInfo = rows["PAG_INFO"].ToString(); asegurado.tipoDescuento = rows["TIP_DSC"].ToString(); asegurado.valorDescuento = Decimal.Parse(rows["VAL_DSC"].ToString()); String cliente = rows["CVE_UBC"].ToString(); var clienteTemp = db.Clientes.Where(b => b.claveCliente == cliente.Trim()).FirstOrDefault(); var clienteTemp2 = db.Clientes.Where(b => b.claveCliente.Equals("SIN CODIGO")).FirstOrDefault(); if (clienteTemp != null){ asegurado.Cliente = (Cliente)clienteTemp; asegurado.ClienteId = clienteTemp.Id; }else { asegurado.Cliente = (Cliente)clienteTemp2; asegurado.ClienteId = clienteTemp2.Id; //Cliente clienteNuevo = new Cliente(); //clienteNuevo.claveCliente = cliente; //clienteNuevo.rfc = "PENDIENTE"; //clienteNuevo.claveSua = "PENDIENTE"; //clienteNuevo.descripcion = "PENDIENTE"; //clienteNuevo.ejecutivo = "PENDIENTE"; //clienteNuevo.Plaza_id = 1; //clienteNuevo.Grupo_id = 4; //try //{ // db.Clientes.Add(clienteNuevo); // db.SaveChanges(); // asegurado.ClienteId = clienteNuevo.Id; //} //catch (DbEntityValidationException dbEx) //{ // foreach (var validationErrors in dbEx.EntityValidationErrors) // { // foreach (var validationError in validationErrors.ValidationErrors) // { // Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); // } // } //} } asegurado.nombreTemporal = rows["TMP_NOM"].ToString(); if (rows["FEC_DSC"].ToString().Equals("")) { asegurado.fechaDescuento = null; } else { asegurado.fechaDescuento = DateTime.Parse(rows["FEC_DSC"].ToString()); }//Trae fecha valida? if (rows["FEC_FinDsc"].ToString().Equals("")) { asegurado.finDescuento = null; } else { asegurado.finDescuento = DateTime.Parse(rows["FEC_FinDsc"].ToString()); }//Trae fecha valida? asegurado.articulo33 = rows["ARTI_33"].ToString(); if (rows["SAL_AR33"].ToString().Equals("")) { asegurado.salarioArticulo33 = 0; } else { asegurado.salarioArticulo33 = Decimal.Parse(rows["SAL_AR33"].ToString()); } asegurado.trapeniv = rows["TRA_PENIV"].ToString(); asegurado.estado = rows["ESTADO"].ToString(); asegurado.claveMunicipio = rows["CVE_MUN"].ToString(); asegurado.Plaza_id = patron.Plaza_id; asegurado.ocupacion = rows["OCUPA"].ToString(); if (rows["OCUPA"].ToString().Equals("EXTRANJERO")) { asegurado.extranjero = "SI"; } else { asegurado.extranjero = "NO"; } DateTime date = DateTime.Now; if (!bExist) { asegurado.fechaCreacion = date; } else { asegurado.fechaModificacion = date; } //Guardamos el asegurado try { if (bExist) { db.Entry(asegurado).State = EntityState.Modified; } else { db.Asegurados.Add(asegurado); } db.SaveChanges(); if (asegurado.id > 0) { uploadIncapacidades(asegurado.Patrone.registro, asegurado.numeroAfiliacion, asegurado.id, path); uploadMovimientos(asegurado.Patrone.registro, asegurado.numeroAfiliacion, asegurado.id, path); accionesAdicionalesAsegurados(asegurado); } } catch (DbEntityValidationException ex) { isError = true; StringBuilder sb = new StringBuilder(); foreach (var failure in ex.EntityValidationErrors) { sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType()); foreach (var error in failure.ValidationErrors) { sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage); sb.AppendLine(); } } } } } } catch (OleDbException ex) { isError = true; if (ex.Source != null) { Console.WriteLine(ex.Source); } } finally { if (isError) { TempData["error"] = isError; TempData["viewMessage"] = "Ocurrio un error al intentar cargar el archivo de Asegurados"; } else { TempData["error"] = isError; TempData["viewMessage"] = "Se ha realizado la actualización con exito!"; } if (sua != null) { sua.cerrarConexion(); } } }
/** * Realizamos la carga de los acreditados */ public void uploadAcreditado(String path) { SUAHelper sua = null; Boolean isError = false; try { sua = new SUAHelper(path); ParametrosHelper parameterHelper = new ParametrosHelper(); Parametro smdfParameter = parameterHelper.getParameterByKey("SMDF"); Parametro sinfonParameter = parameterHelper.getParameterByKey("SINFON"); //Preparamos la consulta String sSQL = "SELECT a.REG_PATR , a.NUM_AFIL, a.CURP , a.RFC_CURP, a.NOM_ASEG, " + " a.SAL_IMSS , a.SAL_INFO, a.FEC_ALT , a.FEC_BAJ , a.TIP_TRA , " + " a.SEM_JORD , a.PAG_INFO, a.TIP_DSC , a.VAL_DSC , a.CVE_UBC , " + " a.TMP_NOM , a.FEC_DSC , a.FEC_FinDsc, a.ARTI_33 , a.SAL_AR33," + " a.TRA_PENIV, a.ESTADO , a.CVE_MUN , b.OCUPA , b.LUG_NAC " + " FROM Asegura a LEFT JOIN Afiliacion b " + " ON a.REG_PATR = b.REG_PATR AND a.NUM_AFIL = b.NUM_AFIL " + " WHERE a.PAG_INFO <> '' " + " ORDER BY a.REG_PATR, a.NUM_AFIL "; DataTable dt = sua.ejecutarSQL(sSQL); foreach (DataRow rows in dt.Rows) { String patronDescripcion = rows["REG_PATR"].ToString(); Patrone patron = new Patrone(); if (!patronDescripcion.Equals("")) { var patronTemp = from b in db.Patrones where b.registro.Equals(patronDescripcion.Trim()) select b; if (patronTemp != null && patronTemp.Count() > 0) { foreach (var patronItem in patronTemp) { patron = patronItem; break; }//Definimos los valores para la plaza } else { patron.registro = ""; } } if (!patron.registro.Trim().Equals("")) { Boolean bExist = false; //Creamos el nuevo asegurado Acreditado acreditado = new Acreditado(); String numAfil = rows["NUM_AFIL"].ToString().Trim(); String numCred = rows["PAG_INFO"].ToString().Trim(); //Revisamos la existencia del registro var acreditadoExist = from b in db.Acreditados where b.Patrone.registro.Equals(patron.registro.Trim()) && b.numeroAfiliacion.Equals(numAfil) && b.numeroCredito.Equals(numCred) select b; if (acreditadoExist != null && acreditadoExist.Count() > 0) { foreach (var acred in acreditadoExist) { acreditado = acred; bExist = true; break; }//Borramos cada registro. }//Ya existen datos con este patron? String tipoDescuento = rows["TIP_DSC"].ToString(); acreditado.PatroneId = patron.Id; acreditado.Patrone = patron; acreditado.numeroAfiliacion = rows["NUM_AFIL"].ToString(); acreditado.CURP = rows["CURP"].ToString(); acreditado.RFC = rows["RFC_CURP"].ToString(); String cliente = rows["CVE_UBC"].ToString(); var clienteTemp = db.Clientes.Where(b => b.claveCliente == cliente.Trim()).FirstOrDefault(); var clienteTemp2 = db.Clientes.Where(b => b.claveCliente.Equals("SIN CODIGO")).FirstOrDefault(); if (clienteTemp != null) { acreditado.Cliente = (Cliente)clienteTemp; acreditado.clienteId = clienteTemp.Id; } else { acreditado.Cliente = (Cliente)clienteTemp2; acreditado.clienteId = clienteTemp2.Id; ; //Cliente clienteNuevo = new Cliente(); //clienteNuevo.claveCliente = cliente; //clienteNuevo.rfc = "PENDIENTE"; //clienteNuevo.claveSua = "PENDIENTE"; //clienteNuevo.descripcion = "PENDIENTE"; //clienteNuevo.ejecutivo = "PENDIENTE"; //clienteNuevo.Plaza_id = 1; //clienteNuevo.Grupo_id = 4; //try //{ // db.Clientes.Add(clienteNuevo); // db.SaveChanges(); // acreditado.clienteId = clienteNuevo.Id; //} //catch (DbEntityValidationException dbEx) //{ // foreach (var validationErrors in dbEx.EntityValidationErrors) // { // foreach (var validationError in validationErrors.ValidationErrors) // { // Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); // } // } //} } String nombrePattern = rows["NOM_ASEG"].ToString(); nombrePattern = nombrePattern.Replace("$", ","); string[] substrings = Regex.Split(nombrePattern, ","); acreditado.nombre = substrings[2]; acreditado.apellidoPaterno = substrings[0]; acreditado.apellidoMaterno = substrings[1]; acreditado.nombreCompleto = substrings[0] + " " + substrings[1] + " " + substrings[2]; acreditado.ocupacion = rows["OCUPA"].ToString(); acreditado.fechaAlta = DateTime.Parse(rows["FEC_ALT"].ToString()); if (rows["FEC_BAJ"].ToString().Equals("")) { acreditado.fechaBaja = null; } else { acreditado.fechaBaja = DateTime.Parse(rows["FEC_BAJ"].ToString()); }//Trae fecha valida? acreditado.idGrupo = ""; acreditado.numeroCredito = rows["PAG_INFO"].ToString(); if (rows["FEC_DSC"].ToString().Equals("")) { acreditado.fechaInicioDescuento = null; } else { acreditado.fechaInicioDescuento = DateTime.Parse(rows["FEC_DSC"].ToString()); }//Trae fecha valida? if (rows["FEC_FinDsc"].ToString().Equals("")) { acreditado.fechaFinDescuento = null; } else { acreditado.fechaFinDescuento = DateTime.Parse(rows["FEC_FinDsc"].ToString()); }//Trae fecha valida? DateTime date = DateTime.Now; //Validamos que el ultimo movimiento no sea por baja o suspención. if (sua.esValidoActualizarPorMovimiento(acreditado.Patrone.registro, acreditado.numeroAfiliacion)) { //Validamos que el valor de los parametros sea mayor a cero. if (sinfonParameter.valorMoneda > 0 && smdfParameter.valorMoneda > 0) { if (bExist) { if(acreditado.fechaUltimoCalculo != null){ //Validamos que se haya modificado el valor de los parametros para el calculo if (DateTime.Compare((DateTime)acreditado.fechaUltimoCalculo, smdfParameter.fechaCreacion) <= 0 && DateTime.Compare((DateTime)acreditado.fechaUltimoCalculo, sinfonParameter.fechaCreacion) <= 0) { acreditado = calcularInfonavitInfo(acreditado, rows, tipoDescuento, Decimal.Parse(sinfonParameter.valorMoneda.ToString()), Decimal.Parse(smdfParameter.valorMoneda.ToString())); } //Se ha cambiado los parametros desde la ultima actualización ? }else{ acreditado = calcularInfonavitInfo(acreditado, rows, tipoDescuento, Decimal.Parse(sinfonParameter.valorMoneda.ToString()), Decimal.Parse(smdfParameter.valorMoneda.ToString())); } } else { acreditado = calcularInfonavitInfo(acreditado, rows, tipoDescuento, Decimal.Parse(sinfonParameter.valorMoneda.ToString()), Decimal.Parse(smdfParameter.valorMoneda.ToString())); } }//Los parametros son mayores a cero en su valor moneda ? }//El movimiento es por baja o suspención ? acreditado.Plaza_id = patron.Plaza_id; if (!bExist) { acreditado.fechaCreacion = date; } else { acreditado.fechaModificacion = date; } //Guardamos el asegurado try { if (!bExist) { db.Acreditados.Add(acreditado); } else { db.Entry(acreditado).State = EntityState.Modified; } db.SaveChanges(); } catch (DbEntityValidationException ex) { StringBuilder sb = new StringBuilder(); foreach (var failure in ex.EntityValidationErrors) { sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType()); foreach (var error in failure.ValidationErrors) { sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage); sb.AppendLine(); } } } } } } catch (OleDbException ex) { if (ex.Source != null) { Console.WriteLine(ex.Source); isError = true; } } finally { if (isError) { TempData["error"] = isError; TempData["viewMessage"] = "Ocurrio un error al intentar cargar el archivo de los Acreditados"; } else { TempData["error"] = isError; TempData["viewMessage"] = "Se ha realizado la actualización con exito!"; } if (sua != null) { sua.cerrarConexion(); } } }
/** * Actualizamos los patrones * */ public int RefreshBoss(String path) { SUAHelper sua = null; int count = 0; Boolean isError = false; try { //Realizamos la conexion sua = new SUAHelper(path); String sSQL = "SELECT REG_PAT, RFC_PAT, NOM_PAT, ACT_PAT, DOM_PAT, " + " MUN_PAT, CPP_PAT, ENT_PAT, TEL_PAT, REM_PAT, " + " ZON_PAT, DEL_PAT, CAR_ENT, NUM_DEL, CAR_DEL, " + " NUM_SUB, CAR_SUB, TIP_CON, CON_VEN, INI_AFIL," + " PAT_REP, CLASE , FRACCION, STyPS " + " FROM Patron " + " ORDER BY REG_PAT "; //Ejecutamos nuestra consulta DataTable dt = sua.ejecutarSQL(sSQL); foreach (DataRow rows in dt.Rows) { //Revisamos la existencia del registro String patronDescripcion = rows["REG_PAT"].ToString(); Patrone patron = new Patrone(); if (!patronDescripcion.Equals("")) { var patronTemp = from b in db.Patrones where b.registro.Equals(patronDescripcion.Trim()) select b; if (patronTemp != null && patronTemp.Count() > 0) { foreach (var patronItem in patronTemp) { patron = patronItem; break; }//Definimos los valores para la plaza } else { patron.registro = ""; } } if (!patron.registro.Equals("")) { String plazaDescripcion = rows["CAR_ENT"].ToString(); if (!plazaDescripcion.Equals("")) { var plazaTemp = from b in db.Plazas where b.descripcion.Equals(plazaDescripcion.Trim()) select b; Plaza plaza = new Plaza(); if (plazaTemp.Count() > 0) { foreach (var plazaItem in plazaTemp) { plaza.id = plazaItem.id; plaza.descripcion = plazaItem.descripcion; plaza.indicador = "P"; break; }//Definimos los valores para la plaza } else { plaza.descripcion = plazaDescripcion.Trim(); plaza.indicador = "P"; db.Plazas.Add(plaza); db.SaveChanges(); }//Ya existen datos con esta plaza? //Modificamos los datos del patron existente patron.telefono = rows["TEL_PAT"].ToString(); patron.domicilio = rows["DOM_PAT"].ToString(); patron.patRep = rows["PAT_REP"].ToString(); /* patron.registro = rows["REG_PAT"].ToString(); patron.rfc = rows["RFC_PAT"].ToString(); patron.nombre = rows["NOM_PAT"].ToString(); patron.actividad = rows["ACT_PAT"].ToString(); patron.municipio = rows["MUN_PAT"].ToString(); patron.codigoPostal = rows["CPP_PAT"].ToString(); patron.entidad = rows["ENT_PAT"].ToString(); patron.remision = ((Boolean.Parse(rows["REM_PAT"].ToString()) == true) ? "V" : "F"); patron.zona = rows["ZON_PAT"].ToString(); patron.delegacion = rows["DEL_PAT"].ToString(); patron.carEnt = rows["CAR_ENT"].ToString(); patron.numeroDelegacion = Int32.Parse(rows["NUM_DEL"].ToString()); patron.carDel = rows["CAR_DEL"].ToString(); patron.numSub = Int32.Parse(rows["NUM_SUB"].ToString()); patron.Plaza_id = plaza.id; patron.tipoConvenio = Decimal.Parse(rows["TIP_CON"].ToString()); patron.convenio = rows["CON_VEN"].ToString(); patron.inicioAfiliacion = rows["INI_AFIL"].ToString(); patron.clase = rows["CLASE"].ToString(); patron.fraccion = rows["FRACCION"].ToString(); patron.STyPS = rows["STyPS"].ToString(); */ //Ponemos la entidad en modo modficada y guardamos cambios try { db.Entry(patron).State = EntityState.Modified; db.SaveChanges(); count++; } catch (DbEntityValidationException ex) { StringBuilder sb = new StringBuilder(); foreach (var failure in ex.EntityValidationErrors) { sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType()); foreach (var error in failure.ValidationErrors) { sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage); sb.AppendLine(); } } } } } else { String plazaDescripcion = rows["CAR_ENT"].ToString(); if (!plazaDescripcion.Equals("")) { var plazaTemp = from b in db.Plazas where b.descripcion.Equals(plazaDescripcion.Trim()) select b; Plaza plaza = new Plaza(); if (plazaTemp.Count() > 0) { foreach (var plazaItem in plazaTemp) { plaza.id = plazaItem.id; plaza.descripcion = plazaItem.descripcion; plaza.indicador = "P"; break; }//Definimos los valores para la plaza } else { plaza.descripcion = plazaDescripcion.Trim(); plaza.indicador = "P"; db.Plazas.Add(plaza); db.SaveChanges(); }//Ya existen datos con esta plaza? //Creamos el nuevo patron patron = new Patrone(); patron.registro = rows["REG_PAT"].ToString(); patron.rfc = rows["RFC_PAT"].ToString(); patron.nombre = rows["NOM_PAT"].ToString(); patron.actividad = rows["ACT_PAT"].ToString(); patron.domicilio = rows["DOM_PAT"].ToString(); patron.municipio = rows["MUN_PAT"].ToString(); patron.codigoPostal = rows["CPP_PAT"].ToString(); patron.entidad = rows["ENT_PAT"].ToString(); patron.telefono = rows["TEL_PAT"].ToString(); patron.remision = ((Boolean.Parse(rows["REM_PAT"].ToString()) == true) ? "V" : "F"); patron.zona = rows["ZON_PAT"].ToString(); patron.delegacion = rows["DEL_PAT"].ToString(); patron.carEnt = rows["CAR_ENT"].ToString(); patron.numeroDelegacion = Int32.Parse(rows["NUM_DEL"].ToString()); patron.carDel = rows["CAR_DEL"].ToString(); patron.numSub = Int32.Parse(rows["NUM_SUB"].ToString()); patron.Plaza_id = plaza.id; patron.tipoConvenio = Decimal.Parse(rows["TIP_CON"].ToString()); patron.convenio = rows["CON_VEN"].ToString(); patron.inicioAfiliacion = rows["INI_AFIL"].ToString(); patron.patRep = rows["PAT_REP"].ToString(); patron.clase = rows["CLASE"].ToString(); patron.fraccion = rows["FRACCION"].ToString(); patron.STyPS = rows["STyPS"].ToString(); //Guardamos el patron try { db.Patrones.Add(patron); db.SaveChanges(); count++; } catch (DbEntityValidationException ex) { StringBuilder sb = new StringBuilder(); foreach (var failure in ex.EntityValidationErrors) { sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType()); foreach (var error in failure.ValidationErrors) { sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage); sb.AppendLine(); } } } } } } } catch (OleDbException ex) { if (ex.Source != null) { Console.WriteLine(ex.Source); isError = true; } } finally { if (sua != null) { sua.cerrarConexion(); } } if (isError) { TempData["error"] = isError; TempData["viewMessage"] = "Ocurrio un error al intentar cargar el archivo"; } else { TempData["error"] = isError; TempData["viewMessage"] = "Se ha realizado la actualización de los Patrones con exito!"; } return count; }
public void uploadMovimientos(String registro, String numeroAfiliacion, int aseguradoId, String path) { SUAHelper sua = null; try { //Realizamos la conexión sua = new SUAHelper(path); String sSQL = "SELECT a.REG_PATR , a.NUM_AFIL , a.TIP_MOVS , a.FEC_INIC , a.CON_SEC , " + " a.NUM_DIAS , a.SAL_MOVT , a.SAL_MOVT2 , a.MES_ANO , a.FEC_REAL , " + " a.FOL_INC , a.CVE_MOVS , a.SAL_MOVT3 , a.TIP_INC , a.EDO_MOV , " + " a.FEC_EXT , a.SAL_ANT1 , a.SAL_ANT2 , a.SAL_ANT3 , a.ART_33 , " + " a.TIP_SAL , a.TIP_RIE , a.TIP_REC , a.NUM_CRE , a.VAL_DES , " + " a.TIP_DES , a.TAB_DISM " + " FROM Movtos a " + " WHERE a.REG_PATR = '" + registro + "'" + " AND a.NUM_AFIL = '" + numeroAfiliacion + "'" + " ORDER BY a.NUM_AFIL "; //Ejecutamos la consulta DataTable dt = sua.ejecutarSQL(sSQL); foreach (DataRow rows in dt.Rows) { String folio = rows["FOL_INC"].ToString(); MovimientosAsegurado movimiento = new MovimientosAsegurado(); movimiento.fechaInicio = DateTime.Parse(rows["FEC_INIC"].ToString()); movimiento.aseguradoId = aseguradoId; movimiento.sdi = rows["SAL_MOVT"].ToString(); String tipoMov = "01"; if (!string.IsNullOrEmpty(rows["TIP_MOVS"].ToString().Trim())) { tipoMov = rows["TIP_MOVS"].ToString().Trim(); } //Validamos que ese movimiento no se haya guardado anteriormente var movTemp = (from s in db.MovimientosAseguradoes .Where(s => s.aseguradoId.Equals(aseguradoId) && s.catalogoMovimiento.tipo.Equals(tipoMov.Trim()) && s.fechaInicio.Equals(movimiento.fechaInicio)) select s).FirstOrDefault(); if (movTemp == null) { if (rows["NUM_DIAS"].ToString() != null && !rows["NUM_DIAS"].ToString().Equals("")) { movimiento.numeroDias = int.Parse(rows["NUM_DIAS"].ToString()); } if (folio != null && !folio.Equals("")) { var incapacidadTemp = from b in db.Incapacidades where b.folioIncapacidad.Equals(folio.Trim()) select b; if (incapacidadTemp != null && incapacidadTemp.Count() > 0) { foreach (var incapacidadItem in incapacidadTemp) { movimiento.Incapacidade = incapacidadItem; movimiento.incapacidadId = incapacidadItem.id; break; }//Definimos los valores para la plaza } } var tipoTemp = db.catalogoMovimientos.Where(b => b.tipo == tipoMov).FirstOrDefault(); if (tipoTemp != null) { movimiento.catalogoMovimiento = (catalogoMovimiento)tipoTemp; } else { catalogoMovimiento catMov = new catalogoMovimiento(); catMov.id = 1; catMov.tipo = "01"; movimiento.catalogoMovimiento = catMov; } movimiento.credito = rows["NUM_CRE"].ToString(); movimiento.estatus = rows["EDO_MOV"].ToString(); //Guardamos el movimiento try { db.MovimientosAseguradoes.Add(movimiento); db.SaveChanges(); } catch (DbEntityValidationException ex) { StringBuilder sb = new StringBuilder(); foreach (var failure in ex.EntityValidationErrors) { sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType()); foreach (var error in failure.ValidationErrors) { sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage); sb.AppendLine(); } } } } }//Ya existe ese movimiento for fecha y tipo? } catch (OleDbException ex) { if (ex.Source != null) { Console.WriteLine(ex.Source); } } finally { if (sua != null) { sua.cerrarConexion(); } } }
public void uploadIncapacidades(String registro, String numeroAfiliacion, int aseguradoId, String path) { SUAHelper sua = null; try { //Realizamos la conexión sua = new SUAHelper(path); String sSQL = "SELECT a.REG_PAT , a.NUM_AFI , a.FEC_ACC , a.FOL_INC , a.GRUPO_INC , " + " a.REC_REV , a.CONSECUENCIA , a.TIP_RIE , a.RAM_SEG , a.SECUELA , " + " a.CON_INC , a.DIA_SUB , a.POR_INC , a.IND_DEF , a.FEC_TER " + " FROM Incapacidades a " + " WHERE a.REG_PAT = '" + registro + "'" + " AND a.NUM_AFI = '" + numeroAfiliacion + "'" + " ORDER BY a.NUM_AFI "; //Ejecutamos la consulta DataTable dt = sua.ejecutarSQL(sSQL); foreach (DataRow rows in dt.Rows) { Boolean bExist = false; String folio = rows["FOL_INC"].ToString(); Incapacidade incapacidad = new Incapacidade(); var incapacidadTemp = from b in db.Incapacidades where b.folioIncapacidad.Equals(folio.Trim()) select b; if (incapacidadTemp != null && incapacidadTemp.Count() > 0) { foreach (var incapacidadItem in incapacidadTemp) { incapacidad = incapacidadItem; bExist = true; break; }//Definimos los valores para la plaza } //Creamos la nueva incapacidad if (!bExist) { incapacidad.aseguradoId = aseguradoId; incapacidad.folioIncapacidad = rows["FOL_INC"].ToString(); } incapacidad.fechaAcc = DateTime.Parse(rows["FEC_ACC"].ToString()); incapacidad.grupoIncapacidad = rows["GRUPO_INC"].ToString(); incapacidad.recRev = rows["REC_REV"].ToString(); incapacidad.consecuencia = rows["CONSECUENCIA"].ToString(); incapacidad.tieRie = rows["TIP_RIE"].ToString(); incapacidad.ramSeq = rows["RAM_SEG"].ToString(); incapacidad.secuela = rows["SECUELA"].ToString(); incapacidad.conInc = rows["CON_INC"].ToString(); incapacidad.diaSub = int.Parse(rows["DIA_SUB"].ToString()); incapacidad.porcentajeIncapacidad = Decimal.Parse(rows["POR_INC"].ToString()); incapacidad.indDef = rows["IND_DEF"].ToString(); incapacidad.fecTer = DateTime.Parse(rows["FEC_TER"].ToString()); incapacidad.tipoIncapacidad = incapacidad.ramSeq.Substring(0, 1); //Guardamos la incapacidad try { if (bExist) { db.Entry(incapacidad).State = EntityState.Modified; } else { db.Incapacidades.Add(incapacidad); } db.SaveChanges(); } catch (DbEntityValidationException ex) { StringBuilder sb = new StringBuilder(); foreach (var failure in ex.EntityValidationErrors) { sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType()); foreach (var error in failure.ValidationErrors) { sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage); sb.AppendLine(); } } } } } catch (OleDbException ex) { if (ex.Source != null) { Console.WriteLine(ex.Source); } } finally { if (sua != null) { sua.cerrarConexion(); } } }