public PerformanceMeasureSubcategoryOptionDto(PerformanceMeasureSubcategoryOption performanceMeasureSubcategoryOption)
 {
     PerformanceMeasureSubcategoryOptionID   = performanceMeasureSubcategoryOption.PerformanceMeasureSubcategoryOptionID;
     PerformanceMeasureSubcategoryID         = performanceMeasureSubcategoryOption.PerformanceMeasureSubcategoryID;
     PerformanceMeasureSubcategoryOptionName = performanceMeasureSubcategoryOption.PerformanceMeasureSubcategoryOptionName;
     SortOrder = performanceMeasureSubcategoryOption.SortOrder;
 }
Esempio n. 2
0
            public static PerformanceMeasureSubcategoryOption Create(int performanceMeasureSubcategoryOptionID, PerformanceMeasureSubcategory performanceMeasureSubcategory, string performanceMeasureSubcategoryOptionName)
            {
                var performanceMeasureSubcategoryOption = new PerformanceMeasureSubcategoryOption(performanceMeasureSubcategory, performanceMeasureSubcategoryOptionName, false);

                performanceMeasureSubcategoryOption.PerformanceMeasureSubcategoryOptionID = performanceMeasureSubcategoryOptionID;
                return(performanceMeasureSubcategoryOption);
            }
Esempio n. 3
0
 /// <summary>
 /// Constructor for building a new simple object with the POCO class
 /// </summary>
 public PerformanceMeasureSubcategoryOptionSimple(PerformanceMeasureSubcategoryOption performanceMeasureSubcategoryOption)
     : this()
 {
     PerformanceMeasureSubcategoryOptionID   = performanceMeasureSubcategoryOption.PerformanceMeasureSubcategoryOptionID;
     PerformanceMeasureSubcategoryID         = performanceMeasureSubcategoryOption.PerformanceMeasureSubcategoryID;
     PerformanceMeasureSubcategoryOptionName = performanceMeasureSubcategoryOption.PerformanceMeasureSubcategoryOptionName;
     SortOrder            = performanceMeasureSubcategoryOption.SortOrder;
     HasAssociatedActuals = performanceMeasureSubcategoryOption.HasDependentObjects();
     ShowOnFactSheet      = performanceMeasureSubcategoryOption.ShowOnFactSheet;
 }
Esempio n. 4
0
            public static PerformanceMeasureActualSubcategoryOption Create(int performanceMeasureActualSubcategoryOptionID,
                                                                           PerformanceMeasureActual performanceMeasureActual,
                                                                           PerformanceMeasureSubcategory performanceMeasureSubcategory,
                                                                           PerformanceMeasureSubcategoryOption performanceMeasureSubcategoryOption)
            {
                var performanceMeasureActualSubcategoryOption = new PerformanceMeasureActualSubcategoryOption(performanceMeasureActual,
                                                                                                              performanceMeasureSubcategoryOption,
                                                                                                              performanceMeasureActual.PerformanceMeasure,
                                                                                                              performanceMeasureSubcategory);

                performanceMeasureActualSubcategoryOption.PerformanceMeasureActualSubcategoryOptionID = performanceMeasureActualSubcategoryOptionID;
                return(performanceMeasureActualSubcategoryOption);
            }
            public static PerformanceMeasureExpectedSubcategoryOption Create(int performanceMeasureExpectedSubcategoryOptionID,
                                                                             PerformanceMeasureExpected performanceMeasureExpected,
                                                                             PerformanceMeasureSubcategory performanceMeasureSubcategory,
                                                                             PerformanceMeasureSubcategoryOption performanceMeasureSubcategoryOption)
            {
                var performanceMeasureExpectedSubcategoryOption = new PerformanceMeasureExpectedSubcategoryOption(performanceMeasureExpected,
                                                                                                                  performanceMeasureSubcategoryOption,
                                                                                                                  performanceMeasureExpected.PerformanceMeasure,
                                                                                                                  performanceMeasureSubcategory);

                performanceMeasureExpectedSubcategoryOption.PerformanceMeasureExpectedSubcategoryOptionID = performanceMeasureExpectedSubcategoryOptionID;
                return(performanceMeasureExpectedSubcategoryOption);
            }
        public IHttpActionResult PostPerformanceMeasure(string apiKey, [FromBody] PerformanceMeasureDto performanceMeasureDto)
        {
            Check.Require(apiKey == FirmaWebApiConfiguration.PsInfoApiKey, "Unrecognized api key!");
            var performanceMeasureType           = MapPerformanceMeasureTypeNameToPerformanceMeasureType(performanceMeasureDto.PerformanceMeasureTypeName);
            var performanceMeasureDataSourceType = MapPerformanceMeasureDataSourceTypeNameToPerformanceMeasureDataSourceType(performanceMeasureDto.PerformanceMeasureDataSourceTypeName);
            var measurementUnitType = MapMeasurementUnitTypeNameToMeasurementUnitType(performanceMeasureDto.MeasurementUnitTypeName);

            if (performanceMeasureType == null)
            {
                return(BadRequest($"Invalid Performance Measure Type: {performanceMeasureDto.PerformanceMeasureTypeName}"));
            }
            if (performanceMeasureDataSourceType == null)
            {
                return(BadRequest($"Invalid Performance Measure Data Source Type: {performanceMeasureDto.PerformanceMeasureDataSourceTypeName}"));
            }
            if (measurementUnitType == null)
            {
                return(BadRequest($"Invalid Measurement Unit: {performanceMeasureDto.MeasurementUnitTypeName}"));
            }
            var performanceMeasure = new PerformanceMeasure(performanceMeasureDto.PerformanceMeasureDisplayName,
                                                            measurementUnitType.MeasurementUnitTypeID, performanceMeasureType.PerformanceMeasureTypeID,
                                                            performanceMeasureDto.IsSummable, performanceMeasureDataSourceType.PerformanceMeasureDataSourceTypeID, performanceMeasureDto.CanBeChartedCumulatively, false);

            performanceMeasure.CriticalDefinitions          = performanceMeasureDto.CriticalDefinitions;
            performanceMeasure.PerformanceMeasureDefinition = performanceMeasureDto.PerformanceMeasureDefinition;
            performanceMeasure.ProjectReporting             = performanceMeasureDto.ProjectReporting;
            performanceMeasure.Importance            = performanceMeasureDto.Importance;
            performanceMeasure.AdditionalInformation = performanceMeasureDto.AdditionalInformation;

            // create file resources for images in the Importance rich text
            var fileResourceDtos      = performanceMeasureDto.FileResources;
            var fileResourceMimeTypes = fileResourceDtos.ToDictionary(x => new { x.FileResourceGUID, x.FileResourceMimeTypeName },
                                                                      x => MapFileResourceMimeTypeNameToFileResourceMimeType(x.FileResourceMimeTypeName));

            if (fileResourceMimeTypes.Values.Any(x => x == null))
            {
                var errors =
                    fileResourceMimeTypes.Where(x => x.Value == null).Select(x =>
                                                                             $"Invalid File Resource Mime Type '{x.Key.FileResourceMimeTypeName}' for '{x.Key.FileResourceGUID}'").ToList();
                return(BadRequest(string.Join("\r\n", errors)));
            }
            var peopleDictionary         = _databaseEntities.People.ToDictionary(x => x.Email);
            var performanceMeasureImages = fileResourceDtos.Select(x =>
            {
                var fileResourceMimeTypeID = fileResourceMimeTypes.Single(y => y.Key.FileResourceGUID == x.FileResourceGUID).Value.FileResourceMimeTypeID;
                var personID         = peopleDictionary.ContainsKey(x.Email) ? peopleDictionary[x.Email].PersonID : 5278;
                var fileResourceInfo = new FileResourceInfo(fileResourceMimeTypeID, x.OriginalBaseFilename, x.OriginalFileExtension, x.FileResourceGUID, personID, x.CreateDate);
                fileResourceInfo.FileResourceDatas.Add(new FileResourceData(fileResourceInfo.FileResourceInfoID, x.FileResourceData));
                var performanceMeasureImage = new PerformanceMeasureImage(performanceMeasure, fileResourceInfo);
                return(performanceMeasureImage);
            }).ToList();

            var tenantID = Tenant.ActionAgendaForPugetSound.TenantID;

            foreach (var performanceMeasureSubcategoryDto in performanceMeasureDto.PerformanceMeasureSubcategories)
            {
                var googleChartType = MapGoogleChartTypeNameToGoogleChartType(performanceMeasureSubcategoryDto.GoogleChartTypeName);
                if (googleChartType == null)
                {
                    return(BadRequest($"Invalid Google Chart Type '{performanceMeasureSubcategoryDto.GoogleChartTypeName}' for Subcategory '{performanceMeasureSubcategoryDto.PerformanceMeasureSubcategoryName}'"));
                }
                var performanceMeasureSubcategory = new PerformanceMeasureSubcategory(performanceMeasure, performanceMeasureSubcategoryDto.PerformanceMeasureSubcategoryName)
                {
                    ChartConfigurationJson = performanceMeasureSubcategoryDto.ChartConfigurationJson,
                    GoogleChartTypeID      = googleChartType.GoogleChartTypeID,
                    TenantID = tenantID
                };
                foreach (var performanceMeasureSubcategoryOptionDto in performanceMeasureSubcategoryDto.PerformanceMeasureSubcategoryOptions)
                {
                    var performanceMeasureSubcategoryOption = new PerformanceMeasureSubcategoryOption(performanceMeasureSubcategory, performanceMeasureSubcategoryOptionDto.PerformanceMeasureSubcategoryOptionName, false)
                    {
                        TenantID = tenantID
                    };
                }
            }
            _databaseEntities.AllPerformanceMeasures.Add(performanceMeasure);
            _databaseEntities.SaveChangesWithNoAuditing(tenantID);
            var performanceMeasureReloaded = new PerformanceMeasureDto(performanceMeasure);

            return(Ok(performanceMeasureReloaded));
        }
Esempio n. 7
0
 public ReportingCategoryForDisplay(PerformanceMeasureSubcategoryOption performanceMeasureSubcategoryOption)
 {
     PerformanceMeasureSubcategoryOptionID = performanceMeasureSubcategoryOption.PerformanceMeasureSubcategoryOptionID;
     DisplayName = performanceMeasureSubcategoryOption.PerformanceMeasureSubcategoryOptionName;
     SortOrder   = performanceMeasureSubcategoryOption.SortOrder ?? 0;
 }