示例#1
0
        /// <inheritdoc />
        public Gizmo Convert(ItemDTO value, object state)
        {
            var entity = new ContainerKey();

            this.Merge(entity, value, state);
            return(entity);
        }
示例#2
0
        public static IServiceCollection AddTransientWithKey <TService, TImplementation>(this IServiceCollection serviceCollection, string key)
            where TService : class
            where TImplementation : class, TService
        {
            var containerKey = new ContainerKey(key, typeof(TService));

            serviceCollection.AddTransient <TService, TImplementation>();
            _container.Add(containerKey, typeof(TImplementation));
            return(serviceCollection);
        }
示例#3
0
        public static IServiceCollection AddResolver <TService>(this IServiceCollection serviceCollection)
            where TService : class
        {
            serviceCollection.AddTransient <Func <string, TService> >(
                provider => key =>
            {
                var containerKey = new ContainerKey(key, typeof(TService));
                var errorMessage = $"Can't resolve {typeof(TService).FullName} service by key: '{key}'.";

                if (!_container.TryGetValue(containerKey, out var implementationType))
                {
                    throw new Exception(errorMessage);
                }

                return(provider.GetServices <TService>().FirstOrDefault(x => x.GetType() == implementationType) ?? throw new Exception(errorMessage));
            });
            return(serviceCollection);
        }
示例#4
0
 protected void Page_Load(object sender, EventArgs e)
 {
     RegisterLinks();
     if (!Page.IsPostBack)
     {
         if (Request["ContainerKey"] != null && Request["ContainerKey"] != String.Empty)
         {
             ContainerKey = Request["ContainerKey"];
             if (ContainerKey.Contains("ProjectId_"))
             {
                 string s = ContainerKey.Substring(10);
                 int    i = -1;
                 if (int.TryParse(s, out i))
                 {
                     ucProject.ObjectId     = i;
                     ucProject.ObjectTypeId = (int)ObjectTypes.Project;
                 }
             }
         }
         ViewState["ContainerKey"] = ContainerKey;
     }
     GetCurrentFolder();
     lblPathTitle.Text = LocRM.GetString("tPath");
     lblProject.Text   = LocRM.GetString("Project");
     if (!Page.IsPostBack)
     {
         if (pc["fs_Sort1_" + ContainerKey] == null)
         {
             pc["fs_Sort1_" + ContainerKey] = "sortName";
         }
     }
     else
     {
         BindStorage();
     }
 }
示例#5
0
        /// <summary>
        /// Serializes the current instance to an Xml representation - intended to be persisted in an <see cref="ExtendedDataCollection"/>
        /// </summary>
        /// <returns>An Xml string</returns>
        internal string SerializeToXml()
        {
            string xml;

            using (var sw = new StringWriter())
            {
                var settings = new XmlWriterSettings
                {
                    OmitXmlDeclaration = true
                };

                using (var writer = XmlWriter.Create(sw, settings))
                {
                    writer.WriteStartDocument();
                    writer.WriteStartElement(Constants.ExtendedDataKeys.LineItem);


                    writer.WriteElementString(Constants.ExtendedDataKeys.ContainerKey, ContainerKey.ToString());
                    writer.WriteElementString(Constants.ExtendedDataKeys.LineItemTfKey, LineItemTfKey.ToString());
                    writer.WriteElementString(Constants.ExtendedDataKeys.Sku, Sku);
                    writer.WriteElementString(Constants.ExtendedDataKeys.Name, Name);
                    writer.WriteElementString(Constants.ExtendedDataKeys.Quantity, Quantity.ToString(CultureInfo.InvariantCulture));
                    writer.WriteElementString(Constants.ExtendedDataKeys.Price, Price.ToString(CultureInfo.InvariantCulture));
                    writer.WriteStartElement(Constants.ExtendedDataKeys.ExtendedData);
                    writer.WriteRaw(ExtendedData.SerializeToXml());
                    writer.WriteEndElement();
                    writer.WriteEndElement(); // ExtendedData
                    writer.WriteEndDocument();
                }
                xml = sw.ToString();
            }

            return(xml);
        }
示例#6
0
        private void BindUsers(int GroupID)
        {
            ddUsers.Items.Clear();
            AccessControlList ACLr   = (AccessControlList)ViewState["ACL"];
            ArrayList         alList = new ArrayList();

            foreach (AccessControlEntry ACEr in ACLr)
            {
                if (ACEr.OwnerKey == Guid.Empty)
                {
                    alList.Add((ACEr.IsRoleAce) ? ACEr.Role : ACEr.PrincipalId.ToString());
                }
            }
            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("UserId", typeof(string)));                                           // 0
            dt.Columns.Add(new DataColumn("UserName", typeof(string)));                                         // 1
            DataRow dr;

            if (GroupID == 0)
            {
                #region Roles

                #region General Roles
                if (!alList.Contains(UserRoleHelper.AdminRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.AdminRoleName;
                    dr[1] = LocRM.GetString("tAdmins");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.PowerProjectManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.PowerProjectManagerRoleName;
                    dr[1] = LocRM.GetString("tPPManager");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.HelpDeskManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.HelpDeskManagerRoleName;
                    dr[1] = LocRM.GetString("tHDM");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.GlobalProjectManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.GlobalProjectManagerRoleName;
                    dr[1] = LocRM.GetString("tGlobalPManager");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.GlobalExecutiveManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.GlobalExecutiveManagerRoleName;
                    dr[1] = LocRM.GetString("tGlobalEManager");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.TimeManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.TimeManagerRoleName;
                    dr[1] = LocRM.GetString("tTM");
                    dt.Rows.Add(dr);
                }
                #endregion

                #region General Project Roles
                if (!ContainerKey.StartsWith("Workspace"))
                {
                    if (!alList.Contains(UserRoleHelper.ProjectManagerRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.ProjectManagerRoleName;
                        dr[1] = LocRM.GetString("tPManager");
                        dt.Rows.Add(dr);
                    }

                    if (!alList.Contains(UserRoleHelper.ExecutiveManagerRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.ExecutiveManagerRoleName;
                        dr[1] = LocRM.GetString("tExMan");
                        dt.Rows.Add(dr);
                    }

                    if (!alList.Contains(UserRoleHelper.ProjectTeamRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.ProjectTeamRoleName;
                        dr[1] = LocRM.GetString("tTeam");
                        dt.Rows.Add(dr);
                    }

                    if (!alList.Contains(UserRoleHelper.ProjectSponsorRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.ProjectSponsorRoleName;
                        dr[1] = LocRM.GetString("tSponsors");
                        dt.Rows.Add(dr);
                    }

                    if (!alList.Contains(UserRoleHelper.ProjectStakeHolderRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.ProjectStakeHolderRoleName;
                        dr[1] = LocRM.GetString("tStake");
                        dt.Rows.Add(dr);
                    }
                }
                #endregion

                #region Incident Roles
                if (ContainerKey.StartsWith("IncidentId_"))
                {
                    if (!alList.Contains(UserRoleHelper.IssueCreatorRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.IssueCreatorRoleName;
                        dr[1] = LocRM.GetString("tICreator");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.IssueManagerRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.IssueManagerRoleName;
                        dr[1] = LocRM.GetString("tIManager");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.IssueResourceRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.IssueResourceRoleName;
                        dr[1] = LocRM.GetString("tIResource");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.IssueTodoResource))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.IssueTodoResource;
                        dr[1] = LocRM.GetString("tITodoResource");
                        dt.Rows.Add(dr);
                    }
                }
                #endregion

                #region Task Roles
                if (ContainerKey.StartsWith("TaskId_"))
                {
                    if (!alList.Contains(UserRoleHelper.TaskCreatorRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.TaskCreatorRoleName;
                        dr[1] = LocRM.GetString("tTkCreator");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.TaskManagerRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.TaskManagerRoleName;
                        dr[1] = LocRM.GetString("tTkManager");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.TaskResourceRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.TaskResourceRoleName;
                        dr[1] = LocRM.GetString("tTkResource");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.TaskTodoResource))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.TaskTodoResource;
                        dr[1] = LocRM.GetString("tTkTodoResource");
                        dt.Rows.Add(dr);
                    }
                }
                #endregion

                #region Document Roles
                if (ContainerKey.StartsWith("DocumentId_"))
                {
                    if (!alList.Contains(UserRoleHelper.DocumentCreatorRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.DocumentCreatorRoleName;
                        dr[1] = LocRM.GetString("tDocCreator");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.DocumentManagerRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.DocumentManagerRoleName;
                        dr[1] = LocRM.GetString("tDocManager");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.DocumentResourceRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.DocumentResourceRoleName;
                        dr[1] = LocRM.GetString("tDocResource");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.DocumentTodoResource))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.DocumentTodoResource;
                        dr[1] = LocRM.GetString("tDocTodoResource");
                        dt.Rows.Add(dr);
                    }
                }
                #endregion

                #region Event Roles
                if (ContainerKey.StartsWith("EventId_"))
                {
                    if (!alList.Contains(UserRoleHelper.EventCreatorRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.EventCreatorRoleName;
                        dr[1] = LocRM.GetString("tEvCreator");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.EventManagerRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.EventManagerRoleName;
                        dr[1] = LocRM.GetString("tEvManager");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.EventResourceRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.EventResourceRoleName;
                        dr[1] = LocRM.GetString("tEvResources");
                        dt.Rows.Add(dr);
                    }
                }
                #endregion

                #region ToDo Roles
                if (ContainerKey.StartsWith("ToDoId_"))
                {
                    if (!alList.Contains(UserRoleHelper.TodoCreatorRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.TodoCreatorRoleName;
                        dr[1] = LocRM.GetString("tTdCreator");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.TodoManagerRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.TodoManagerRoleName;
                        dr[1] = LocRM.GetString("tTdManager");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.TodoResourceRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.TodoResourceRoleName;
                        dr[1] = LocRM.GetString("tTdResources");
                        dt.Rows.Add(dr);
                    }
                }
                #endregion

                #endregion
            }
            else
            {
                using (IDataReader reader = SecureGroup.GetListAllUsersInGroup(GroupID))
                {
                    while (reader.Read())
                    {
                        int iUserId = (int)reader["UserId"];
                        if (alList.Contains(iUserId.ToString()))
                        {
                            continue;
                        }
                        bool IsExternal = (bool)reader["IsExternal"];
                        byte Activity   = (byte)reader["Activity"];
                        if (!(IsExternal || Activity == (byte)Mediachase.IBN.Business.User.UserActivity.Pending))
                        {
                            dr    = dt.NewRow();
                            dr[0] = iUserId.ToString();
                            dr[1] = (string)reader["LastName"] + " " + (string)reader["FirstName"];
                            dt.Rows.Add(dr);
                        }
                    }
                }
            }
            DataView dv = new DataView(dt);

            ddUsers.DataSource     = dv;
            ddUsers.DataTextField  = "UserName";
            ddUsers.DataValueField = "UserId";
            ddUsers.DataBind();
            btnAdd.Disabled = false;
            if (GroupID > 0)
            {
                ddUsers.Items.Insert(0, new ListItem(LocRM.GetString("tAny"), "0"));
            }
            else if (ddUsers.Items.Count == 0)
            {
                ddUsers.Items.Insert(0, new ListItem(LocRM.GetString("tEmpty"), "0"));
                btnAdd.Disabled = true;
            }
        }
示例#7
0
 // Implement this method in a buddy class to set properties that are specific to 'ContainerKey' (if any)
 partial void Merge(ContainerKey entity, ItemDTO dto, object state);
示例#8
0
 public bool IsRegistered(ContainerKey key, string name = "default")
 => container.ContainsKey(key);