public static void FileUploadComplete(object sender, DevExpress.Web.FileUploadCompleteEventArgs e) { #region Variables fa_cliente_tipo_List ListaClienteTipo = new fa_cliente_tipo_List(); List <fa_cliente_tipo_Info> Lista_ClienteTipo = new List <fa_cliente_tipo_Info>(); fa_cliente_List ListaCliente = new fa_cliente_List(); List <fa_cliente_Info> Lista_Cliente = new List <fa_cliente_Info>(); fa_cliente_contactos_List List_fa_cliente_contactos = new fa_cliente_contactos_List(); List <fa_cliente_contactos_Info> Lista_ClienteContactos = new List <fa_cliente_contactos_Info>(); fa_cliente_x_fa_Vendedor_x_sucursal_list List_fa_cliente_x_fa_Vendedor_x_sucursal = new fa_cliente_x_fa_Vendedor_x_sucursal_list(); List <fa_cliente_x_fa_Vendedor_x_sucursal_Info> Lista_ClienteVendedor = new List <fa_cliente_x_fa_Vendedor_x_sucursal_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 ClienteTipo while (reader.Read()) { if (!reader.IsDBNull(0) && cont > 0) { fa_cliente_tipo_Info info = new fa_cliente_tipo_Info { IdEmpresa = IdEmpresa, Idtipo_cliente = Convert.ToInt32(reader.GetValue(0)), Cod_cliente_tipo = Convert.ToString(reader.GetValue(1)), Descripcion_tip_cliente = Convert.ToString(reader.GetValue(2)), IdCtaCble_CXC_Cred = Convert.ToString(reader.GetValue(3)), IdUsuario = SessionFixed.IdUsuario }; Lista_ClienteTipo.Add(info); } else { cont++; } } ListaClienteTipo.set_list(Lista_ClienteTipo, IdTransaccionSession); #endregion cont = 0; //Para avanzar a la siguiente hoja de excel reader.NextResult(); #region Cliente var lst_persona = bus_persona.get_list(false); while (reader.Read()) { if (!reader.IsDBNull(0) && cont > 0) { var return_naturaleza = ""; var cedula_ruc = (Convert.ToString(reader.GetValue(3))).Trim(); tb_persona_Info info_persona = new tb_persona_Info(); tb_persona_Info info_persona_cliente = new tb_persona_Info(); info_persona = lst_persona.Where(q => q.pe_cedulaRuc == cedula_ruc).FirstOrDefault(); info_persona_cliente = 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(6)) + ' ' + Convert.ToString(reader.GetValue(7)), 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_cliente = info_; } else { info_persona_cliente = bus_persona.get_info(info_persona.IdPersona); var x = Convert.ToString(reader.GetValue(4)); info_persona_cliente.pe_Naturaleza = x; info_persona_cliente.pe_nombreCompleto = Convert.ToString(reader.GetValue(6)) + ' ' + Convert.ToString(reader.GetValue(7)); info_persona_cliente.pe_razonSocial = Convert.ToString(reader.GetValue(5)); info_persona_cliente.pe_apellido = Convert.ToString(reader.GetValue(6)); info_persona_cliente.pe_nombre = Convert.ToString(reader.GetValue(7)); info_persona_cliente.IdTipoDocumento = Convert.ToString(reader.GetValue(2)); info_persona_cliente.pe_cedulaRuc = cedula_ruc; info_persona_cliente.pe_direccion = Convert.ToString(reader.GetValue(9)); info_persona_cliente.pe_telfono_Contacto = Convert.ToString(reader.GetValue(10)); info_persona_cliente.pe_celular = Convert.ToString(reader.GetValue(11)); info_persona_cliente.pe_correo = Convert.ToString(reader.GetValue(8)); } info_persona_cliente.pe_Naturaleza = return_naturaleza; info_persona_cliente.pe_nombreCompleto = (info_persona_cliente.pe_razonSocial != "" ? info_persona_cliente.pe_razonSocial : (info_persona_cliente.pe_apellido + ' ' + info_persona.pe_nombre)); var CtaCbleClase = Lista_ClienteTipo.Where(q => q.Idtipo_cliente == Convert.ToInt32(reader.GetValue(13))).FirstOrDefault(); fa_cliente_Info info = new fa_cliente_Info { IdEmpresa = IdEmpresa, IdPersona = info_persona_cliente.IdPersona, IdCliente = Convert.ToInt32(reader.GetValue(0)), Codigo = Convert.ToString(reader.GetValue(1)), Idtipo_cliente = Convert.ToInt32(reader.GetValue(13)), cl_plazo = Convert.ToInt32(reader.GetValue(15)), cl_Cupo = Convert.ToDouble(reader.GetValue(16)), IdCtaCble_cxc_Credito = CtaCbleClase == null ? null: CtaCbleClase.IdCtaCble_CXC_Cred, es_empresa_relacionada = (Convert.ToString(reader.GetValue(12)) == "SI") ? true : false, EsClienteExportador = false, IdNivel = 1, IdTipoCredito = "CON", FormaPago = "01", IdUsuario = SessionFixed.IdUsuario, IdCiudad = Convert.ToString(reader.GetValue(18)), IdParroquia = Convert.ToString(reader.GetValue(19)), Celular = Convert.ToString(reader.GetValue(11)), Correo = Convert.ToString(reader.GetValue(8)), Direccion = Convert.ToString(reader.GetValue(9)), Telefono = Convert.ToString(reader.GetValue(10)) }; fa_cliente_contactos_Info info_cliente_contacto = new fa_cliente_contactos_Info { IdEmpresa = IdEmpresa, IdContacto = 1, IdCiudad = Convert.ToString(reader.GetValue(18)), IdParroquia = Convert.ToString(reader.GetValue(19)), Celular = Convert.ToString(reader.GetValue(11)), Correo = Convert.ToString(reader.GetValue(8)), Direccion = Convert.ToString(reader.GetValue(9)), Nombres = (Convert.ToString(reader.GetValue(4)) == "NATU") ? Convert.ToString(reader.GetValue(6)) + ' ' + Convert.ToString(reader.GetValue(7)) : Convert.ToString(reader.GetValue(5)), Telefono = Convert.ToString(reader.GetValue(10)), }; info.lst_fa_cliente_contactos = new List <fa_cliente_contactos_Info>(); info.lst_fa_cliente_contactos.Add(info_cliente_contacto); info.Lst_fa_cliente_x_fa_Vendedor_x_sucursal = new List <fa_cliente_x_fa_Vendedor_x_sucursal_Info>(); info.info_persona = info_persona_cliente; if (Lista_Cliente.Where(q => q.info_persona.pe_cedulaRuc == info_persona_cliente.pe_cedulaRuc).Count() == 0) { Lista_Cliente.Add(info); } } } else { cont++; } } ListaCliente.set_list(Lista_Cliente, IdTransaccionSession); #endregion } }