Пример #1
0
 /// <inheritdoc />
 public Project(ProjectEnumerator projectEnumerator)
     : base(projectEnumerator)
 {
     Filter      = projectEnumerator.GetFilter();
     Priority    = projectEnumerator.GetPriority();
     IsBuildTool = projectEnumerator is BuildToolProjectEnumerator;
     if (!IsBuildTool)
     {
         SourcesFilterOrigin = projectEnumerator.GetSourceFiltersOrigin();
         BuildType
             = new CollectorContainer <ProjectBuildType>(projectEnumerator.GetBuildType);
         OutputPath
             = new CollectorContainer <string>((p, c) => Path.Combine(projectEnumerator.GetOutputDir(p, c), projectEnumerator.GetOutputFileName(p, c)));
         ImportLibraryOutputPath
             = new CollectorContainer <string>(projectEnumerator.GetImportLibraryOutputPath);
         Files
             = new CollectorContainer <ProjectFile[]>((p, c) => projectEnumerator.EnumerateSourceFiles(p, c).ToArray());
         HeaderDirectories
             = new CollectorContainer <string[]>((p, c) => projectEnumerator.EnumerateHeaderDirectories(p, c).ToArray());
         Dependencies
             = new CollectorContainer <Dependency[]>((p, c) => projectEnumerator.EnumerateDependencies(p, c).ToArray());
         Macros
             = new CollectorContainer <ProjectMacro[]>((p, c) => projectEnumerator.EnumerateMacros(p, c).ToArray());
     }
     else
     {
         GeneratorOutputPath = ((BuildToolProjectEnumerator)projectEnumerator).GetProjectFile();
     }
 }
Пример #2
0
        /// <summary>
        /// Include individual bff configuration file for each project
        /// </summary>
        private void createProjectTargets()
        {
            /// Here the dependencies of the projects are considered.
            /// Step 1. Store all project config path to ProjectPriority dictionary
            List <ProjectInfo> waitedForProcess = new List <ProjectInfo>();

            foreach (ProjectInfo projectInfo in m_solution.getProjectInfos())
            {
                if (projectInfo.ProjectType != ProjectInfo.ProjectTypeEnum.INVALID &&
                    MakeItSoConfig.Instance.ignoreProject(projectInfo.Name) == false)
                {
                    ProjectPriority.AddProjectPriority(projectInfo);
                    waitedForProcess.Add(projectInfo);
                }
            }

            /// Step 2. Add all dependencies of every project
            while (waitedForProcess.Count != 0)
            {
                var projectInfo = waitedForProcess[0];
                ProcessingDependences(projectInfo, ref waitedForProcess);
            }

            /// Step 3. Get all sorted project configuration file path
            var sortedProjectConfigPath = ProjectPriority.GetSortedProjectConfigPath();

            foreach (string configPath in sortedProjectConfigPath)
            {
                m_file.WriteLine("#include \"" + configPath + "\"");
            }
            m_file.WriteLine("");
        }
Пример #3
0
        /// <summary>
        /// Process project's dependences in waitedForProcess List
        /// </summary>
        private void ProcessingDependences(ProjectInfo projectInfo, ref List <ProjectInfo> waitedForProcess)
        {
            if (waitedForProcess.IndexOf(projectInfo) == -1)
            {
                return;
            }

            if (projectInfo.ProjectType != ProjectInfo.ProjectTypeEnum.INVALID &&
                MakeItSoConfig.Instance.ignoreProject(projectInfo.Name) == false)
            {
                foreach (ProjectInfo depProjectInfo in projectInfo.getRequiredProjects())
                {
                    ProcessingDependences(depProjectInfo, ref waitedForProcess);
                    ProjectPriority.AddDependency(projectInfo, depProjectInfo);
                }
                waitedForProcess.Remove(projectInfo);
            }
        }
Пример #4
0
        /// <exception cref="UnknownPriorityException"></exception>
        /// <exception cref="ProjectDoesNotExistException">Condition.</exception>
        public void Handle(ReprioritizeProject command)
        {
            Project project = _eventStoreRepository.GetById(command.ProjectId);

            if (project == null)
            {
                throw new ProjectDoesNotExistException();
            }

            ProjectPriority priority;

            if (ProjectPriority.TryParse(command.Priority.ToLower(), out priority))
            {
                project.Reprioritize(priority);
                _eventStoreRepository.Save(project);
            }
            else
            {
                throw new UnknownPriorityException(command.Priority);
            }
        }
Пример #5
0
        private void AddPriorities(List <Priority> priorities, Project project)
        {
            foreach (var priority in priorities)
            {
                var priorityEntity = this.data.PriorityRepository.Get(l => l.Name == priority.Name).FirstOrDefault();
                if (priorityEntity == null)
                {
                    priorityEntity = new Priority()
                    {
                        Name = priority.Name
                    };
                    this.data.PriorityRepository.Insert(priorityEntity);
                }

                var projectPriority = new ProjectPriority()
                {
                    Priority = priorityEntity,
                    Project  = project
                };

                project.ProjectPriorities.Add(projectPriority);
            }
        }
 // PUT: api/ProjectPriority/5
 public IHttpActionResult Put([FromBody] ProjectPriority ProjectPriorityData)
 {
     ProjectPriorityRepo.SaveOrUpdate(ProjectPriorityData);
     return(Ok(new { Status = "success" }));
 }
Пример #7
0
 public List <string> Handle(AllProjectPrioritiesQuery query)
 {
     ProjectPriority[] priorities = ProjectPriority.GetAll();
     return(priorities.Select(x => x.DisplayName).ToList());
 }
Пример #8
0
        public void CreateDomainLevel1()
        {
            try
            {
                var ctx = ApplicationDbContext.Create();

                //already OK
                if (ctx.Campaigns.Any())
                {
                    return;
                }

                var reader = new ReadOnlyContext();

                var db = MemoryDB.LoadDomainLevel1(reader);

                var container = new MemoryDB();

                foreach (var item in db.Campaigns)
                {
                    var campaign = new Campaign
                    {
                        Id = item.Id,

                        //AccountManager = accountManager,
                        //AccountManagerId = accountManager?.Id,
                        AccountManagerId = item.AccountManagerId,

                        //Client = client,
                        //ClientId = client?.Id,
                        ClientId = item.ClientId,

                        ActiveControl = item.ActiveControl,
                        BillingPH     = item.BillingPH,
                        CampaignLimit = item.CampaignLimit,
                        CompanyLink   = item.CompanyLink,
                        CreationDate  = item.CreationDate,
                        Description   = item.Description,
                        Identifier    = item.Identifier,
                        IsDeleted     = item.IsDeleted,
                        LastUpdate    = item.LastUpdate,
                        MaxAttempt    = item.MaxAttempt,
                        Objective     = item.Objective,
                        SpellCheck    = item.SpellCheck,
                    };

                    container.Campaigns.Add(campaign);
                }

                foreach (var item in db.Projects)
                {
                    var project = new Project
                    {
                        Id = item.Id,

                        //Campaign = campaign,
                        //CampaignId = campaign.Id,
                        CampaignId = item.CampaignId,

                        CreationDate = item.CreationDate,
                        Description  = item.Description,
                        IsDeleted    = item.IsDeleted,
                        LastUpdate   = item.LastUpdate,
                        Name         = item.Name,
                        Priority     = item.Priority,
                    };

                    container.Projects.Add(project);
                }

                foreach (var item in db.TimeZones)
                {
                    var timeZone = new Entities.TimeZone
                    {
                        Id = item.Id,

                        Code         = item.Code,
                        CreationDate = item.CreationDate,
                        CurrentTime  = item.CurrentTime,
                        DST          = item.DST,
                        IsDeleted    = item.IsDeleted,
                        LastUpdate   = item.LastUpdate,
                        Name         = item.Name,
                        STD          = item.STD,
                    };

                    container.TimeZones.Add(timeZone);
                }

                foreach (var item in db.Penalties)
                {
                    var penalty = new Penalty
                    {
                        Id = item.Id,

                        CreationDate = item.CreationDate,
                        From         = item.From,
                        IsDeleted    = item.IsDeleted,
                        LastUpdate   = item.LastUpdate,
                        PayRate      = item.PayRate,
                        PenaltyFee   = item.PenaltyFee,
                        To           = item.To,
                    };

                    container.Penalties.Add(penalty);
                }

                foreach (var item in db.AlertSettings)
                {
                    var alertSettings = new AlertSettings
                    {
                        Id = item.Id,

                        LastUpdate         = item.LastUpdate,
                        CreationDate       = item.CreationDate,
                        DataPercentage     = item.DataPercentage,
                        IsDeleted          = item.IsDeleted,
                        NotificationEmails = item.NotificationEmails,
                    };

                    container.AlertSettings.Add(alertSettings);
                }

                foreach (var item in db.AreaCodes)
                {
                    var areaCode = new AreaCode
                    {
                        Id = item.Id,

                        //TimeZone = timeZone,
                        //TimeZoneId = timeZone.Id,
                        TimeZoneId = item.TimeZoneId,

                        CreationDate = item.CreationDate,
                        IsDeleted    = item.IsDeleted,
                        LastUpdate   = item.LastUpdate,
                        Name         = item.Name,
                        TZ           = item.TZ,
                    };

                    container.AreaCodes.Add(areaCode);
                }

                foreach (var item in db.CallCodes)
                {
                    var campaign = container.Campaigns
                                   .SingleOrDefault(x => x.Id == item.CampaignId);

                    var callCode = new CallCode(
                        campaign,
                        item.Name,
                        item.Code,
                        item.Behavior,
                        item.IsSuccess,
                        item.CreationDate);

                    callCode.IsDeleted = item.IsDeleted;

                    container.CallCodes.Add(callCode);
                }

                foreach (var item in db.ExportSettings)
                {
                    var exportSettings = new ExportSettings
                    {
                        Id = item.Id,

                        //NOT FK
                        CampaignId = item.CampaignId,

                        CreationDate = item.CreationDate,
                        IsDeleted    = item.IsDeleted,
                        Key          = item.Key,
                        LastUpdate   = item.LastUpdate,
                        Name         = item.Name,
                        Value        = item.Value,
                    };

                    container.ExportSettings.Add(exportSettings);
                }

                foreach (var item in db.ProjectPriorities)
                {
                    var projectPriority = new ProjectPriority
                    {
                        Id = item.Id,

                        //Project = item.Project,
                        //ProjectId = project.Id,
                        ProjectId = item.ProjectId,

                        LastUpdate    = item.LastUpdate,
                        IsDeleted     = item.IsDeleted,
                        CreationDate  = item.CreationDate,
                        Field         = item.Field,
                        PriorityValue = item.PriorityValue,
                    };

                    container.ProjectPriorities.Add(projectPriority);
                }

                foreach (var item in db.ProjectPriorityDetails)
                {
                    var projectPriorityDetail = new ProjectPriorityDetail
                    {
                        Id = item.Id,

                        //ProjectPriority = projectPriority,
                        //ProjectPriorityId = projectPriority.Id,
                        ProjectPriorityId = item.ProjectPriorityId,

                        CreationDate       = item.CreationDate,
                        FieldPriorityValue = item.FieldPriorityValue,
                        FieldValue         = item.FieldValue,
                        IsDeleted          = item.IsDeleted,
                        LastUpdate         = item.LastUpdate,
                    };

                    container.ProjectPriorityDetails.Add(projectPriorityDetail);
                }

                foreach (var item in db.StateRestrictions)
                {
                    var stateRestriction = new StateRestriction
                    {
                        Id = item.Id,

                        //TimeZone = timeZone,
                        //TimeZoneId = timeZone.Id,
                        TimeZoneId = item.TimeZoneId,

                        LastUpdate   = item.LastUpdate,
                        IsDeleted    = item.IsDeleted,
                        Abbreviation = item.Abbreviation,
                        CreationDate = item.CreationDate,
                        IsRestricted = item.IsRestricted,
                        Name         = item.Name,
                    };

                    container.StateRestrictions.Add(stateRestriction);
                }

                foreach (var item in db.OnWatchSettings)
                {
                    var onWatchSettings = new OnWatchSettings
                    {
                        Id = item.Id,

                        //Campaign = campaign,
                        //CampaignId = campaign.Id,

                        CampaignId   = item.CampaignId,
                        CreationDate = item.CreationDate,
                        HoursLeft    = item.HoursLeft,
                        IsDeleted    = item.IsDeleted,
                        LastUpdate   = item.LastUpdate,
                    };

                    container.OnWatchSettings.Add(onWatchSettings);
                }

                ctx.Campaigns.AddRange(container.Campaigns);
                ctx.Projects.AddRange(container.Projects);
                ctx.TimeZones.AddRange(container.TimeZones);
                ctx.Penalties.AddRange(container.Penalties);
                ctx.AlertSettings.AddRange(container.AlertSettings);
                ctx.AreaCodes.AddRange(container.AreaCodes);
                ctx.CallCodes.AddRange(container.CallCodes);
                ctx.ExportSettings.AddRange(container.ExportSettings);
                ctx.ProjectPriorities.AddRange(container.ProjectPriorities);
                ctx.ProjectPriorityDetails.AddRange(container.ProjectPriorityDetails);
                ctx.StateRestrictions.AddRange(container.StateRestrictions);

                ctx.SaveChanges();
            }
            catch (Exception ex)
            {
                var str = ex.ToString();
                System.Diagnostics.Debug.WriteLine(str);
            }
        }