コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }
コード例 #3
0
 /// <summary>
 /// Публичный сеттер, позволяющий заменить размер хранилища на новый.
 /// </summary>
 /// <param name="size"> Новый контейнер, содержащий размер. </param>
 public void SetSize(SizeContainer size)
 {
     _size = size;
 }
コード例 #4
0
 /// <summary>
 /// Called when [size changed].
 /// </summary>
 /// <param name="size">The size.</param>
 private void OnSizeChanged(SizeContainer size)
 {
     RenderHeight = size.Height;
     RenderWidth  = size.Width;
 }
コード例 #5
0
 /// <summary>
 /// Основной конструктор, инициализирующий обязательные элементы хранилища.
 /// </summary>
 /// <param name="size"> Изначальный размер внутренней структуры. </param>
 public Storage(int size)
 {
     _size = new SizeContainer(size);
 }