}// fi public bool GetCoincidencia(int id, string denominacion, C_TipoSociedades tipoSociedad) { bool exito = false; string[] palabras = denominacion.Split(' '); if (palabras.Count() > 7) { string end = String.Join(" ", palabras, palabras.Count() - 7, 7); double porcentaje = 0; StringUtilities.LevenshteinDistance(end, tipoSociedad.SubtipoStr, out porcentaje); if (porcentaje < 0.1) { BasicEntityInfo info = new BasicEntityInfo() { Id = id, Sociedad = denominacion }; this.UpdateOrden(info, tipoSociedad); exito = true; } } return(exito); }
/// <summary> /// Verifica si la información que esta después de la última "," coincide con las siglas de los tipos de denominaciones /// </summary> private bool AfterComaProces(int id, string denominacion, ObservableCollection <C_TipoSociedades> tiposCatalogo) { BasicEntityInfo info = new BasicEntityInfo(); info.Id = id; int idCurrent = info.Id; info.Sociedad = denominacion; if (!String.IsNullOrEmpty(info.Sociedad) && !info.Sociedad.EndsWith(",")) { int index = info.Sociedad.LastIndexOf(','); if (index + 1 > info.Sociedad.Length) { } else { if (index > -1) { info.AfterComa = info.Sociedad.Substring(index + 1); info.AfterComaStr = StringUtilities.PrepareToAlphabeticalOrder(info.AfterComa); C_TipoSociedades socCorrecta = tiposCatalogo.FirstOrDefault(x => x.SiglasStr.Equals(info.AfterComaStr)); if (socCorrecta != null) { this.UpdateOrden(info, socCorrecta); return(true); } } } } return(false); }
public ObservableCollection <C_TipoSociedades> GetTipoSociedades() { ObservableCollection <C_TipoSociedades> obrasSinPadron = new ObservableCollection <C_TipoSociedades>(); SqlConnection connection = new SqlConnection(connectionString); SqlCommand cmd = null; SqlDataReader reader = null; try { connection.Open(); cmd = new SqlCommand("SELECT * FROM CatalogoSocs WHERE Siglas is not null and boactivo = 1 ORDER BY Id", connection); reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { C_TipoSociedades element = new C_TipoSociedades(); element.Id = Convert.ToInt32(reader["Id"]); element.Siglas = reader["Siglas"].ToString(); element.SiglasStr = StringUtilities.PrepareToAlphabeticalOrder(element.Siglas).Replace(" ", ""); element.TipoSociedad = reader["TipoSociedad"].ToString(); element.TipoSociedadStr = StringUtilities.PrepareToAlphabeticalOrder(element.TipoSociedad); element.Subtipo = reader["SubtipoSociedad"].ToString(); element.SubtipoStr = StringUtilities.PrepareToAlphabeticalOrder(element.Subtipo); element.SubtipoStrWoSpaces = StringUtilities.PrepareToAlphabeticalOrder(element.Subtipo).Replace(" ", ""); obrasSinPadron.Add(element); } } cmd.Dispose(); reader.Close(); } catch (SqlException ex) { string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name; ErrorUtilities.SetNewErrorMessage(ex, methodName + " Exception,PadronModel", "PadronApi"); } catch (Exception ex) { string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name; ErrorUtilities.SetNewErrorMessage(ex, methodName + " Exception,PadronModel", "PadronApi"); } finally { connection.Close(); } return(obrasSinPadron.ToList().Distinct().ToObservableCollection()); }
/// <summary> /// Actualiza el tipo de sociedad, ya sea que este en blanco o que tenga un tipo incorrecto /// </summary> /// <param name="info"></param> /// <param name="socCorrecta"></param> /// <returns></returns> public bool UpdateOrden(BasicEntityInfo info, C_TipoSociedades socCorrecta) { SqlConnection connection = new SqlConnection(connectionString); bool updateCompleted = false; try { connection.Open(); SqlCommand cmd = new SqlCommand("UPDATE CaratulasJulio2018 SET IdTipoSociedadSugerido = @Tipo, TipoSociedadSugerido = @TipoSociedadSugerido, SubTipoSociedadSugerido = @SubTipoSociedadSugerido WHERE Id = @Id", connection); cmd.Parameters.AddWithValue("@Tipo", socCorrecta.Id); cmd.Parameters.AddWithValue("@TipoSociedadSugerido", socCorrecta.TipoSociedad); cmd.Parameters.AddWithValue("@SubTipoSociedadSugerido", socCorrecta.Subtipo); cmd.Parameters.AddWithValue("@Id", info.Id); cmd.ExecuteNonQuery(); cmd.Dispose(); updateCompleted = true; } catch (SqlException ex) { string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name; ErrorUtilities.SetNewErrorMessage(ex, methodName + " Exception,ObraModel", "PadronApi"); } catch (Exception ex) { string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name; ErrorUtilities.SetNewErrorMessage(ex, methodName + " Exception,ObraModel", "PadronApi"); } finally { connection.Close(); } return(updateCompleted); }