示例#1
0
        public async Task <IHttpActionResult> GetCurrentVersion([DynamicBody] dynamic param)
        {
            int             processId   = (int)param.processId;
            PublishModeEnum publishMode = (PublishModeEnum)param.publishMode;

            return(Ok(await _publicationService.GetCurrentVersion(processId, publishMode)));
        }
示例#2
0
        public async Task <IHttpActionResult> GetFutureVersion([DynamicBody] dynamic param)
        {
            int             processId   = (int)param.processId;
            PublishModeEnum publishMode = (PublishModeEnum)param.publishMode;
            bool            isMajor     = param.isMajor;

            return(Ok(await _publicationService.GetFutureVersion(processId, publishMode, isMajor)));
        }
示例#3
0
 public async Task <IHttpActionResult> GetPublicationsTree([DynamicBody] dynamic param)
 {
     try
     {
         PublishModeEnum filter = (PublishModeEnum)param.filter;
         return(Ok(await _prepareService.GetPublicationsTree(filter)));
     }
     catch (Exception ex)
     {
         _traceManager.TraceError(ex, ex.Message);
         return(InternalServerError(ex));
     }
 }
示例#4
0
        public static List <string> GetDetailDispositions(Publication publication, PublishModeEnum publishModeFilter)
        {
            var detailList = new List <string>
            {
                //Add WBS, Label, and Thumbnail as default detail member
                nameof(PublishedAction.WBS),
                nameof(PublishedAction.Label),
                nameof(PublishedAction.Thumbnail)
            };

            string disposition = null;

            switch (publishModeFilter)
            {
            case PublishModeEnum.Formation:
                disposition = publication.Formation_ActionDisposition;
                break;

            case PublishModeEnum.Inspection:
                disposition = publication.Inspection_ActionDisposition;
                break;

            case PublishModeEnum.Evaluation:
                disposition = publication.Evaluation_ActionDisposition;
                break;
            }

            if (string.IsNullOrEmpty(disposition))
            {
                return(detailList);
            }

            detailList.AddRange(disposition.Split(','));

            return(detailList);
        }
示例#5
0
 /// <summary>
 /// Build publication description. Version is displayed only if publiation is completed
 /// </summary>
 /// <param name="history"></param>
 /// <param name="publication"></param>
 /// <returns></returns>
 public static string GetDocumentationDescription(Publication publication, PublishModeEnum publishMode, string historyVersion)
 {
     return(publication != null
         ? $"{publication.PublishMode.ToString().ToUpper()} {publication.Version}"
         : $"{publishMode.ToString().ToUpper()} {historyVersion}");
 }
示例#6
0
        public static DocumentationActionDraft MapToDocumentationActionDraft(this GenericActionViewModel model, PublishModeEnum publishMode, Dictionary <int, string> wbsActions)
        {
            var action = new DocumentationActionDraft
            {
                Label           = model.Label,
                Duration        = model.Duration,
                SkillId         = model.SkillId,
                IsKeyTask       = model.IsKeyTask,
                ThumbnailHash   = model.ImageHash,
                CustomTextValue = model.CustomTextValues != null?model.CustomTextValues.GetOrDefault(ProcessReferentialIdentifier.CustomTextLabel) : string.Empty,
                                      CustomTextValue2 = model.CustomTextValues != null?model.CustomTextValues.GetOrDefault(ProcessReferentialIdentifier.CustomTextLabel2) : string.Empty,
                                                             CustomTextValue3 = model.CustomTextValues != null?model.CustomTextValues.GetOrDefault(ProcessReferentialIdentifier.CustomTextLabel3) : string.Empty,
                                                                                    CustomTextValue4 = model.CustomTextValues != null?model.CustomTextValues.GetOrDefault(ProcessReferentialIdentifier.CustomTextLabel4) : string.Empty,
                                                                                                           CustomNumericValue = model.CustomNumericValues != null?model.CustomNumericValues.GetOrDefault(ProcessReferentialIdentifier.CustomNumericLabel) : null,
                                                                                                                                    CustomNumericValue2 = model.CustomNumericValues != null?model.CustomNumericValues.GetOrDefault(ProcessReferentialIdentifier.CustomNumericLabel2) : null,
                                                                                                                                                              CustomNumericValue3 = model.CustomNumericValues != null?model.CustomNumericValues.GetOrDefault(ProcessReferentialIdentifier.CustomNumericLabel3) : null,
                                                                                                                                                                                        CustomNumericValue4 = model.CustomNumericValues != null?model.CustomNumericValues.GetOrDefault(ProcessReferentialIdentifier.CustomNumericLabel4) : null
            };

            if (model.ReferentialFieldValues == null)
            {
                return(action);
            }

            // Build reference
            foreach (var reference in model.ReferentialFieldValues)
            {
                foreach (var referenceValue in reference.Values)
                {
                    action.ReferentialDocumentations.Add(new ReferentialDocumentationActionDraft
                    {
                        Quantity      = referenceValue.Quantity,
                        ReferentialId = referenceValue.ReferentialId,
                        RefNumber     = (int)reference.ReferentialFieldId - 3
                    });
                }
            }
            return(action);
        }
示例#7
0
        /// <summary>
        /// Each publication has a list of columns that needs to displayed to enduser
        /// Retrieve this list from XML stored in Db
        /// </summary>
        /// <param name="publication"></param>
        /// <returns></returns>
        public static IEnumerable <SfDataGridGridColumn> GetVisibleActionColumns(Publication publication, PublishModeEnum publishModeFilter)
        {
            SfDataGrid    settings;
            XmlSerializer serializer = new XmlSerializer(typeof(SfDataGrid));

            byte[] disposition = null;
            if (publishModeFilter == PublishModeEnum.Formation)
            {
                disposition = publication.Formation_Disposition;
            }

            if (publishModeFilter == PublishModeEnum.Inspection)
            {
                disposition = publication.Inspection_Disposition;
            }

            if (publishModeFilter == PublishModeEnum.Audit)
            {
                disposition = publication.Audit_Disposition;
            }

            if (disposition == null)
            {
                return(new List <SfDataGridGridColumn>());
            }

            using (MemoryStream ms = new MemoryStream(disposition))
            {
                var xml = Encoding.UTF8.GetString(ms.ToArray());
                xml = xml.Replace("i:type=\"GridTextColumn\"", "").Replace("i:type=\"GridNumericColumn\"", "")
                      .Replace("i:type=\"GridTemplateColumn\"", "").Replace("i:type=\"GridCheckBoxColumn\"", "");

                using (TextReader reader = new StringReader(xml))
                {
                    settings = (SfDataGrid)serializer.Deserialize(reader);
                }
            }
            return(settings.Columns.Where(u => !u.IsHidden));
        }
示例#8
0
 public static string AllAlternativeNames(this PublishModeEnum publishMode) =>
 JsonConvert.SerializeObject(DocumentationColumnsPreferences[publishMode].ColumnsPreferences
                             .Where(cp => !string.IsNullOrEmpty(cp.Value.AlternativeName))
                             .ToDictionary(cp => cp.Key, cp => cp.Value.AlternativeName));
示例#9
0
 public static string AlternativeName(this PublishModeEnum publishMode, string field) =>
 DocumentationColumnsPreferences[publishMode].ColumnsPreferences.ContainsKey(field)
     ? DocumentationColumnsPreferences[publishMode].ColumnsPreferences[field].AlternativeName
     : DocumentationColumnsPreferences[publishMode].DefaultColumnPreference.AlternativeName;
示例#10
0
 public static bool HasAlternativeName(this PublishModeEnum publishMode, string field) =>
 DocumentationColumnsPreferences[publishMode].ColumnsPreferences.ContainsKey(field)
     ? !string.IsNullOrEmpty(DocumentationColumnsPreferences[publishMode].ColumnsPreferences[field].AlternativeName)
     : !string.IsNullOrEmpty(DocumentationColumnsPreferences[publishMode].DefaultColumnPreference.AlternativeName);
示例#11
0
 public static bool ShouldBeShownInColumnChooser(this PublishModeEnum publishMode, string field) =>
 DocumentationColumnsPreferences[publishMode].ColumnsPreferences.ContainsKey(field)
     ? DocumentationColumnsPreferences[publishMode].ColumnsPreferences[field].ShouldBeShownInColumnChooser
     : DocumentationColumnsPreferences[publishMode].DefaultColumnPreference.ShouldBeShownInColumnChooser;
示例#12
0
 public static string TextAlign(this PublishModeEnum publishMode, string field) =>
 DocumentationColumnsPreferences[publishMode].ColumnsPreferences.ContainsKey(field)
     ? DocumentationColumnsPreferences[publishMode].ColumnsPreferences[field].TextAlign
     : DocumentationColumnsPreferences[publishMode].DefaultColumnPreference.TextAlign;
示例#13
0
 public static string Width(this PublishModeEnum publishMode, string field) =>
 DocumentationColumnsPreferences[publishMode].ColumnsPreferences.ContainsKey(field)
     ? DocumentationColumnsPreferences[publishMode].ColumnsPreferences[field].Width
     : DocumentationColumnsPreferences[publishMode].DefaultColumnPreference.Width;