public ActionResult UploadFile(HttpPostedFileBase file) { if (file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/Files/Factura"), fileName); file.SaveAs(path); List <DO_Factura> facturaActual = DataManager.GetFactura(); SLDocument sl = new SLDocument(path); List <DO_Factura> listaFactura = new List <DO_Factura>(); int iRow = 2; while (!string.IsNullOrEmpty(sl.GetCellValueAsString(iRow, 1))) { DO_Factura factura = new DO_Factura(); factura.Quincena = sl.GetCellValueAsDateTime(iRow, 2); factura.Folio = sl.GetCellValueAsString(iRow, 3); factura.ImporteBase = sl.GetCellValueAsDouble(iRow, 4); factura.ImportePosteo = sl.GetCellValueAsDouble(iRow, 5); factura.PisaE = sl.GetCellValueAsString(iRow, 6); factura.Procede2 = sl.GetCellValueAsString(iRow, 7); factura.Pago2 = sl.GetCellValueAsString(iRow, 8); factura.Fecha = sl.GetCellValueAsString(iRow, 9); factura.OSPago = sl.GetCellValueAsString(iRow, 10); factura.Estatus = sl.GetCellValueAsString(iRow, 11); factura.LineaContratada = sl.GetCellValueAsString(iRow, 12); factura.Paquete = sl.GetCellValueAsString(iRow, 13); listaFactura.Add(factura); iRow++; } int lotes = 3000; int row = 1; try { using (var Conexion = new EntitiesFilder()) { foreach (var item in listaFactura) { TBL_NET_HISTORICO_FACTURA historico = new TBL_NET_HISTORICO_FACTURA(); historico.QUINCENA = item.Quincena; historico.FOLIO_SIAC = item.Folio; historico.IMPORTE_BASE = item.ImporteBase; historico.IMPORTE_POSTEO = item.ImportePosteo; historico.PISA_E = item.PisaE; historico.PROCEDE2 = item.Procede2; historico.PAGO2 = item.Pago2; historico.FECHA = item.Fecha; historico.OS_PAGO = item.OSPago; historico.ESTATUS = item.Estatus; historico.LINEA_CONTRATADA = item.LineaContratada; historico.PAQUETE = item.Paquete; Conexion.TBL_NET_HISTORICO_FACTURA.Add(historico); if (row % lotes == 0) { Conexion.SaveChanges(); } row++; } Conexion.SaveChanges(); } List <DO_Factura> listaActualizar = new List <DO_Factura>(); List <DO_Factura> listaInsertar = new List <DO_Factura>(); foreach (var item in listaFactura) { if (facturaActual.Where(x => x.Folio == item.Folio).ToList().Count > 0) { listaActualizar.Add(item); } else { listaInsertar.Add(item); } } row = 1; using (var Conexion = new EntitiesFilder()) { foreach (var item in listaInsertar) { TBL_NET_FACTURA factura = new TBL_NET_FACTURA(); factura.QUINCENA = item.Quincena; factura.FOLIO_SIAC = item.Folio; factura.IMPORTE_BASE = item.ImporteBase; factura.IMPORTE_POSTEO = item.ImportePosteo; factura.PISA_E = item.PisaE; factura.PROCEDE2 = item.Procede2; factura.PAGO2 = item.Pago2; factura.FECHA = item.Fecha; factura.OS_PAGO = item.OSPago; factura.ESTATUS = item.Estatus; factura.LINEA_CONTRATADA = item.LineaContratada; factura.PAQUETE = item.Paquete; Conexion.TBL_NET_FACTURA.Add(factura); if (row % lotes == 0) { Conexion.SaveChanges(); } row++; } Conexion.SaveChanges(); } row = 1; using (var Conexion = new EntitiesFilder()) { foreach (var item in listaActualizar) { TBL_NET_FACTURA factura = Conexion.TBL_NET_FACTURA.Where(x => x.FOLIO_SIAC == item.Folio).FirstOrDefault(); factura.QUINCENA = item.Quincena; factura.IMPORTE_BASE = item.ImporteBase; factura.IMPORTE_POSTEO = item.ImportePosteo; factura.PISA_E = item.PisaE; factura.PROCEDE2 = item.Procede2; factura.PAGO2 = item.Pago2; factura.FECHA = item.Fecha; factura.OS_PAGO = item.OSPago; factura.ESTATUS = item.Estatus; factura.LINEA_CONTRATADA = item.LineaContratada; factura.PAQUETE = item.Paquete; Conexion.Entry(factura).State = EntityState.Modified; if (row % lotes == 0) { Conexion.SaveChanges(); } row++; } Conexion.SaveChanges(); } } catch (Exception er) { string a = er.Message; } } return(RedirectToAction("CargarFactura")); }
public ActionResult UploadPIPES() { string resultado = ""; if (Request.Files.Count > 0) { var file = Request.Files[0]; if (file != null && file.ContentLength > 0) { var filename = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/Files/PIPES/"), filename); file.SaveAs(path); SLDocument sL = new SLDocument(path); List <ModeloFolios> list = new List <ModeloFolios>(); list = DataManager.GetAllFolios(); List <ModeloFolios> ListaActualizar = new List <ModeloFolios>(); List <ModeloFolios> ListaInsertar = new List <ModeloFolios>(); try { int row = 2; while (!string.IsNullOrEmpty(sL.GetCellValueAsString(row, 2))) { ModeloFolios modeloFolio = new ModeloFolios(); string codigoNominaOperador = sL.GetCellValueAsString(row, 3); modeloFolio.FECHA_CAPTURA = sL.GetCellValueAsDateTime(row, 1); modeloFolio.ESTRATEGIA = sL.GetCellValueAsString(row, 2); modeloFolio.PROMOTOR = sL.GetCellValueAsString(row, 3); modeloFolio.FOLIO_SIAC = sL.GetCellValueAsString(row, 4); modeloFolio.ESTATUS_SIAC = sL.GetCellValueAsString(row, 5); modeloFolio.TIPO_LINEA = sL.GetCellValueAsString(row, 6); modeloFolio.LINEA_CONTRATADA = sL.GetCellValueAsString(row, 7); modeloFolio.AREA = sL.GetCellValueAsString(row, 8); modeloFolio.DIVICION = sL.GetCellValueAsString(row, 9); modeloFolio.TIENDA = sL.GetCellValueAsString(row, 10); modeloFolio.PAQUETE = sL.GetCellValueAsString(row, 11); modeloFolio.OBSERVACIONES = sL.GetCellValueAsString(row, 12); modeloFolio.RESPUESTA_TELMEX = sL.GetCellValueAsString(row, 13); modeloFolio.MOTIVO_RECHAZO = sL.GetCellValueAsString(row, 14); modeloFolio.TELEFONO_ASIGNADO = sL.GetCellValueAsString(row, 15); modeloFolio.TELEFONO_PORTADO = sL.GetCellValueAsString(row, 16); modeloFolio.OS_ALTA_LINEA_MULTIORDEN = sL.GetCellValueAsString(row, 17); modeloFolio.FECHA_OS_ALTA_LINEA_MULTIORDEN = sL.GetCellValueAsString(row, 18); modeloFolio.ORDEN_SERVICIO_TV = sL.GetCellValueAsString(row, 19); modeloFolio.FECHA_OS_TV = sL.GetCellValueAsString(row, 20); modeloFolio.CAMPANA = sL.GetCellValueAsString(row, 21); modeloFolio.ESTATUS_ATENCION_MULTIORDEN = sL.GetCellValueAsString(row, 22); modeloFolio.ESTATUS_PISA_MULTIORDEN = sL.GetCellValueAsString(row, 23); modeloFolio.PISA_OS_FECHA_POSTEO_MULTIORDEN = sL.GetCellValueAsString(row, 24); modeloFolio.ESTATUS_PISA_TV = sL.GetCellValueAsString(row, 25); modeloFolio.PISA_OS_FECHA_POSTEO_TV = sL.GetCellValueAsString(row, 26); modeloFolio.FECHA_CAMBIO_ESTATUS_SIAC = sL.GetCellValueAsString(row, 27); modeloFolio.CLAVE_EMPRESA = sL.GetCellValueAsString(row, 28); modeloFolio.NOMBRE_EMPRESA = sL.GetCellValueAsString(row, 29); modeloFolio.SERVICIO_FACTURACION_TERCEROS = sL.GetCellValueAsString(row, 30); modeloFolio.ETAPA_PISA_MULTIORDEN = sL.GetCellValueAsString(row, 31); modeloFolio.ETAPA_PISA_TV = sL.GetCellValueAsString(row, 32); modeloFolio.ETIQUETA_TRAFICO_VOZ = sL.GetCellValueAsString(row, 33); modeloFolio.TRAFICO_VOZ_ENTRANTE = sL.GetCellValueAsString(row, 34); modeloFolio.TRAFICO_VOZ_SALIENTE = sL.GetCellValueAsString(row, 35); modeloFolio.FECHA_TRAFICO_VOZ = sL.GetCellValueAsString(row, 36); modeloFolio.TRAFICO_DATOS = sL.GetCellValueAsString(row, 37); modeloFolio.FECHA_TRAFICO_DATOS = sL.GetCellValueAsString(row, 38); modeloFolio.FECHA_FACTURCION = sL.GetCellValueAsString(row, 39); modeloFolio.DESCRIPCION_VALIDA_ADEUDO = sL.GetCellValueAsString(row, 40); modeloFolio.CORREO_ELECTRONICO = sL.GetCellValueAsString(row, 41); modeloFolio.FECHA_NACIMIENTO = sL.GetCellValueAsString(row, 42); modeloFolio.ID = sL.GetCellValueAsString(row, 43); modeloFolio.TERMINAL = sL.GetCellValueAsString(row, 44); modeloFolio.DISTRITO = sL.GetCellValueAsString(row, 45); modeloFolio.TECELULAR = sL.GetCellValueAsString(row, 46); //No estan en base de datos. //Faltan los que no están en base de datos. if (list.Where(x => x.FOLIO_SIAC == modeloFolio.FOLIO_SIAC).ToList().Count == 0) { ListaInsertar.Add(modeloFolio); } else { ListaActualizar.Add(modeloFolio); } row++; } //Insertamos los registros. int lotes = 3000; row = 1; using (var db = new EntitiesFilder()) { foreach (ModeloFolios folio in ListaInsertar) { TBL_FOLIOS tBL_FOLIOS = new TBL_FOLIOS(); tBL_FOLIOS.FECHA_CAPTURA = folio.FECHA_CAPTURA; tBL_FOLIOS.ESTRATEGIA = folio.ESTRATEGIA; tBL_FOLIOS.PROMOTOR = folio.PROMOTOR; tBL_FOLIOS.FOLIO_SIAC = folio.FOLIO_SIAC; tBL_FOLIOS.ESTATUS_SIAC = folio.ESTATUS_SIAC; tBL_FOLIOS.TIPO_LINEA = folio.TIPO_LINEA; tBL_FOLIOS.LINEA_CONTRATADA = folio.LINEA_CONTRATADA; tBL_FOLIOS.AREA = folio.AREA; tBL_FOLIOS.DIVICION = folio.DIVICION; tBL_FOLIOS.TIENDA = folio.TIENDA; tBL_FOLIOS.PAQUETE = folio.PAQUETE; tBL_FOLIOS.OBSERVACIONES = folio.OBSERVACIONES; tBL_FOLIOS.RESPUESTA_TELMEX = folio.RESPUESTA_TELMEX; tBL_FOLIOS.MOTIVO_RECHAZO = folio.MOTIVO_RECHAZO; tBL_FOLIOS.TELEFONO_ASIGNADO = folio.TELEFONO_ASIGNADO; tBL_FOLIOS.TELEFONO_PORTADO = folio.TELEFONO_PORTADO; tBL_FOLIOS.OS_ALTA_LINEA_MULTIORDEN = folio.OS_ALTA_LINEA_MULTIORDEN; tBL_FOLIOS.FECHA_OS_ALTA_LINEA_MULTIORDEN = folio.FECHA_OS_ALTA_LINEA_MULTIORDEN; tBL_FOLIOS.ORDEN_SERVICIO_TV = folio.ORDEN_SERVICIO_TV; tBL_FOLIOS.FECHA_OS_TV = folio.FECHA_OS_TV; tBL_FOLIOS.CAMPANA = folio.CAMPANA; tBL_FOLIOS.ESTATUS_ATENCION_MULTIORDEN = folio.ESTATUS_ATENCION_MULTIORDEN; tBL_FOLIOS.ESTATUS_PISA_MULTIORDEN = folio.ESTATUS_PISA_MULTIORDEN; tBL_FOLIOS.PISA_OS_FECHA_POSTEO_MULTIORDEN = folio.PISA_OS_FECHA_POSTEO_MULTIORDEN; tBL_FOLIOS.ESTATUS_PISA_TV = folio.ESTATUS_PISA_TV; tBL_FOLIOS.PISA_OS_FECHA_POSTEO_TV = folio.PISA_OS_FECHA_POSTEO_TV; tBL_FOLIOS.FECHA_CAMBIO_ESTATUS_SIAC = folio.FECHA_CAMBIO_ESTATUS_SIAC; tBL_FOLIOS.CLAVE_EMPRESA = folio.CLAVE_EMPRESA; tBL_FOLIOS.NOMBRE_EMPRESA = folio.NOMBRE_EMPRESA; tBL_FOLIOS.SERVICIO_FACTURACION_TERCEROS = folio.SERVICIO_FACTURACION_TERCEROS; tBL_FOLIOS.ETAPA_PISA_MULTIORDEN = folio.ETAPA_PISA_MULTIORDEN; tBL_FOLIOS.ETAPA_PISA_TV = folio.ETAPA_PISA_TV; tBL_FOLIOS.ETIQUETA_TRAFICO_VOZ = folio.ETIQUETA_TRAFICO_VOZ; tBL_FOLIOS.TRAFICO_VOZ_ENTRANTE = folio.TRAFICO_VOZ_ENTRANTE; tBL_FOLIOS.TRAFICO_VOZ_SALIENTE = folio.TRAFICO_VOZ_SALIENTE; tBL_FOLIOS.FECHA_TRAFICO_VOZ = folio.FECHA_TRAFICO_VOZ; tBL_FOLIOS.TRAFICO_DATOS = folio.TRAFICO_DATOS; tBL_FOLIOS.FECHA_TRAFICO_DATOS = folio.FECHA_TRAFICO_DATOS; tBL_FOLIOS.FECHA_FACTURCION = folio.FECHA_FACTURCION; tBL_FOLIOS.DESCRIPCION_VALIDA_ADEUDO = folio.DESCRIPCION_VALIDA_ADEUDO; tBL_FOLIOS.CORREO_ELECTRONICO = folio.CORREO_ELECTRONICO; tBL_FOLIOS.FECHA_NACIMIENTO = folio.FECHA_NACIMIENTO; tBL_FOLIOS.ID = folio.ID; tBL_FOLIOS.TERMINAL = folio.TERMINAL; tBL_FOLIOS.DISTRITO = folio.DISTRITO; tBL_FOLIOS.TECELULAR = folio.TECELULAR; db.TBL_FOLIOS.Add(tBL_FOLIOS); if (row % lotes == 0) { db.SaveChanges(); } row++; } db.SaveChanges(); } row = 1; using (var db = new EntitiesFilder()) { foreach (var folio in ListaActualizar) { TBL_FOLIOS tBL_FOLIOS = db.TBL_FOLIOS.Where(x => x.FOLIO_SIAC == folio.FOLIO_SIAC).FirstOrDefault(); tBL_FOLIOS.FECHA_CAPTURA = folio.FECHA_CAPTURA; tBL_FOLIOS.ESTRATEGIA = folio.ESTRATEGIA; tBL_FOLIOS.PROMOTOR = folio.PROMOTOR; tBL_FOLIOS.ESTATUS_SIAC = folio.ESTATUS_SIAC; tBL_FOLIOS.TIPO_LINEA = folio.TIPO_LINEA; tBL_FOLIOS.LINEA_CONTRATADA = folio.LINEA_CONTRATADA; tBL_FOLIOS.AREA = folio.AREA; tBL_FOLIOS.DIVICION = folio.DIVICION; tBL_FOLIOS.TIENDA = folio.TIENDA; tBL_FOLIOS.PAQUETE = folio.PAQUETE; tBL_FOLIOS.OBSERVACIONES = folio.OBSERVACIONES; tBL_FOLIOS.RESPUESTA_TELMEX = folio.RESPUESTA_TELMEX; tBL_FOLIOS.MOTIVO_RECHAZO = folio.MOTIVO_RECHAZO; tBL_FOLIOS.TELEFONO_ASIGNADO = folio.TELEFONO_ASIGNADO; tBL_FOLIOS.TELEFONO_PORTADO = folio.TELEFONO_PORTADO; tBL_FOLIOS.OS_ALTA_LINEA_MULTIORDEN = folio.OS_ALTA_LINEA_MULTIORDEN; tBL_FOLIOS.FECHA_OS_ALTA_LINEA_MULTIORDEN = folio.FECHA_OS_ALTA_LINEA_MULTIORDEN; tBL_FOLIOS.ORDEN_SERVICIO_TV = folio.ORDEN_SERVICIO_TV; tBL_FOLIOS.FECHA_OS_TV = folio.FECHA_OS_TV; tBL_FOLIOS.CAMPANA = folio.CAMPANA; tBL_FOLIOS.ESTATUS_ATENCION_MULTIORDEN = folio.ESTATUS_ATENCION_MULTIORDEN; tBL_FOLIOS.ESTATUS_PISA_MULTIORDEN = folio.ESTATUS_PISA_MULTIORDEN; tBL_FOLIOS.PISA_OS_FECHA_POSTEO_MULTIORDEN = folio.PISA_OS_FECHA_POSTEO_MULTIORDEN; tBL_FOLIOS.ESTATUS_PISA_TV = folio.ESTATUS_PISA_TV; tBL_FOLIOS.PISA_OS_FECHA_POSTEO_TV = folio.PISA_OS_FECHA_POSTEO_TV; tBL_FOLIOS.FECHA_CAMBIO_ESTATUS_SIAC = folio.FECHA_CAMBIO_ESTATUS_SIAC; tBL_FOLIOS.CLAVE_EMPRESA = folio.CLAVE_EMPRESA; tBL_FOLIOS.NOMBRE_EMPRESA = folio.NOMBRE_EMPRESA; tBL_FOLIOS.SERVICIO_FACTURACION_TERCEROS = folio.SERVICIO_FACTURACION_TERCEROS; tBL_FOLIOS.ETAPA_PISA_MULTIORDEN = folio.ETAPA_PISA_MULTIORDEN; tBL_FOLIOS.ETAPA_PISA_TV = folio.ETAPA_PISA_TV; tBL_FOLIOS.ETIQUETA_TRAFICO_VOZ = folio.ETIQUETA_TRAFICO_VOZ; tBL_FOLIOS.TRAFICO_VOZ_ENTRANTE = folio.TRAFICO_VOZ_ENTRANTE; tBL_FOLIOS.TRAFICO_VOZ_SALIENTE = folio.TRAFICO_VOZ_SALIENTE; tBL_FOLIOS.FECHA_TRAFICO_VOZ = folio.FECHA_TRAFICO_VOZ; tBL_FOLIOS.TRAFICO_DATOS = folio.TRAFICO_DATOS; tBL_FOLIOS.FECHA_TRAFICO_DATOS = folio.FECHA_TRAFICO_DATOS; tBL_FOLIOS.FECHA_FACTURCION = folio.FECHA_FACTURCION; tBL_FOLIOS.DESCRIPCION_VALIDA_ADEUDO = folio.DESCRIPCION_VALIDA_ADEUDO; tBL_FOLIOS.CORREO_ELECTRONICO = folio.CORREO_ELECTRONICO; tBL_FOLIOS.FECHA_NACIMIENTO = folio.FECHA_NACIMIENTO; tBL_FOLIOS.ID = folio.ID; tBL_FOLIOS.TERMINAL = folio.TERMINAL; tBL_FOLIOS.DISTRITO = folio.DISTRITO; tBL_FOLIOS.TECELULAR = folio.TECELULAR; //Se cambia el estado de registro a modificado. db.Entry(tBL_FOLIOS).State = EntityState.Modified; if (row % lotes == 0) { db.SaveChanges(); } row++; } db.SaveChanges(); } resultado = "Existoso!"; } catch (Exception er) { resultado = "Error al subir el archivo." + er.Message; } } else { resultado = "El archivo esta vacío"; } } else { resultado = "No se selecciono archivos"; } DataManager.InsertLog(((ModeloUsuarios)Session["USER_LOGGED"]).NOMBRE_COMPLETO, "Se actualiza PIPES, resultado:" + resultado); return(View("CargarPIPES")); }
public ActionResult UploadFile(HttpPostedFileBase file) { if (file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/Files/Bono/"), fileName); file.SaveAs(path); List <DO_Bono> lBonoActual = DataManager.GetBono(); SLDocument sl = new SLDocument(path); List <DO_Bono> listaBono = new List <DO_Bono>(); int iRow = 2; while (!string.IsNullOrEmpty(sl.GetCellValueAsString(iRow, 1))) { DO_Bono bono = new DO_Bono(); bono.Quincena = sl.GetCellValueAsDateTime(iRow, 1); bono.Rubro = sl.GetCellValueAsString(iRow, 2); bono.Folio = sl.GetCellValueAsString(iRow, 3); bono.ImporteEfectividad = sl.GetCellValueAsDouble(iRow, 4); bono.ImporteComercio = sl.GetCellValueAsDouble(iRow, 5); bono.ImporteCalidad = sl.GetCellValueAsDouble(iRow, 6); listaBono.Add(bono); iRow++; } int lotes = 3000; int row = 1; try { using (var Conexion = new EntitiesFilder()) { foreach (var item in listaBono) { TBL_NET_BONO_HISTORICO historico = new TBL_NET_BONO_HISTORICO(); historico.QUINCENA = item.Quincena; historico.RUBRO = item.Rubro; historico.FOLIO = item.Folio; historico.IMPORTE_EFECTIVIDAD = item.ImporteEfectividad; historico.IMPORTE_COMERCIO = item.ImporteComercio; historico.IMPORTE_CALIDAD = item.ImporteCalidad; Conexion.TBL_NET_BONO_HISTORICO.Add(historico); if (row % lotes == 0) { Conexion.SaveChanges(); } row++; } Conexion.SaveChanges(); } List <DO_Bono> listaActualizar = new List <DO_Bono>(); List <DO_Bono> listaInsertar = new List <DO_Bono>(); foreach (var item in listaBono) { if (lBonoActual.Where(x => x.Folio == item.Folio).ToList().Count > 0) { listaActualizar.Add(item); } else { listaInsertar.Add(item); } } row = 1; using (var Conexion = new EntitiesFilder()) { foreach (var item in listaInsertar) { TBL_NET_BONO bono = new TBL_NET_BONO(); bono.QUINCENA = item.Quincena; bono.RUBRO = item.Rubro; bono.FOLIO = item.Folio; bono.IMPORTE_CALIDAD = item.ImporteCalidad; bono.IMPORTE_COMERCIO = item.ImporteComercio; bono.IMPORTE_EFECTIVIDAD = item.ImporteEfectividad; Conexion.TBL_NET_BONO.Add(bono); if (row % lotes == 0) { Conexion.SaveChanges(); } row++; } Conexion.SaveChanges(); } row = 1; using (var Conexion = new EntitiesFilder()) { foreach (var item in listaActualizar) { TBL_NET_BONO bono = Conexion.TBL_NET_BONO.Where(x => x.FOLIO == item.Folio).FirstOrDefault(); bono.QUINCENA = item.Quincena; bono.RUBRO = item.Rubro; if (bono.IMPORTE_CALIDAD == 0) { bono.IMPORTE_CALIDAD = item.ImporteCalidad; } if (bono.IMPORTE_COMERCIO == 0) { bono.IMPORTE_COMERCIO = item.ImporteComercio; } if (bono.IMPORTE_EFECTIVIDAD == 0) { bono.IMPORTE_EFECTIVIDAD = item.ImporteEfectividad; } Conexion.Entry(bono).State = System.Data.Entity.EntityState.Modified; if (row % lotes == 0) { Conexion.SaveChanges(); } row++; } Conexion.SaveChanges(); } } catch (Exception) { throw; } } return(RedirectToAction("CargarBono")); }