public static void FileUploadComplete(object sender, DevExpress.Web.FileUploadCompleteEventArgs e) { #region Variables cp_proveedor_List ListaProveedor = new cp_proveedor_List(); List <cp_proveedor_Info> Lista_Proveedor = new List <cp_proveedor_Info>(); cp_proveedor_clase_List ListaClaseProveedor = new cp_proveedor_clase_List(); List <cp_proveedor_clase_Info> Lista_ClaseProveedor = new List <cp_proveedor_clase_Info>(); tb_persona_Bus bus_persona = new tb_persona_Bus(); int cont = 0; decimal IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual); int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); #endregion Stream stream = new MemoryStream(e.UploadedFile.FileBytes); if (stream.Length > 0) { IExcelDataReader reader = null; reader = ExcelReaderFactory.CreateOpenXmlReader(stream); #region ClaseProveedor while (reader.Read()) { if (!reader.IsDBNull(0) && cont > 0) { cp_proveedor_clase_Info info = new cp_proveedor_clase_Info { IdEmpresa = IdEmpresa, IdClaseProveedor = Convert.ToInt32(reader.GetValue(0)), cod_clase_proveedor = Convert.ToString(reader.GetValue(1)), descripcion_clas_prove = Convert.ToString(reader.GetValue(2)), IdCtaCble_gasto = null, //Convert.ToString(reader.GetValue(3)), IdCtaCble_CXP = null, //Convert.ToString(reader.GetValue(4)), IdUsuario = SessionFixed.IdUsuario }; Lista_ClaseProveedor.Add(info); } else { cont++; } } ListaClaseProveedor.set_list(Lista_ClaseProveedor, IdTransaccionSession); #endregion cont = 0; //Para avanzar a la siguiente hoja de excel reader.NextResult(); #region Proveedor var lst_persona = bus_persona.get_list(false); while (reader.Read()) { if (!reader.IsDBNull(0) && cont > 0) { var cedula_ruc = (Convert.ToString(reader.GetValue(3))).Trim(); tb_persona_Info info_persona = new tb_persona_Info(); tb_persona_Info info_persona_prov = new tb_persona_Info(); var return_naturaleza = ""; info_persona = lst_persona.Where(q => q.pe_cedulaRuc.Trim() == cedula_ruc.Trim()).FirstOrDefault(); info_persona_prov = info_persona; if (cl_funciones.ValidaIdentificacion(Convert.ToString(reader.GetValue(2)), Convert.ToString(reader.GetValue(4)), cedula_ruc, ref return_naturaleza)) { if (info_persona == null) { tb_persona_Info info_ = new tb_persona_Info { pe_Naturaleza = Convert.ToString(reader.GetValue(4)), pe_nombreCompleto = Convert.ToString(reader.GetValue(5)), pe_razonSocial = Convert.ToString(reader.GetValue(5)), pe_apellido = Convert.ToString(reader.GetValue(6)), pe_nombre = Convert.ToString(reader.GetValue(7)), IdTipoDocumento = Convert.ToString(reader.GetValue(2)), pe_cedulaRuc = cedula_ruc, pe_direccion = Convert.ToString(reader.GetValue(9)), pe_telfono_Contacto = Convert.ToString(reader.GetValue(10)), pe_celular = Convert.ToString(reader.GetValue(11)), pe_correo = Convert.ToString(reader.GetValue(8)), }; info_persona_prov = info_; } else { info_persona_prov = bus_persona.get_info(info_persona.IdPersona); info_persona_prov.pe_Naturaleza = Convert.ToString(reader.GetValue(4)); info_persona_prov.pe_nombreCompleto = Convert.ToString(reader.GetValue(5)); info_persona_prov.pe_razonSocial = Convert.ToString(reader.GetValue(5)); info_persona_prov.pe_apellido = Convert.ToString(reader.GetValue(6)); info_persona_prov.pe_nombre = Convert.ToString(reader.GetValue(7)); info_persona_prov.IdTipoDocumento = Convert.ToString(reader.GetValue(2)); info_persona_prov.pe_cedulaRuc = cedula_ruc; info_persona_prov.pe_direccion = Convert.ToString(reader.GetValue(9)); info_persona_prov.pe_telfono_Contacto = Convert.ToString(reader.GetValue(10)); info_persona_prov.pe_celular = Convert.ToString(reader.GetValue(11)); info_persona_prov.pe_correo = Convert.ToString(reader.GetValue(8)); } info_persona_prov.pe_Naturaleza = return_naturaleza; cp_proveedor_Info info = new cp_proveedor_Info { IdEmpresa = IdEmpresa, IdProveedor = Convert.ToInt32(reader.GetValue(0)), IdPersona = info_persona_prov.IdPersona, IdCiudad = "09", pr_codigo = string.IsNullOrEmpty(Convert.ToString(reader.GetValue(1))) ? null : Convert.ToString(reader.GetValue(1)), pr_plazo = Convert.ToInt32(reader.GetValue(19)), IdCtaCble_CXP = string.IsNullOrEmpty(Convert.ToString(reader.GetValue(15))) ? null : Convert.ToString(reader.GetValue(15)), IdCtaCble_Gasto = string.IsNullOrEmpty(Convert.ToString(reader.GetValue(14))) ? null : Convert.ToString(reader.GetValue(14)), IdClaseProveedor = Convert.ToInt32(reader.GetValue(13)), num_cta_acreditacion = string.IsNullOrEmpty(Convert.ToString(reader.GetValue(18))) ? null : Convert.ToString(reader.GetValue(18)), IdBanco_acreditacion = 4, es_empresa_relacionada = (Convert.ToString(reader.GetValue(12)) == "SI") ? true : false, pr_telefonos = Convert.ToString(reader.GetValue(10)), pr_celular = Convert.ToString(reader.GetValue(11)), pr_direccion = Convert.ToString(reader.GetValue(9)), pr_correo = Convert.ToString(reader.GetValue(8)), IdUsuario = SessionFixed.IdUsuario, }; info.info_persona = info_persona_prov; if (Lista_Proveedor.Where(q => q.info_persona.pe_cedulaRuc == info_persona_prov.pe_cedulaRuc).Count() == 0) { Lista_Proveedor.Add(info); } } } else { cont++; } } ListaProveedor.set_list(Lista_Proveedor, IdTransaccionSession); #endregion } }