Exemplo n.º 1
0
        private void DeleteImpl()
        {
            var formatter = FormattersLocator.Get(SelectedItem.Guid);

            FormattersLocator.Remove(formatter);
            UpdateConverters();
        }
Exemplo n.º 2
0
        private void UpdateConverters()
        {
            var converters = FormattersLocator.GetFormatters().Select(ConverterViewModel.FromModel);

            Converters = new ObservableCollection <ConverterViewModel>(
                converters.OrderBy(c => c.IsFixed).ThenBy(c => c.Name));
        }
        public static void Init()
        {
            ToCleanString      = BuildToCleanStringFormatter();
            ToInteger          = BuildToIntegerFormatter();
            ToFloat            = BuildToFloatFormatter();
            ToCleanStringArray = BuildToCleanStringArrayFormatter();

            FormattersLocator.Set(ToCleanString);
            FormattersLocator.Set(ToInteger);
            FormattersLocator.Set(ToFloat);
            FormattersLocator.Set(ToCleanStringArray);
        }
Exemplo n.º 4
0
        private static void FillFieldViewModel(RuleFieldViewModel viewModel, ExcelImportRule.Column model)
        {
            if (model == null)
            {
                return;
            }

            viewModel.UpdateCompatableFormatters();
            viewModel.Formatter = FormattersLocator.Get(model.Formatter.Guid);
            viewModel.Active    = model.Active;
            viewModel.Required  = model.Required;
            viewModel.Index     = model.Index;
        }
Exemplo n.º 5
0
        private void SaveImpl()
        {
            var model = Model as JavaScriptValueFormatter;

            if (model == null)
            {
                model = new JavaScriptValueFormatter();
            }

            model.Guid        = Guid == Guid.Empty ? Guid.NewGuid() : Guid;
            model.Name        = Name;
            model.Description = Description;
            model.Script      = UserScript;
            model.Type        = GeneralizedTypes.GetConcreteType(GeneralizedType);

            FormattersLocator.Add(model);

            App.Window.NavigateModal(null);
        }
Exemplo n.º 6
0
        private IEnumerable <ExcelImportRuleCellPoco> BuildProperties()
        {
            if (!IsNew)
            {
                var ex = new Exception(@"Попытка создания пустых полей для записанного правила импорта");
                Log.Exception(ex);
#if DEBUG
                throw ex;
#endif
            }

            return((
                       from property in CatalogItemSchema.Properties
                       select new ExcelImportRuleCellPoco()
            {
                RowIndex = 0,
                Property = property,
                FormatterGuid = FormattersLocator.Search(CatalogItemSchema.GetPropertyConcreteType(property)).First().Guid
            }).ToArray());
        }
Exemplo n.º 7
0
 protected override ExcelImportRule GetModel(ExcelImportRulePoco entity)
 {
     return(new ExcelImportRule()
     {
         Name = entity.Name,
         Description = entity.Description,
         Identificator = entity.Identificator,
         CsvMode = entity.UseCsvFile,
         RowOffset = entity.RowOffset,
         ColumnOffset = entity.ColumnOffset,
         WorksheetIndex = entity.WorksheetIndex,
         Columns = entity.Properties.Select(p => new ExcelImportRule.Column()
         {
             Index = p.RowIndex,
             Name = p.Property.ToString(),
             Formatter = FormattersLocator.Get(p.FormatterGuid),
             Active = p.Active,
             Required = p.Required
         })
     });
 }
Exemplo n.º 8
0
        public void UpdateCompatableFormatters()
        {
            if (CompatableFormatters == null)
            {
                CompatableFormatters = new ObservableCollection <IFormatter>();
            }

            var formatters = FormattersLocator.Search(GeneralizedTypes.GetConcreteType(GeneralizedType)).ToArray();

            if (CompatableFormatters.Count == 0)
            {
                foreach (var formatter in formatters)
                {
                    CompatableFormatters.Add(formatter);
                }

                return;
            }

            CollectionUtils.UpdateObservableCollection(CompatableFormatters, formatters);
        }
Exemplo n.º 9
0
 public static ExcelImportRule BuildMasumaRules()
 {
     return(new ExcelImportRule()
     {
         ColumnOffset = 0,
         RowOffset = 7,
         WorksheetIndex = 1,
         CsvMode = true,
         Identificator = "masumaexcel",
         Name = "Masuma Excel",
         Description = @"Файл прайс-листов Excel поставщика Masuma",
         Columns = new[]
         {
             new ExcelImportRule.Column()
             {
                 Name = @"Brand",
                 Formatter = FormattersLocator.Search <string>().First(),
                 Index = 1,
                 Active = true,
                 Required = true
             },
             new ExcelImportRule.Column()
             {
                 Name = @"PartNumber",
                 Formatter = FormattersLocator.Search <string>().First(),
                 Index = 3,
                 Active = true,
                 Required = true
             },
             new ExcelImportRule.Column()
             {
                 Name = @"Name",
                 Formatter = FormattersLocator.Search <string>().First(),
                 Index = 5,
                 Active = true,
                 Required = true
             },
             new ExcelImportRule.Column()
             {
                 Name = @"Analogs",
                 Formatter = FormattersLocator.Search <string[]>().First(),
                 Index = 4,
                 Active = true
             },
             new ExcelImportRule.Column()
             {
                 Name = @"Balance",
                 Formatter = FormattersLocator.Search <double>().First(),
                 Index = 8,
                 Active = true,
                 Required = true
             },
             new ExcelImportRule.Column()
             {
                 Name = @"Price",
                 Formatter = FormattersLocator.Search <double>().First(),
                 Index = 9,
                 Active = true,
                 Required = true
             }
         }
     });
 }
Exemplo n.º 10
0
        private void Defaults()
        {
            var fields = new List <RuleFieldViewModel>();

            NameField = new RuleFieldViewModel
            {
                Name            = "Name",
                GeneralizedType = GeneralizedType.String,
                Active          = true,
                Required        = true,
                BaseField       = true,
                //Index = 0,
                Formatter = FormattersLocator.Search <string>().First()
            };
            fields.Add(NameField);

            BrandField = new RuleFieldViewModel
            {
                Name            = "Brand",
                GeneralizedType = GeneralizedType.String,
                Active          = true,
                Required        = true,
                BaseField       = false,
                //Index = 0,
                Formatter = FormattersLocator.Search <string>().First()
            };
            fields.Add(BrandField);

            PartNumberField = new RuleFieldViewModel
            {
                Name            = "PartNumber",
                GeneralizedType = GeneralizedType.String,
                Active          = true,
                Required        = true,
                BaseField       = true,
                //Index = 0,
                Formatter = FormattersLocator.Search <string>().First()
            };
            fields.Add(PartNumberField);

            PriceField = new RuleFieldViewModel
            {
                Name            = "Price",
                GeneralizedType = GeneralizedType.Float,
                Active          = true,
                Required        = true,
                BaseField       = true,
                //Index = 0,
                Formatter = FormattersLocator.Search <double>().First()
            };
            fields.Add(PriceField);

            BalanceField = new RuleFieldViewModel
            {
                Name            = "Balance",
                GeneralizedType = GeneralizedType.Float,
                Active          = true,
                Required        = true,
                BaseField       = false,
                //Index = 0,
                Formatter = FormattersLocator.Search <double>().First()
            };
            fields.Add(BalanceField);

            AnalogsField = new RuleFieldViewModel
            {
                Name            = "Analogs",
                GeneralizedType = GeneralizedType.ArrayOfString,
                Active          = true,
                Required        = false,
                BaseField       = false,
                //Index = 0,
                Formatter = FormattersLocator.Search <string[]>().First()
            };
            fields.Add(AnalogsField);

            Fields = fields;

            SubscrubeFieldsChanges();
        }
Exemplo n.º 11
0
 protected override IFormatter GetModel(FixedFormatterReference entity)
 {
     return(FormattersLocator.Get(entity.Guid));
 }