Ejemplo n.º 1
0
        /// <summary>
        /// Получение условия выбора разметок по роли
        /// </summary>
        private IConditionItemEditor GetRolesConditionItemEditor()
        {
            var rolesEditor = new ConditionItemEditor();
            var rolesHeader = new ConditionHeader {
                Header = "Role", ConditionTypeId = Constants.ConditionTypes.RolesConditionType
            };
            var staffTree = GetStaffTree();

            var rolesModel = new List <ConditionItemModel>();

            foreach (var staff in staffTree)
            {
                foreach (var role in staff.Roles)
                {
                    var id = role.GetObjectId().ToString("D");
                    if (!rolesModel.Any(x => x.Value == id))
                    {
                        var rolesItem = new ConditionItemModel
                        {
                            ConditionTypeId  = Constants.ConditionTypes.RolesConditionType,
                            Value            = role.GetObjectId().ToString("D"),
                            ValueDisplayName = role.Name
                        };

                        if (!rolesModel.Contains(rolesItem))
                        {
                            rolesModel.Add(rolesItem);
                        }
                    }
                }
            }
            rolesModel.Insert(0, new ConditionItemModel
            {
                ConditionTypeId  = Constants.ConditionTypes.RolesConditionType,
                Value            = null,
                ValueDisplayName = "Any"
            });

            rolesEditor.Initialize(rolesHeader, rolesModel);
            return(rolesEditor);
        }
Ejemplo n.º 2
0
        public virtual bool TryGetMappedValue(CacheContext cacheContext, Location sourceLocation, Location targetLocation, ConditionItemModel item, out string value)
        {
            var resolved = true;

            value = item.Value;
            return(resolved);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Получение отображаемого имени значения условия выбора
        /// </summary>
        public string GetValueDisplayName(CacheContext cacheContext, Location location, ConditionItemModel item)
        {
            string displayName     = null;
            Guid   conditionTypeId = item.ConditionTypeId;
            var    value           = item.Value;

            var objectContext = this.SessionContextProvider.GetOrCreateCurrentObjectContext();

            if (conditionTypeId == Constants.ConditionTypes.GroupsConditionType)
            {
                if (value != null)
                {
                    var id    = Guid.Parse(value);
                    var group = objectContext.GetObject <StaffGroup>(id);
                    displayName = group.Name;
                }
                else
                {
                    displayName = "Any";
                }
            }
            else if (conditionTypeId == Constants.ConditionTypes.UnitConditionType)
            {
                if (value != null)
                {
                    var id   = Guid.Parse(value);
                    var unit = objectContext.GetObject <StaffUnit>(id);
                    displayName = unit.Name;
                }
                else
                {
                    displayName = "Any";
                }
            }
            else if (conditionTypeId == Constants.ConditionTypes.RolesConditionType)
            {
                if (value != null)
                {
                    var id   = Guid.Parse(value);
                    var role = objectContext.GetObject <StaffRole>(id);
                    displayName = role.Name;
                }
                else
                {
                    displayName = "Any";
                }
            }

            return(displayName);
        }