public override int GetHashCode() { int hash = 1; if (Id != 0) { hash ^= Id.GetHashCode(); } if (SizeUnit.Length != 0) { hash ^= SizeUnit.GetHashCode(); } if (SizeContainer.Length != 0) { hash ^= SizeContainer.GetHashCode(); } if (SizeShadow != 0) { hash ^= SizeShadow.GetHashCode(); } if (SceneScale != 0F) { hash ^= SceneScale.GetHashCode(); } if (ZoomSpeed != 0F) { hash ^= ZoomSpeed.GetHashCode(); } return(hash); }
private void SizeBuild() { var sizes = ViewModel.SizeService .GetSize(ViewModel.UoW, null, true); var excludeSizes = Entity.Sizes .Where(s => s.Size.UseInEmployee == false) .Select(x => x.Size); //добавляем исключенные размеры если они уже привязаны к сотруднику, чтобы они не проподали при пересохранении sizes.AddRange(excludeSizes); var sizeTypes = ViewModel.SizeService.GetSizeType(ViewModel.UoW, true).OrderBy(x => x.Position).ToList(); for (var index = 1; index < sizeTypes.Count + 1; index++) { var sizeType = sizeTypes[index - 1]; var employeeSize = Entity.Sizes.FirstOrDefault(x => x.SizeType.Id == sizeType.Id); var label = new yLabel { LabelProp = sizeType.Name + ":" }; label.Xalign = 1; if (sizes.All(x => x.SizeType.Id != sizeType.Id)) { continue; } var list = new SpecialListComboBox { ItemsList = sizes.Where(x => x.SizeType.Id == sizeType.Id) }; list.SetRenderTextFunc <Size>(x => x.Name); list.ShowSpecialStateNot = true; list.SelectedItemStrictTyped = true; if (employeeSize != null) { list.SelectedItem = employeeSize.Size; } list.Changed += SetSizes; table.Attach(label, 0, 1, (uint)index, (uint)(index + 1), AttachOptions.Fill, AttachOptions.Fill | AttachOptions.Expand, 0, 0); table.Attach(list, 1, 2, (uint)index, (uint)(index + 1), AttachOptions.Fill, AttachOptions.Fill | AttachOptions.Expand, 0, 0); } SizeContainer.Homogeneous = false; SizeContainer.ShowAll(); }
/// <summary> /// Публичный сеттер, позволяющий заменить размер хранилища на новый. /// </summary> /// <param name="size"> Новый контейнер, содержащий размер. </param> public void SetSize(SizeContainer size) { _size = size; }
/// <summary> /// Called when [size changed]. /// </summary> /// <param name="size">The size.</param> private void OnSizeChanged(SizeContainer size) { RenderHeight = size.Height; RenderWidth = size.Width; }
/// <summary> /// Основной конструктор, инициализирующий обязательные элементы хранилища. /// </summary> /// <param name="size"> Изначальный размер внутренней структуры. </param> public Storage(int size) { _size = new SizeContainer(size); }