Пример #1
0
 private void AddOption(string option)
 {
     if (!string.IsNullOrEmpty(option) && !OptionGroups.ContainsKey(option))
     {
         OptionGroups.Add(option, false);
     }
 }
Пример #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            OptionGroups optiongroups = db.OptionGroups.Find(id);

            db.OptionGroups.Remove(optiongroups);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #3
0
        //
        // GET: /OptionGroup/Delete/5

        public ActionResult Delete(int id = 0)
        {
            OptionGroups optiongroups = db.OptionGroups.Find(id);

            if (optiongroups == null)
            {
                return(HttpNotFound());
            }
            return(View(optiongroups));
        }
Пример #4
0
 public ActionResult Edit(OptionGroups optiongroups)
 {
     if (ModelState.IsValid)
     {
         db.Entry(optiongroups).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(optiongroups));
 }
Пример #5
0
        public ActionResult Create(OptionGroups optiongroups)
        {
            if (ModelState.IsValid)
            {
                db.OptionGroups.Add(optiongroups);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(optiongroups));
        }
Пример #6
0
        private void ImportOptionGroups()
        {
            foreach (GenericPostureSegment segment in Segments)
            {
                AddOption(segment.OptionGroup);
            }

            foreach (GenericPostureHandle handle in Handles)
            {
                AddOption(handle.OptionGroup);

                if (handle.Constraint != null)
                {
                    AddOption(handle.Constraint.OptionGroup);
                }
            }

            foreach (GenericPostureCircle circle in Circles)
            {
                AddOption(circle.OptionGroup);
            }

            foreach (GenericPostureAngle angle in Angles)
            {
                AddOption(angle.OptionGroup);
            }

            foreach (GenericPostureDistance distance in Distances)
            {
                AddOption(distance.OptionGroup);
            }

            foreach (GenericPosturePosition position in Positions)
            {
                AddOption(position.OptionGroup);
            }

            foreach (GenericPostureComputedPoint computedPoint in ComputedPoints)
            {
                AddOption(computedPoint.OptionGroup);
            }

            foreach (string defaultOption in defaultOptions)
            {
                if (OptionGroups.ContainsKey(defaultOption))
                {
                    OptionGroups[defaultOption] = true;
                }
            }
        }
Пример #7
0
        public async Task <Guid> AddAsync(string groupDefinition)
        {
            OptionGroupsDto optiongroup = new OptionGroupsDto()
            {
                Name = groupDefinition
            };

            using (var uow = UowProvider.CreateUnitOfWork())
            {
                OptionGroups optiongroupEntity = Mapper.Map <OptionGroupsDto, OptionGroups>(optiongroup);
                var          repositoryPage    = uow.GetRepository <OptionGroups, Guid>();
                await repositoryPage.AddAsync(optiongroupEntity);

                await uow.SaveChangesAsync();

                return(optiongroupEntity.Id);
            }
        }
Пример #8
0
        /// <summary>
        /// 以指定的分组规则和对组重命名规则对所有项进行分组绑定.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="groupExpression">分组规则.</param>
        /// <param name="groupRenameExpression">组名进行重命名规则.</param>
        /// Author  :  Jack Zhang (JACKZ)
        /// Date    :  5/21 21:42
        public void DataBind <T>(Func <T, string, bool> groupExpression, Func <string, string> groupRenameExpression)
        {
            if (string.IsNullOrEmpty(DataGroupField))
            {
                this.DataBind();
                return;
            }
            var field      = DataGroupField;
            var datasource = this.DataSource as IEnumerable <T>;

            if (datasource != null)
            {
                IEnumerable <T> enumerable = datasource as T[] ?? datasource.ToArray();
                var             groupBy    = enumerable.Select((x) => GetPropertyValue(field, x).ToString()).Distinct().ToList <string>();
                groupBy.AddRange(OptionGroups);
                foreach (var groupName in groupBy)
                {
                    var items = (from ds in enumerable
                                 where groupExpression(ds, groupName)
                                 select ds).ToList <T>();
                    if (groupBy.Count > 1)
                    {
                        this.Items.Add(new ListItem(groupRenameExpression(groupName), groupName));
                        OptionGroups.Add(groupName);
                    }
                    foreach (var item in items)
                    {
                        var text  = GetPropertyValue(DataTextField, item).ToString();
                        var value = GetPropertyValue(DataValueField, item).ToString();
                        this.Items.Add(new ListItem(text, value)
                        {
                            Selected = value == _value
                        });
                    }
                }
                OptionGroupValues = string.Join(",", OptionGroups.ToArray());
            }
            this.AddDefaultItem();
            base.SelectedValue = _value;
        }
        private void AddOptionGroup()
        {
            string baseName  = "Custom Option Group";
            string validName = baseName;
            int    i         = 1;

            while (this.editedCharacter.OptionGroups.ContainsKey(validName))
            {
                validName = string.Format("{0} ({1})", baseName, i++);
            }
            IOptionGroup optGroup = new OptionGroup <CharacterOption>(validName);

            this.EditedCharacter.AddOptionGroup(optGroup);
            var optGroupViewModel = this.Container.Resolve <OptionGroupViewModel <CharacterOption> >(
                new ParameterOverride("optionGroup", optGroup),
                new ParameterOverride("owner", editedCharacter)
                );

            OptionGroups.Add(optGroupViewModel);
            optGroupViewModel.NewOptionGroupAdded = true;
            this.eventAggregator.GetEvent <SaveCrowdEvent>().Publish(null);
        }
        public void LoadCharacter(object state)
        {
            if (this.OptionGroups != null)
            {
                foreach (IOptionGroupViewModel ogVM in this.OptionGroups)
                {
                    ogVM.RemoveDesktopKeyEventHandlers();
                }
            }
            Tuple <ICrowdMemberModel, IEnumerable <ICrowdMemberModel> > tuple = state as Tuple <ICrowdMemberModel, IEnumerable <ICrowdMemberModel> >;

            if (tuple != null)
            {
                Character character = tuple.Item1 as Character;
                HashedObservableCollection <ICrowdMemberModel, string> collection;
                if (tuple.Item2 != null)
                {
                    collection = new HashedObservableCollection <ICrowdMemberModel, string>(tuple.Item2, x => x.Name);
                }
                else
                {
                    collection = new HashedObservableCollection <ICrowdMemberModel, string>(x => x.Name);
                    collection.Add(character as CrowdMemberModel);
                }
                if (character != null && collection != null)
                {
                    character.AddDefaultAbilities();
                    this.OptionGroups = new ObservableCollection <IOptionGroupViewModel>();
                    foreach (IOptionGroup group in character.OptionGroups)
                    {
                        bool showOptionsInGroup = false;
                        if (character.OptionGroupExpansionStates.ContainsKey(group.Name))
                        {
                            showOptionsInGroup = character.OptionGroupExpansionStates[group.Name];
                        }
                        switch (group.Type)
                        {
                        case OptionType.Ability:
                            OptionGroups.Add(this.Container.Resolve <OptionGroupViewModel <AnimatedAbility> >(
                                                 new ParameterOverride("optionGroup", group),
                                                 new ParameterOverride("owner", character),
                                                 new PropertyOverride("ShowOptions", showOptionsInGroup)
                                                 ));
                            break;

                        case OptionType.Identity:
                            OptionGroups.Add(this.Container.Resolve <OptionGroupViewModel <Identity> >(
                                                 new ParameterOverride("optionGroup", group),
                                                 new ParameterOverride("owner", character),
                                                 new PropertyOverride("ShowOptions", showOptionsInGroup)
                                                 ));
                            break;

                        case OptionType.CharacterMovement:
                            OptionGroups.Add(this.Container.Resolve <OptionGroupViewModel <CharacterMovement> >(
                                                 new ParameterOverride("optionGroup", group),
                                                 new ParameterOverride("owner", character),
                                                 new PropertyOverride("ShowOptions", showOptionsInGroup)
                                                 ));
                            break;

                        case OptionType.Mixed:
                            OptionGroups.Add(this.Container.Resolve <OptionGroupViewModel <CharacterOption> >(
                                                 new ParameterOverride("optionGroup", group),
                                                 new ParameterOverride("owner", character),
                                                 new PropertyOverride("ShowOptions", showOptionsInGroup)
                                                 ));
                            break;
                        }
                    }

                    this.EditedCharacter     = character;
                    this.characterCollection = collection;
                }
            }
        }