protected override IEnumerable <Script> ReadComponents(ComponentModel model, string componentFolderPath) { var entity = PackageHandlerUtils.CreateEntity <Script>(model); var stateReq = model.Card.Requisites .FirstOrDefault(r => r.Code == StateReqName); if (stateReq != null) { entity.State = stateReq.ValueLocalizeID == Active ? ComponentState.Active : ComponentState.Closed; } var calculationTextFile = Path.Combine(componentFolderPath, "Text.isbl"); if (File.Exists(calculationTextFile)) { entity.CalculationText = File.ReadAllText(calculationTextFile, Encoding.GetEncoding(1251)); } else { log.Warn($"File not found {calculationTextFile}"); entity.CalculationText = string.Empty; } yield return(entity); }
protected override IEnumerable <RouteBlock> ReadComponents(ComponentModel model, string componentFolderPath) { var entity = PackageHandlerUtils.CreateEntity <RouteBlock>(model); var stateReq = model.Card.Requisites .FirstOrDefault(r => r.Code == StateReqName); if (stateReq != null) { entity.State = stateReq.ValueLocalizeID == Active ? ComponentState.Active : ComponentState.Closed; } var baseBlockTypeReq = model.Card.Requisites .FirstOrDefault(r => r.Code == BaseBlockTypeReqName); if (baseBlockTypeReq != null) { entity.BaseBlockType = RouteBlockUtils.GetBaseBlockType(baseBlockTypeReq.ValueLocalizeID); } else { entity.BaseBlockType = RouteBlockType.Unknown; } var blockPropertiesFile = Path.Combine(componentFolderPath, "Properties.xml"); if (File.Exists(blockPropertiesFile)) { var blockProperties = File.ReadAllText(blockPropertiesFile, Encoding.GetEncoding(1251)); var description = WorkflowDescriptionParser.Parse(blockProperties); entity.WorkflowBlock = description.Blocks.FirstOrDefault(); if (entity.WorkflowBlock != null) { ReadActions(entity.WorkflowBlock, componentFolderPath); ReadEvents(entity.WorkflowBlock, componentFolderPath); ReadProperties(entity.WorkflowBlock, componentFolderPath); } else { log.Warn($"Cannot read properties for block {entity.Name}"); } } else { log.Warn($"File not found {blockPropertiesFile}"); } yield return(entity); }
protected override IEnumerable<Dialog> ReadComponents(ComponentModel model, string componentFolderPath) { var entity = PackageHandlerUtils.CreateEntity<Dialog>(model); var cardFormFile = Path.Combine(componentFolderPath, "CardForm.dfm"); if (File.Exists(cardFormFile)) entity.CardForm = File.ReadAllText(cardFormFile, Encoding.GetEncoding(1251)); else log.Warn($"File not found {cardFormFile}"); ReadMethods(model, entity, componentFolderPath); ReadMethodsParameters(model, entity); ReadActions(model, entity, componentFolderPath); ReadEvents(entity, componentFolderPath); ReadCardRequisites(model, entity, componentFolderPath); yield return entity; }
protected override IEnumerable <DocumentCardType> ReadComponents(ComponentModel model, string componentFolderPath) { var entity = PackageHandlerUtils.CreateEntity <DocumentCardType>(model); var stateReq = model.Card.Requisites .FirstOrDefault(r => r.Code == StateReqName); if (stateReq != null) { entity.State = stateReq.ValueLocalizeID == Active ? ComponentState.Active : ComponentState.Closed; } var numerationMethodReq = model.Card.Requisites .FirstOrDefault(r => r.Code == NumerationMethodReqName); if (numerationMethodReq != null) { switch (numerationMethodReq.ValueLocalizeID) { case StronglyAuto: entity.NumerationMethod = NumerationMethod.StronglyAuto; break; case Auto: entity.NumerationMethod = NumerationMethod.Auto; break; case Manual: entity.NumerationMethod = NumerationMethod.Manual; break; } } ReadMethods(model, entity, componentFolderPath); ReadMethodsParameters(model, entity); ReadActions(model, entity, componentFolderPath); ReadEvents(entity, componentFolderPath); ReadCardRequisites(model, entity, componentFolderPath); ReadViews(model, entity, componentFolderPath); yield return(entity); }
protected override IEnumerable <LocalizationString> ReadComponents(LocalizationStringsExportModel model, string componentFolderPath) { foreach (var localizationStringModel in model.LocalizationStrings) { var entity = PackageHandlerUtils.CreateEntity <LocalizationString>(localizationStringModel); if (localizationStringModel.DetailDataSets?.DetailDataSet1 != null) { var stringModels = localizationStringModel.DetailDataSets.DetailDataSet1.Rows; foreach (var stringModel in stringModels) { var localizationValue = new LocalizationValue(); var groupReq = stringModel.Requisites .FirstOrDefault(r => r.Code == GroupReqName); if (groupReq != null) { entity.Group = groupReq.Value; } var languageReq = stringModel.Requisites .FirstOrDefault(r => r.Code == LanguageReqName); if (languageReq != null) { localizationValue.Language = languageReq.Value; } var valueReq = stringModel.Requisites .FirstOrDefault(r => r.Code == ValueReqName); if (valueReq != null) { localizationValue.Value = valueReq.Value; } entity.Values.Add(localizationValue); } } yield return(entity); } }
protected override IEnumerable <Viewer> ReadComponents(ComponentModel model, string componentFolderPath) { var entity = PackageHandlerUtils.CreateEntity <Viewer>(model); var extensionReq = model.Card.Requisites .FirstOrDefault(r => r.Code == ExtensionReqName); if (extensionReq != null) { entity.Extension = extensionReq.Value; } var viewerTypeReqName = model.Card.Requisites .FirstOrDefault(r => r.Code == ViewerTypeReqName); if (viewerTypeReqName != null) { switch (viewerTypeReqName.ValueLocalizeID) { case CrystalReports: entity.ViewerType = ViewerType.CrystalReports; break; case MicrosoftExcel: entity.ViewerType = ViewerType.Excel; break; case MicrosoftWord: entity.ViewerType = ViewerType.Word; break; case Internal: entity.ViewerType = ViewerType.Internal; break; } } yield return(entity); }
protected override IEnumerable <Constant> ReadComponents(ComponentModel model, string componentFolderPath) { var entity = PackageHandlerUtils.CreateEntity <Constant>(model); var isReplicatedReq = model.Card.Requisites .FirstOrDefault(r => r.Code == IsReplicatedReqName); if (isReplicatedReq != null) { entity.IsReplicated = isReplicatedReq.ValueLocalizeID == Replicate; } var isCommonReq = model.Card.Requisites .FirstOrDefault(r => r.Code == IsCommonReqName); if (isCommonReq != null) { entity.IsCommon = isCommonReq.ValueLocalizeID == Common; } yield return(entity); }
protected override IEnumerable <Function> ReadComponents(ComponentModel model, string componentFolderPath) { var entity = PackageHandlerUtils.CreateEntity <Function>(model); var functionCategoryReq = model.Card.Requisites .FirstOrDefault(r => r.Code == FunctionCategoryReqName); if (functionCategoryReq != null) { entity.IsSystem = functionCategoryReq.ValueLocalizeID == SystemCategory; } var functionTextFile = Path.Combine(componentFolderPath, TextFileName); if (File.Exists(functionTextFile)) { entity.CalculationText = File.ReadAllText(functionTextFile, Encoding.GetEncoding(1251)); } else { log.Warn($"File not found {functionTextFile}"); } var functionHelpTextFile = Path.Combine(componentFolderPath, HelpFileName); if (File.Exists(functionHelpTextFile)) { entity.Help = File.ReadAllText(functionHelpTextFile, Encoding.GetEncoding(1251)); } else { log.Warn($"File not found {functionHelpTextFile}"); } var functionCommentReq = model.Card.Requisites .FirstOrDefault(r => r.Code == FunctionCommentReqName); if (functionCommentReq != null) { entity.Comment = functionCommentReq.Value; } if (model.DetailDataSets?.DetailDataSet1 != null) { var argModels = model.DetailDataSets.DetailDataSet1.Rows; foreach (var argModel in argModels) { var argument = new FunctionArgument(); var argumentNumberReq = argModel.Requisites .FirstOrDefault(r => r.Code == ArgumentNumberReqName); if (argumentNumberReq != null) { argument.Number = int.Parse(argumentNumberReq.Value); } var argumentNameReq = argModel.Requisites .FirstOrDefault(r => r.Code == ArgumentNameReqName); if (argumentNameReq != null) { argument.Name = argumentNameReq.Value; } var argumentTypeReq = argModel.Requisites .FirstOrDefault(r => r.Code == ArgumentTypeReqName); if (argumentTypeReq != null) { switch (argumentTypeReq.ValueLocalizeID) { case VariantArgumentType: argument.Type = FunctionArgumentType.Variant; break; case DateArgumentType: argument.Type = FunctionArgumentType.Date; break; case FloatArgumentType: argument.Type = FunctionArgumentType.Float; break; case BooleanArgumentType: argument.Type = FunctionArgumentType.Boolean; break; case StringArgumentType: argument.Type = FunctionArgumentType.String; break; case IntegerArgumentType: argument.Type = FunctionArgumentType.Integer; break; } } var argumentDefaultValueReq = argModel.Requisites .FirstOrDefault(r => r.Code == ArgumentDefaultValueReqName); if (argumentDefaultValueReq != null) { argument.DefaultValue = argumentDefaultValueReq.Value; } if (!string.IsNullOrEmpty(argument.DefaultValue)) { argument.HasDefaultValue = true; } entity.Arguments.Add(argument); } } yield return(entity); }
protected override IEnumerable <ReferenceType> ReadComponents(ComponentModel model, string componentFolderPath) { var entity = PackageHandlerUtils.CreateEntity <ReferenceType>(model); var stateReq = model.Card.Requisites .FirstOrDefault(r => r.Code == StateReqName); if (stateReq != null) { entity.State = stateReq.ValueLocalizeID == Active ? ComponentState.Active : ComponentState.Closed; } var numerationMethodReq = model.Card.Requisites .FirstOrDefault(r => r.Code == NumerationMethodReqName); if (numerationMethodReq != null) { switch (numerationMethodReq.ValueLocalizeID) { case StronglyAuto: entity.NumerationMethod = NumerationMethod.StronglyAuto; break; case Auto: entity.NumerationMethod = NumerationMethod.Auto; break; case Manual: entity.NumerationMethod = NumerationMethod.Manual; break; } } var displayRequisiteReqName = model.Card.Requisites .FirstOrDefault(r => r.Code == DisplayRequisiteReqName); if (displayRequisiteReqName != null) { switch (displayRequisiteReqName.ValueLocalizeID) { case RecordName: entity.DisplayRequisite = DisplayRequisite.Name; break; default: entity.DisplayRequisite = DisplayRequisite.Code; break; } } var leadingReferenceReq = model.Card.Requisites .FirstOrDefault(r => r.Code == LeadingReferenceReqName); if (leadingReferenceReq != null) { entity.LeadingReference = leadingReferenceReq.Value; } var hasLongRecordNamesReq = model.Card.Requisites .FirstOrDefault(r => r.Code == HasLongRecordNamesReqName); if (hasLongRecordNamesReq != null) { entity.HasLongRecordNames = hasLongRecordNamesReq.ValueLocalizeID == YesValue; } var hasUniqueRecordNamesReq = model.Card.Requisites .FirstOrDefault(r => r.Code == HasUniqueRecordNames); if (hasUniqueRecordNamesReq != null) { entity.HasUniqueRecordNames = hasUniqueRecordNamesReq.ValueLocalizeID == YesValue; } ReadMethods(model, entity, componentFolderPath); ReadMethodsParameters(model, entity); ReadActions(model, entity, componentFolderPath); ReadEvents(entity, componentFolderPath); ReadCardRequisites(model, entity, componentFolderPath); ReadViews(model, entity, componentFolderPath); yield return(entity); }
protected override IEnumerable <DocumentRequisite> ReadComponents(ComponentModel model, string componentFolderPath) { var entity = PackageHandlerUtils.CreateEntity <DocumentRequisite>(model); var fieldReq = model.Card.Requisites .FirstOrDefault(r => r.Code == FieldReqName); if (fieldReq != null) { entity.Field = fieldReq.Value; } var sectionReq = model.Card.Requisites .FirstOrDefault(r => r.Code == SectionReqName); if (sectionReq != null) { entity.Section = RequisiteHandlerUtils.GetRequisiteSection(sectionReq.ValueLocalizeID); } var typeReq = model.Card.Requisites .FirstOrDefault(r => r.Code == TypeReqName); if (typeReq != null) { entity.Type = RequisiteHandlerUtils.GetRequisiteType(typeReq.ValueLocalizeID); } var formatReq = model.Card.Requisites .FirstOrDefault(r => r.Code == FormatReqName); if (formatReq != null) { entity.Format = RequisiteHandlerUtils.GetRequisiteFormat(formatReq.ValueLocalizeID); } var lengthReq = model.Card.Requisites .FirstOrDefault(r => r.Code == LengthReqName); if (!string.IsNullOrEmpty(lengthReq?.Value)) { entity.Length = int.Parse(lengthReq.Value); } var precissionReq = model.Card.Requisites .FirstOrDefault(r => r.Code == PrecissionReqName); if (!string.IsNullOrEmpty(precissionReq?.Value)) { entity.Precission = int.Parse(precissionReq.Value); } var referenceTypeReq = model.Card.Requisites .FirstOrDefault(r => r.Code == ReferenceTypeReqName); if (referenceTypeReq != null) { entity.ReferenceType = referenceTypeReq.Value; } var referenceViewReq = model.Card.Requisites .FirstOrDefault(r => r.Code == ReferenceViewReqName); if (referenceViewReq != null) { entity.ReferenceView = referenceViewReq.Value; } var pickValuesReq = model.Card.Requisites .FirstOrDefault(r => r.Code == PickValuesReqName); if (!string.IsNullOrEmpty(pickValuesReq?.Value)) { var pickValues = pickValuesReq.Value.Split(';'); foreach (var pickValue in pickValues) { var pickValueParts = pickValue.Split('=', '|'); var reqPickValue = new RequisitePickValue { Id = pickValueParts[0][0], Value = pickValueParts[1] }; entity.PickValues.Add(reqPickValue); } } var isStoredReq = model.Card.Requisites .FirstOrDefault(r => r.Code == IsStoredReqName); if (isStoredReq != null) { entity.IsStored = isStoredReq.ValueLocalizeID == Stored; } var isGeneratedReq = model.Card.Requisites .FirstOrDefault(r => r.Code == IsGeneratedReqName); if (isGeneratedReq != null) { entity.IsGenerated = isGeneratedReq.ValueLocalizeID == Generated; } yield return(entity); }