/// <summary> /// Dada una lista, compara los DVV con la tabla de DVV gurdados /// </summary> /// <typeparam name="T">List<T></typeparam> /// <param name="list">Lista</param> /// <returns>bool, true si esta ok, false si esta corrupta</returns> public bool VerificarDVV <T>(List <T> list) where T : IEntityDV { bool check = true; PropertyInfo[] Props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance); for (int i = 0; i < Props.Length; i++) { var cadena = new StringBuilder(); if (Props[i].Name != ConstantesTexto.DVH) { foreach (var e in list) { cadena.Append(Props[i].GetValue(e) ?? string.Empty); string n = Props[i].Name; } byte[] dvActual = new CryptoSeguridad().Encrypt(cadena.ToString()); List <DVV> DVVguardado = new DigitosVerificadoresDAL().ListDVV() .Where(x => x.tabla == typeof(T).Name && x.columna == Props[i].Name).ToList(); foreach (var e in DVVguardado) { if (!dvActual.SequenceEqual(e.DV)) { check = false; } } } } return(check); }
/// <summary> /// Contructor, inicia instancias /// </summary> public DigitosVerificadoresVFacade() { dvDAL = new DigitosVerificadoresDAL(); metodosDV = new DigitosVerificadoresVGenericos(); }
/// <summary> /// Llama update de DAL para actualizar una entidad con su DVH /// </summary> /// <param name="entity">IEntityDV</param> /// <param name="tabla">string</param> public void UpdateDVH(IEntityDV entity, string tabla) { DigitosVerificadoresDAL digitosVerificadoresDAL = new DigitosVerificadoresDAL(); digitosVerificadoresDAL.Update(entity, tabla); }