public EnumColumnDictionary() { ITypeProvider typeProvider = TypeProviderFactory.Get(typeof(T)); _comparer = new EqualityComparerAdapter <T>((IXArrayComparer <T>)typeProvider.TryGetComparer()); _copier = (IValueCopier <T>)typeProvider.TryGetCopier(); Reset(HashCore.SizeForCapacity(256)); }
public ulong GetHashCode(T x) { ulong hash; if (x is IEnumerable <byte> byteArr) { hash = HashCore.RolloutHash32(byteArr, prime); } else if (x is IEnumerable <sbyte> sbyteArr) { hash = HashCore.RolloutHash32(sbyteArr, prime); } else if (x is IEnumerable <ushort> usArr) { hash = HashCore.RolloutHash32(usArr, prime); } else if (x is IEnumerable <short> sArr) { hash = HashCore.RolloutHash32(sArr, prime); } else if (x is IEnumerable <uint> uiArr) { hash = HashCore.RolloutHash32(uiArr, prime); } else if (x is IEnumerable <int> iArr) { hash = HashCore.RolloutHash32(iArr, prime); } else if (x is IEnumerable <ulong> ulArr) { hash = HashCore.RolloutHash32(ulArr, prime); } else if (x is IEnumerable <long> lArr) { hash = HashCore.RolloutHash32(lArr, prime); } else if (x is IEnumerable <char> cArr) { hash = HashCore.RolloutHash32(cArr, prime); } else if (x is IEnumerable <string> strArr) { hash = HashCore.RolloutHash32(strArr, prime); } // else if (x is string str) return HashHelpers.RolloutHash32(str, prime); else { hash = (ulong)x.GetHashCode(); } return(HashCore.Mix64(hash, rnd)); }
public Message Update(StudentVM student) { var res = new Message(); try { if (student.ID > 0) { using (var context = new ModeloAula()) { var objstudent = context.STUDENTs.AsQueryable().Where(x => x.ID == student.ID).FirstOrDefault(); if (objstudent != null) { objstudent.NAME = student.Name; objstudent.LASTNAME = student.LastName; objstudent.PWD = student.PWD; objstudent.EMAIL = student.Email; objstudent.STATUS_ITEM = student.Status; objstudent.MODIFICATION_DATE = DateTime.Now; student.Token = objstudent.TOKEN = HashCore.Token(); } context.Entry(objstudent).State = EntityState.Modified; context.SaveChanges(); res.status_item = true; res.details = JsonConvert.SerializeObject(student, Formatting.None); } } else { res.status_item = false; res.details = String.Format("* Incidencia veríficar id usuario"); } } catch (Exception ex) { res.details = String.Format("* Incidencia al crear usuario detalles:{0}", ex.Message); } return(res); }
protected override void Expand() { // Save the current Keys/Values/Metadata T[] oldKeys = _keys; int[] oldValues = _values; byte[] oldMetaData = this.Metadata; int oldNullIndex = _nullItemIndex; // Expand the table Reset(HashCore.ResizeToSize(_keys.Length)); // Add items to the enlarged table for (int i = 0; i < oldMetaData.Length; ++i) { if (oldMetaData[i] > 0) { Add(oldKeys[i], oldValues[i], i == oldNullIndex); } } }