Ejemplo n.º 1
0
            /// <summary>
            /// Initializes a new instance of the <see cref="FilterSettings"/> class.
            /// </summary>
            /// <param name="clientParameters">The ClientParameters.</param>
            public FilterSettings(ClientParameters clientParameters)
            {
                PersonWhereSearch = ArrayQSFilterSetting.CreateInstance().InitFromQueryString("PersonWhereSearch", clientParameters.PersonWhereSearch).SetEnable(true);
                PersonHowSearch   = PersonHowSearchFilterSetting.CreateInstance().InitFromQueryString("PersonHowSearch", clientParameters.PersonHowSearch).SetEnable(true);

                Search        = StringQSFilterSetting.CreateInstance().InitFromQueryString("Search", "");
                PersonValidAt = StringQSFilterSetting.CreateInstance().InitFromQueryString("PersonValidAt", "");

                PersonType = ArrayQSFilterSetting.CreateInstance().InitFromQueryString("PersonType", clientParameters.PersonType);
                Veracity   = ArrayQSFilterSetting.CreateInstance().InitFromQueryString("PersonCheck", clientParameters.PersonCheck);

                Uri    myUri             = new Uri(HttpContext.Current.Request.Url.AbsoluteUri);
                string PersonAllBProject = HttpUtility.ParseQueryString(myUri.Query).Get("PersonAllBProject");

                clientParameters.PersonAllBProject = Convert.ToInt32(PersonAllBProject);

                BusinessProject = BusinessProjectFilterSetting.CreateInstance().InitFromQS(
                    "PersonBProject", (clientParameters.PersonBProject == "" ? "0" : clientParameters.PersonBProject),
                    "PersonSubBProject ", clientParameters.PersonSubBProject,
                    "PersonAllBProject ", clientParameters.PersonAllBProject);
                if (clientParameters.PersonAllBProject != 0)
                {
                    BusinessProject.SetEnable(true);
                }

                PersonArea    = PersonAreaFilterSetting.CreateInstance().InitFromQueryString("PersonArea", clientParameters.PersonArea == "" ? "0" : clientParameters.PersonArea);
                PersonOPForma = UniqueIdQSFilterSetting.CreateInstance().InitFromQueryString("PersonOPForma", clientParameters.PersonOPForma);

                PersonUsers = PersonUsersFilterSetting.CreateInstance()
                              .SetListAccessor(ids => Kesco.Employees.BusinessLogic.Repository.Employees.GetListByIds(ids))
                              .InitFromQueryString("PersonUsers", clientParameters.PersonUsers);

                PersonThemes = PersonThemesFilterSetting.CreateInstance()
                               .SetListAccessor(ids => Repository.PersonThemes.GetListByIds(ids))
                               .InitFromQS("PersonThemes", clientParameters.PersonThemes,
                                           "PersonSubThemes", clientParameters.PersonSubThemes);

                PersonTUnion = StringQSFilterSetting.CreateInstance().InitFromQueryString("PersonTUnion", "");
                PersonLink   = StringQSFilterSetting.CreateInstance().InitFromQueryString("PersonLink", "");

                int personID;

                if (int.TryParse(PersonLink.GetValue(), out personID))
                {
                    var p = Repository.Persons.GetInstance(personID);
                    PersonLinkNickname = p != null ? p.Nickname : "#PersonLink";
                }
                else
                {
                    PersonLinkNickname = "";
                }

                PersonLinkType = StringQSFilterSetting.CreateInstance().InitFromQueryString("PersonLinkType", "");

                PersonForSend = StringQSFilterSetting.CreateInstance().InitFromQueryString("PersonForSend", "0");

                PersonAdvSearch = StringQSFilterSetting.CreateInstance().InitFromQueryString("PersonAdvSearch", "");

                //PersonSelectTop = PersonSelectTopFilterSetting.CreateInstance().InitFromQueryString("PersonSelectTop", 30);
            }
Ejemplo n.º 2
0
            /// <summary>
            /// Преобразование настроек фильтров к параметрам поиска
            /// </summary>
            /// <returns>Параметры для хранимой процедуры поиска</returns>
            public PersonAccessor.SearchParameters ToSearchParameters()
            {
                var searchParams = new PersonAccessor.SearchParameters();

                if (PersonWhereSearch.Enable)
                {
                    searchParams.PersonWhereSearch = PersonWhereSearch.GetValue() ?? 0;
                }
                if (PersonHowSearch.Enable)
                {
                    searchParams.PersonHowSearch = PersonHowSearch.GetValue();
                }

                searchParams.Search = Search.Enable ? Search.GetValue() : String.Empty;

                if (PersonType.Enable)
                {
                    searchParams.PersonType = PersonType.GetValue();
                }
                if (Veracity.Enable)
                {
                    searchParams.PersonCheck = Veracity.GetValue();
                }

                if (BusinessProject.Enable)
                {
                    searchParams.PersonBProject    = BusinessProject.GetValue();
                    searchParams.PersonSubBProject = BusinessProject.SubBProject? 1 : 0;

                    if (BusinessProject.AllBProject)
                    {
                        searchParams.PersonAllBProject = 1;
                    }
                }

                if (PersonArea.Enable)
                {
                    searchParams.PersonArea = (PersonArea == null ? 0 : PersonArea.GetValue());
                }
                if (PersonOPForma.Enable)
                {
                    searchParams.PersonOPForma = PersonOPForma.GetValue();
                }

                searchParams.PersonUsers  = PersonUsers.Enable ? PersonUsers.GetValue() : String.Empty;
                searchParams.PersonThemes = PersonThemes.Enable ? PersonThemes.GetValue() : String.Empty;

                if (PersonThemes.Enable)
                {
                    searchParams.PersonSubThemes = PersonThemes.Subthemes ? 1 : 0;
                }

                if (PersonValidAt.GetValue().Length > 0)
                {
                    searchParams.PersonValidAtTicks = String2Ticks(PersonValidAt.GetValue());
                }

                return(searchParams);
            }
Ejemplo n.º 3
0
        /// <summary>
        /// Create Build definition based on template
        /// </summary>
        /// <param name="businessProject"></param>
        /// <param name="buildDefTemplate"></param>
        private static void CreateBuildDefinition(BusinessProject businessProject, BuildDefTemplate buildDefTemplate)
        {
            var buildManager = new BuildManager(businessProject.TeamProjectCollectionUrl,
                                                businessProject.TeamProjectName,
                                                businessProject.BusinessProjectName);

            buildManager.CreateBuildDefinition(buildDefTemplate);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Create Team Foundation Version Control repository folders
        /// </summary>
        /// <param name="businessProject"></param>
        /// <param name="tfvcFolder"></param>
        private static void CreateTfvcRepositoryFolders(BusinessProject businessProject, TfvcFolder tfvcFolder)
        {
            var respositoryManager = new RepositoryManager(businessProject.TeamProjectCollectionUrl,
                                                           businessProject.TeamProjectName,
                                                           businessProject.BusinessProjectName);

            respositoryManager.CreateTfvcFolders(tfvcFolder);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Add members to identity
        /// </summary>
        /// <param name="businessProject"></param>
        /// <param name="identity"></param>
        /// <param name="members"></param>
        private static void AddTfsTeamMembers(BusinessProject businessProject,
                                              TeamFoundationIdentity identity,
                                              List <TeamFoundationIdentity> members)
        {
            var securityManager = new SecurityManager(businessProject.TeamProjectCollectionUrl);

            securityManager.AddMembers(identity, members);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Create new Team with Areas, Iterations
        /// </summary>
        /// <param name="businessProject"></param>
        /// <param name="workItemAreaIteration"></param>
        /// <returns></returns>
        private static TeamFoundationTeam CreateTeam(BusinessProject businessProject,
                                                     WorkItemAreaIteration workItemAreaIteration)
        {
            var teamManager = new TeamManager(businessProject.TeamProjectCollectionUrl,
                                              businessProject.TeamProjectName,
                                              businessProject.BusinessProjectName,
                                              businessProject.BusinessProjectDescription);

            teamManager.CreateWorkItemAreaIteration(workItemAreaIteration);
            return(teamManager.CreateTeam());
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Create new TFS Security Groups for software project roles
        /// </summary>
        /// <param name="businessProject"></param>
        /// <param name="securityGroup"></param>
        /// <returns></returns>
        private static List <TeamFoundationIdentity> CreateGroups(BusinessProject businessProject,
                                                                  SecurityGroup securityGroup)
        {
            List <TeamFoundationIdentity> securityGroups = new List <TeamFoundationIdentity>();

            var groupManager = new GroupManager(businessProject.TeamProjectCollectionUrl, businessProject.TeamProjectName);

            foreach (var groupName in securityGroup.Identities)
            {
                var tfsGroup = groupManager.CreateGroup(groupName);
                securityGroups.Add(tfsGroup);
            }

            return(securityGroups);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Entry point
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            if (args.Length != 1)
            {
                Console.WriteLine("TfsSoftwareProjectCreator tool.\n Usage: TfsSoftwareProjectCreator <Excel input file absolute path>\n");
                return;
            }

            // Read argument
            string excelFilePath = args[0];

            // Read content from Excel sheet
            var excelContent = ExcelReader.GetExcelContent(excelFilePath, WORKSHEETNAME);

            // Read structured information from content
            var businessProject       = new BusinessProject(excelContent);
            var workItemAreaIteration = new WorkItemAreaIteration(excelContent);
            var securityGroup         = new SecurityGroup(excelContent);
            var tfvcFolders           = new TfvcFolder(excelContent);
            var buildDefTemplate      = new BuildDefTemplate(excelContent);

            //Create new Team with Areas, Iterations
            var team = CreateTeam(businessProject, workItemAreaIteration);

            //Create new TFS Groups
            var tfsGroups = CreateGroups(businessProject, securityGroup);

            //Add TFS Groups as a member to the TFS Team
            AddTfsTeamMembers(businessProject, team.Identity, tfsGroups);

            //Create TFVC repository folders
            if (tfvcFolders.Folders.Any())
            {
                CreateTfvcRepositoryFolders(businessProject, tfvcFolders);
            }

            // NEXT: Create GIT repository and folders

            // Create Build definition
            CreateBuildDefinition(businessProject, buildDefTemplate);

            Console.WriteLine("TfsSoftwareProjectCreator finished. Press Enter to finish...");
            Console.ReadLine();
        }