public WelcomeTextnImageWidgetConfiguration(WidgetItem widgetItem)
 {
     HasName(widgetItem.Name);
     View.HasConfig("")
     .HasController <WelcomeTextnImageWidgetController>();
     HasParameterDependency.On(widgetItem.HasParamDependency);
 }
예제 #2
0
        private void CreateWidgetItems()
        {
            try
            {
                mListLeftWidgetItems.Clear();
                mListCenterWidgetItems.Clear();
                for (int i = 0; i < mListWidgetInfos.Count; i++)
                {
                    var info = mListWidgetInfos[i];

                    var item = WidgetItem.CreateItem(info);
                    item.CurrentApp         = CurrentApp;
                    item.ListBasicDataInfos = mListBasicDataInfos;
                    item.MainView           = this;
                    item.IsFull             = false;
                    item.IsCenter           = info.IsCenter;
                    item.Title = CurrentApp.GetLanguageInfo(string.Format("1206W{0}", info.WidgetID), info.Title);
                    if (info.IsCenter)
                    {
                        mListCenterWidgetItems.Add(item);
                    }
                    else
                    {
                        mListLeftWidgetItems.Add(item);
                    }
                }
            }
            catch (Exception ex)
            {
                ShowException(ex.Message);
            }
        }
예제 #3
0
        public Top10IntPrdTableConfiguration(WidgetItem widgetItem)
        {
            HasName(widgetItem.Name);
            View.HasConfig(GetBarChartFooter)
            .HasController <SimpleTableWidgetController>();
            View.DataFlow.AddSource <CubeDataSourceBase>()
            .WithModule(widgetItem.ViewId)
            .Transform().By <SingleTableTransformer>()
            .HasProperty(t => t.CategoryText).WithValue("")
            .HasProperty(t => t.GeoText).WithValue("")
            .HasProperty(t => t.PeriodTypeText).WithValue("")
            .HasProperty(t => t.WidgetName).WithValue(widgetItem.Name)
            .HasProperty(t => t.Periodtext).WithValue("");

            Export.HasController <HomeExportController>().HasConfig("Top10IntPrdTable")
            .DataFlow.AddSource <CubeDataSourceBase>().WithModule(widgetItem.ViewId)
            .Transform().By <CubeDataToXTableHomeTopRankingTransformer>()
            .Transform().By <ExportModelTransformer>()
            .HasProperty(t => t.NavigationNameString).WithValue(p => p["Navigation_Label"])
            .HasProperty(t => t.Country).WithValue(p => p["@@" + ParameterList.Country + "_text"])
            .HasProperty(t => t.Product).WithValue(p => p["@@" + ParameterList.Product + "_text"])
            .HasProperty(t => t.PeriodType).WithValue(p => p["@@" + ParameterList.TimePeriod + "_text"]);

            //.HasProperty(t => t.MeasureText).WithValue(p => p["@@Measure_text"])
            //.HasProperty(t => t.CategoryText).WithValue(p => p["@@MarketCategory_text"])
            //.HasProperty(t => t.SubCategoryText).WithValue(p => p["@@MarketSubCategory_text"])
            //.HasProperty(t => t.SegementText).WithValue(p => p["@@Segment_text"])
            //.HasProperty(t => t.ChannelText).WithValue(p => p["@@Channel_text"])
            //.HasProperty(t => t.SubChannelText).WithValue(p => p["@@SubChannel_text"]);
            HasParameterDependency.On(widgetItem.HasParamDependency);
        }
        public IntProductsAllLocationByProductsWidgetConfiguration(WidgetItem widgetItem)
        {
            HasName(widgetItem.Name);
            View.HasConfig("").HasController <ExpandCollapseTableWidgetController>();
            View.DataFlow.AddSource <CubeDataSourceBase>().WithModule(widgetItem.ViewId)
            .Transform().By <IntProductsAllLocationByProductsTransformer>()
            //.HasProperty(t => t._Measure).WithValue(p => p["@@Measure_text"])
            .HasProperty(t => t._Measure).WithValue(p => p["@@UnitOrValue_text"])
            .HasProperty(t => t._IsThousand).WithValue(p => p[ParameterList.AbsoluteThousandFilter] == "Thousand")
            .HasProperty(t => t.CompanyOrBrandHeader).WithValue(GetHeader);
            HasParameterDependency.On(widgetItem.HasParamDependency);

            Export.HasController <ExpandCollapseTableExportController>().HasConfig("Categories-SixColumns")
            .DataFlow.AddSource <CubeDataSourceBase>().WithModule(widgetItem.ViewId)
            .Transform().By <IndicatorImageExcelTransformer>()
            .Transform().By <CubeDataToXTableExpandCollapseTableTransformer>()
            .HasProperty(t => t.NameColumnValue).WithValue(GetHeader)
            .HasProperty(t => t.MeasureText).WithValue(p => p[ParameterList.TypeOfMeasure])
            .Transform().By <ExportModelTransformer>()
            .HasProperty(t => t.NavigationNameString).WithValue(p => p.CurrentNavigationLabel())
            .HasProperty(t => t.RegionOrCluster).WithValue(p => p["@@" + ParameterList.RegionOrCluster + "_text"])
            .HasProperty(t => t.Country).WithValue(p => p["@@" + ParameterList.Country + "_text"])
            .HasProperty(t => t.Segment).WithValue(p => p["@@" + ParameterList.Segment + "_text"])
            //.HasProperty(t => t.Forms).WithValue(p => p["@@" + ParameterList.Form + "_text"])
            .HasProperty(t => t.UnitValue).WithValue(p => p["@@" + ParameterList.UnitOrValue + "_text"])
            .HasProperty(t => t.PeriodType).WithValue(p => p["@@" + ParameterList.TimePeriod + "_text"])
            .HasProperty(t => t.EndDate).WithValue(p => p["@@" + ParameterList.EndDate + "_text"])
            .Transform().By <ExportTableSplitTrasformerForPpt>();
        }
예제 #5
0
 private void FullScreenWidget(WidgetItem widgetItem)
 {
     try
     {
         if (widgetItem == null)
         {
             return;
         }
         mFullWidgetItem = widgetItem;
         bool isFull = widgetItem.IsFull;
         widgetItem.IsFull = !isFull;
         if (isFull)
         {
             CloseFullScreenWidget();
         }
         else
         {
             CreateFullScreenWidget();
         }
     }
     catch (Exception ex)
     {
         ShowException(ex.Message);
     }
 }
 private void Init()
 {
     try
     {
         if (PropertyItem == null)
         {
             return;
         }
         CurrentApp          = PropertyItem.CurrentApp;
         PropertyItem.Editor = this;
         if (CurrentApp == null)
         {
             return;
         }
         mWidgetItem         = PropertyItem.WidgetItem;
         mWidgetPropertyInfo = PropertyItem.PropertyInfo;
         if (mWidgetPropertyInfo != null)
         {
             ConvertFormat = mWidgetPropertyInfo.ConvertFormat;
         }
         mWidgetPropertyValue = PropertyItem.PropertyValue;
         if (mWidgetPropertyValue != null)
         {
             Value = mWidgetPropertyValue.Value01;
             Text  = mWidgetPropertyValue.Value01;
         }
         InitEnumItems();
         ShowValue();
     }
     catch (Exception ex)
     {
         ShowException(ex.Message);
     }
 }
예제 #7
0
        internal static void AddNewWidgetToCollection()
        {
            try
            {
                var filePath = FileSelectionDialog.GetFile();

                if (String.IsNullOrEmpty(filePath))
                {
                    Logger.LogMessage("Aborted: no file selected");
                    return;
                }

                if (!File.Exists(filePath))
                {
                    Logger.LogMessage("Aborted: file no longer exists");
                    return;
                }

                if (Settings.Default.WidgetItemCollection.Any(r => r.FilePath == filePath))
                {
                    Logger.LogMessage("Aborted: specified widget is alreday exists");
                }
                else
                {
                    var newItem = new WidgetItem(filePath);
                    Settings.Default.WidgetItemCollection.Add(newItem);
                    Logger.LogMessage($"Added new widget for {filePath}");
                }
            }
            catch (Exception ex)
            {
                Logger.LogError(ex);
            }
        }
        private void LoadWidgetEditor(WidgetItem widgetItem)
        {
            groupBox2.Controls.Clear();
            var ed = FusionWidgetEditorMap.GetEditorForWidget(widgetItem.Widget, _context, _edsvc);

            ed.Content.Dock = DockStyle.Fill;
            groupBox2.Controls.Add(ed.Content);
        }
예제 #9
0
 public async Task <WidgetItem> RefreshAsync(WidgetItem widget)
 {
     return(await Task.Run(() =>
     {
         var context = _compiler.Compile(widget.Code);
         widget.Context = context.Result as IWidget;
         widget.Context.Run();
         return widget;
     }));
 }
예제 #10
0
 internal static void RemoveWidgetFromCollection(this WidgetItem widget)
 {
     try
     {
         Logger.LogMessage("Removing widget from collection...");
         Settings.Default.WidgetItemCollection.Remove(widget);
     }
     catch (Exception ex)
     {
         Logger.LogError(ex);
     }
 }
예제 #11
0
 private void RefreshWidget(WidgetItem widgetItem)
 {
     try
     {
         var view = widgetItem.View as IWidgetView;
         if (view != null)
         {
             view.Refresh();
         }
     }
     catch (Exception ex)
     {
         ShowException(ex.Message);
     }
 }
예제 #12
0
 internal static void KillRelatedProcess(this WidgetItem widget)
 {
     try
     {
         widget.RelatedProcess?.Kill();
     }
     catch (InvalidOperationException ioe)
     {
         Logger.LogError(ioe, "The process has already exited");
     }
     catch (Exception ex)
     {
         Logger.LogError(ex);
     }
 }
        public ExpandCollapseTableWidgetConfiguration(WidgetItem widgetItem)
        {
            HasName(widgetItem.Name);
            View.HasConfig("").HasController <ExpandCollapseTableWidgetController>();
            View.DataFlow.AddSource <CubeDataSourceBase>().WithModule(widgetItem.ViewId)
            .Transform().By <ExpandCollapseTableTransformer>()
            .HasProperty(t => t.NavigationName).WithValue(p => p[ParameterList.NavigationName])
            //.HasProperty(t => t.MeasureText).WithValue(p => p["@@Measure_text"])
            .HasProperty(t => t.NameColumnValue).WithValue(GetNameColumnText(widgetItem));
            //.HasProperty(t => t._IsThousand).WithValue(p => p[ParameterList.AbsoluteThousandFilter] == "Thousand")
            // .HasProperty(t => t._IsMoleculeAtAGlance).WithValue(p => p.CurrentNavigationName() == NavigationItems.NavMoleculeAllLocationsAtGlance().Name)
            //.HasProperty(t => t._IsBrandAtAGlance).WithValue(p => p.CurrentNavigationName() == NavigationItems.NavBrandsAllLocationsAtGlance().Name)
            //.HasProperty(t => t._IsSubbrandAtAGlance).WithValue(p => p.CurrentNavigationName() == NavigationItems.NavSubBrandsAllLocationsAtGlance().Name)
            // .HasProperty(t => t.ShowFullLength).WithValue(widgetItem.Name == WidgetItems.SubBrandExpCollapseTableWidget().Name || widgetItem.Name == WidgetItems.SKUExpCollapseTableWidget().Name || widgetItem.Name == WidgetItems.MoleculesExpCollapseTableWidget().Name);


            Export.HasController <ExpandCollapseTableExportController>().HasConfig(widgetItem.Name + " - At a Glance")
            .DataFlow.AddSource <CubeDataSourceBase>().WithModule(widgetItem.ViewId)
            .Transform().By <IndicatorImageExcelTransformer>()
            .Transform().By <CubeDataToXTableExpandCollapseTableTransformer>()
            .HasProperty(t => t.NameColumnValue).WithValue(GetNameColumnText(widgetItem))
            //.HasProperty(t => t.MeasureText).WithValue(p => p["@@Measure_text"])
            .Transform().By <ExportModelTransformer>()

            .HasProperty(t => t.NavigationNameString).WithValue(p => p.CurrentNavigationLabel())
            .HasProperty(t => t.RegionOrCluster).WithValue(p => p["@@" + ParameterList.RegionOrCluster + "_text"])
            .HasProperty(t => t.Country).WithValue(p => p["@@" + ParameterList.Country + "_text"])
            .HasProperty(t => t.Segment).WithValue(p => p["@@" + ParameterList.Segment + "_text"])
            //.HasProperty(t => t.Forms).WithValue(p => p["@@" + ParameterList.Form + "_text"])
            .HasProperty(t => t.UnitValue).WithValue(p => p["@@" + ParameterList.UnitOrValue + "_text"])
            .HasProperty(t => t.PeriodType).WithValue(p => p["@@" + ParameterList.TimePeriod + "_text"])
            .HasProperty(t => t.EndDate).WithValue(p => p["@@" + ParameterList.EndDate + "_text"])
            .Transform().By <ExportTableSplitTrasformerForPpt>();


            //.HasProperty(t => t.NavigationNameString).WithValue(p => p["Navigation_Label"])
            //.HasProperty(t => t.GeoMaptext).WithValue(p => p["RB_Geo_text"])
            // .HasProperty(t => t.TimePeriodText).WithValue(p => p["@@Period_text"])
            // .HasProperty(t => t.MeasureText).WithValue(p => p["@@Measure_text"])
            // .HasProperty(t => t.CategoryText).WithValue(p => p["@@MarketCategory_text"])
            // .HasProperty(t => t.SubCategoryText).WithValue(p => p["@@MarketSubCategory_text"])
            // .HasProperty(t => t.SegementText).WithValue(p => p["@@Segment_text"])
            // .HasProperty(t => t.ChannelText).WithValue(p => p["@@Channel_text"])
            // .HasProperty(t => t.SubChannelText).WithValue(p => p["@@SubChannel_text"]);
            //.Transform().By<ExportTableSplitTrasformerForPpt>();

            HasParameterDependency.On(widgetItem.HasParamDependency);
        }
예제 #14
0
        public SnapshotChartWidgetConfiguration(WidgetItem widgetItem)
        {
            HasName(widgetItem.Name);
            HasTitle(widgetItem.Name);

            View.HasController <CombiHomeChartWidgetController>();

            View.HasConfig("");

            View.DataFlow.AddSource <CubeDataSourceBase>()
            .WithModule(widgetItem.ViewId)
            .Transform().By <CompanySnapshotChartDataTransformer>()
            .HasProperty(t => t.PeriodString).WithValue(p => p["@@" + ParameterList.TimePeriod + "_text"])
            .HasProperty(t => t.MeasureValue).WithValue(p => p["@@" + ParameterList.UnitOrValue + "_text"]);
            HasParameterDependency.On(widgetItem.HasParamDependency);
        }
        public CompanyTrendTableChartWidgetConfiguration(WidgetItem widgetItem)
        {
            HasName(widgetItem.Name);
            this.widgetItem = widgetItem;
            View.HasConfig(p => p)
            .HasController <CompanyTrendTableWidgetController>();

            View.DataFlow.AddSource <CubeDataSourceBase>()
            .WithModule(widgetItem.ViewId)
            .Transform().By <CompanyTrendTableChartTransformer>()
            .HasProperty(t => t.MeasureType).WithValue(p => p[ParameterList.TypeOfMeasure])
            .HasProperty(t => t.PeriodType).WithValue(p => p["@@" + ParameterList.TimePeriod + "_text"])
            .HasProperty(t => t.Date).WithValue(p => p["@@" + ParameterList.EndDate + "_text"])
            .HasProperty(t => t.NavigationName).WithValue(p => p[ParameterList.NavigationName])
            .HasProperty(t => t.ParamName)
            .WithValue(p => GetParamName())
            .HasProperty(t => t.ShowFullLength).WithValue(true)
            .HasProperty(t => t.NameColumHeaderText).WithValue(GetHeaderText)
            .HasProperty(t => t.UncheckedItems).WithValue(GetUncheckedItems)     //UNChecked items could be a bug
            .HasProperty(t => t.AbsoluteTousandValue).WithValue(p => p[ParameterList.AbsoluteThousandFilter]);



            Export.HasController <TrendTableChartExportController>().HasConfig("CompanyTrend")
            .DataFlow.AddSource <CubeDataSourceBase>().WithModule(widgetItem.ViewId)
            .Transform().By <CubeDataToXTableTrendTransformer>()
            //.HasProperty(t => t.PeriodType).WithValue(p => p["@@TimePeriod_text"])
            //.HasProperty(t => t.KPI).WithValue(p => p["@@KPI_text"])
            //.HasProperty(t => t.EndDate).WithValue(p => p["@@EndDate_text"])
            //.HasProperty(t => t.AbsoluteThousandValue).WithValueWithValue("Thousand")
            .Transform().By <ExportModelTransformer>()
            .HasProperty(t => t.MeasureType).WithValue(p => p[ParameterList.TypeOfMeasure])
            .HasProperty(t => t.NavigationNameString).WithValue(p => p["Navigation_Label"])
            .HasProperty(t => t.RegionOrCluster).WithValue(p => p[ParameterList.RegionOrCluster])
            .HasProperty(t => t.Country).WithValue(p => p[ParameterList.Country])
            .HasProperty(t => t.Segment).WithValue(p => p["@@Segment_text"])
            .HasProperty(t => t.UnitValue).WithValue(p => p["@@" + ParameterList.UnitOrValue + "_text"])
            .HasProperty(t => t.PeriodType).WithValue(p => p["@@" + ParameterList.TimePeriod + "_text"])
            .HasProperty(t => t.EndDate).WithValue(p => p["@@" + ParameterList.EndDate + "_text"]);



            if (widgetItem.HasParamDependency != null && widgetItem.HasParamDependency.Count > 0)
            {
                HasParameterDependency.On(widgetItem.HasParamDependency);
            }
        }
        private string GetNameColumnText(WidgetItem widgetItem)
        {
            if (widgetItem.Name == WidgetItems.CompanyExpCollapseTableWidget().Name)
            {
                return("Company");
            }
            if (widgetItem.Name == WidgetItems.IntlProductsAllLocByProdExpCollapseWidget().Name || widgetItem.Name == WidgetItems.IntlProductsAllProdByLocExpCollapseWidget().Name)
            {
                return("Intl Product");
            }
            if (widgetItem.Name == WidgetItems.ProductsAllLocByProdExpCollapseWidget().Name || widgetItem.Name == WidgetItems.ProductsAllProdByLocExpCollapseWidget().Name)
            {
                return("Product");
            }

            return("Name");
        }
예제 #17
0
        private WidgetItem CreateWidget(IWidget widget)
        {
            var widgetItem = new WidgetItem
            {
                Name             = widget.Name,
                Template         = GetBody(widget.GetHtml()),
                Script           = widget.GetScript(),
                ScriptReferences = widget.GetScriptReferences(),
                Style            = widget.GetStyle(),
                StyleReferences  = widget.GetStyleReferences(),
                Layout           = widget.Getlayout()
            };

            widgetItem.Template = ReplaceThisWithID(widgetItem.Template, widgetItem.ID);

            return(widgetItem);
        }
        public CombinationChartWidgetConfiguration(WidgetItem widgetItem)
        {
            HasName(widgetItem.Name);
            View.HasConfig("")
            .HasController <CombiChartWidgetController>();

            View.DataFlow.AddSource <CubeDataSourceBase>()
            .WithModule(widgetItem.ViewId)
            .Transform().By <CombinationChartTransformer>()
            .HasProperty(t => t.WidgetName).WithValue(widgetItem.Name)
            .HasProperty(t => t.RegionOrCluster).WithValue(p => p["@@" + ParameterList.RegionOrCluster + "_text"])
            .HasProperty(t => t.country).WithValue(p => p["@@" + ParameterList.Country + "_text"])
            .HasProperty(t => t.KPI).WithValue(p => p["@@KPI_text"])
            .HasProperty(t => t.PeriodType).WithValue(p => p["@@" + ParameterList.TimePeriod + "_text"])
            .HasProperty(t => t.RevertAxis).WithValue(p => p["@@TimePeriod_text"] == "MAT" || p["@@TimePeriod_text"] == "YTD")
            .HasProperty(t => t.UnitValue).WithValue(p => p["@@" + ParameterList.UnitOrValue + "_text"])
            //.HasProperty(t => t.StartDate).WithValue(p => p["@@" + ParameterList.StartDate + "_text"])
            .HasProperty(t => t.EndDate).WithValue(p => p["@@" + ParameterList.EndDate + "_text"])
            .HasProperty(t => t.UncheckedItems).WithValue(p => widgetItem.Name == WidgetItems.AllRegionCombinationChart().Name ? p[ParameterList.RegionUncheckedItems] : p[ParameterList.KsaUncheckedItems]);

            Export.HasConfig("HomeTrend" /*GetExportConfig*/).HasController <HomeExportController>()//p=>p["@@"+ParameterList.KPI+"_text"
            .DataFlow.AddSource <CubeDataSourceBase>().WithModule(widgetItem.ViewId)
            .Transform().By <CubeDataToXTableTrendTransformer>()
            //.HasProperty(t => t.KPI).WithValue(p => p["@@UnitOrValue_text"])
            //.HasProperty(t => t.PeriodType).WithValue(p => p["@@" + ParameterList.TimePeriod + "_text"])
            //.HasProperty(t => t.EndDate).WithValue(p => p["@@" + ParameterList.EndDate + "_text"])
            .Transform().By <ExportModelTransformer>()
            .HasProperty(t => t.NavigationNameString).WithValue(p => p.CurrentNavigationLabel())
            .HasProperty(t => t.RegionOrCluster).WithValue(p => p["@@" + ParameterList.RegionOrCluster + "_text"])
            .HasProperty(t => t.Country).WithValue(p => p["@@" + ParameterList.Country + "_text"])
            .HasProperty(t => t.Segment).WithValue(p => p["@@" + ParameterList.Segment + "_text"])
            //.HasProperty(t => t.Forms).WithValue(p => p["@@" + ParameterList.Form + "_text"])
            .HasProperty(t => t.UnitValue).WithValue(p => p["@@" + ParameterList.UnitOrValue + "_text"])
            .HasProperty(t => t.PeriodType).WithValue(p => p["@@" + ParameterList.TimePeriod + "_text"])
            .HasProperty(t => t.EndDate).WithValue(p => p["@@" + ParameterList.EndDate + "_text"]);
            //.HasProperty(t => t.KPI).WithValue(p => p["@@KPI_text"])

            //.HasProperty(t => t.RevertAxis).WithValue(p => p["@@TimePeriod_text"] == "MAT" || p["@@TimePeriod_text"] == "YTD")

            //.HasProperty(t => t.StartDate).WithValue(p => p["@@" + ParameterList.StartDate + "_text"])

            //.HasProperty(t => t.UncheckedItems).WithValue(p => widgetItem.Name == WidgetItems.AllRegionCombinationChart().Name ? p[ParameterList.RegionUncheckedItems] : p[ParameterList.KsaUncheckedItems]);

            HasParameterDependency.On(widgetItem.HasParamDependency);
        }
예제 #19
0
        internal static void SetProcessAndRun(this WidgetItem widget)
        {
            try
            {
                if (widget == null)
                {
                    throw new ArgumentNullException(nameof(widget));
                }

                if (widget.RelatedProcess != null)
                {
                    throw new ArgumentException("The process is already running");
                }

                if (!File.Exists(widget.FilePath))
                {
                    Logger.LogMessage($"Specified widget path is no longer exists.");
                    widget.RemoveWidgetFromCollection();
                    return;
                }

                var process = Settings.Default.CurrentProcessor.ProcessFile(widget.FilePath);

                if (process == null)
                {
                    Logger.LogMessage($"No process was assigned to {widget}");
                    return;
                }

                process.EnableRaisingEvents = true;
                process.Exited += (sender, args) =>
                {
                    widget.RelatedProcess = null;
                    Logger.LogMessage($"Process for {widget} was terminated");
                };

                widget.RelatedProcess = process;
                Logger.LogMessage($"New related process assigned for {widget}");
            }
            catch (Exception ex)
            {
                Logger.LogError(ex);
            }
        }
예제 #20
0
        public TrendTableWidgetConfiguration(WidgetItem widgetItem)
        {
            HasName(widgetItem.Name);
            View.HasConfig(p => p)
            .HasController <TrendTableWidgetController>();

            View.DataFlow.AddSource <CubeDataSourceBase>()//DummyTableDataSource
            .WithModule(widgetItem.ViewId)
            .Transform().By <TableChartTransformer>()
            .HasProperty(t => t.ShowFullLength).WithValue(true)
            .HasProperty(t => t.NavigationName).WithValue(p => p.CurrentNavigationName())
            .HasProperty(t => t.MeasureType).WithValue(p => p["@@KPI_text"])
            .HasProperty(t => t.PeriodType).WithValue(p => p["@@" + ParameterList.TimePeriod + "_text"])
            .HasProperty(t => t.Date).WithValue(p => p["@@" + ParameterList.EndDate + "_text"])
            .HasProperty(t => t.UncheckedItems).WithValue(p => widgetItem.Name == WidgetItems.AllRegionTrendTableWidget().Name ? p[ParameterList.RegionUncheckedItems] : p[ParameterList.KsaUncheckedItems])
            .HasProperty(t => t.ParamName).WithValue(p => widgetItem.Name == WidgetItems.AllRegionTrendTableWidget().Name ? ParameterList.RegionUncheckedItems : ParameterList.KsaUncheckedItems)
            .HasProperty(t => t.AbsoluteTousandValue).WithValue(p => p[ParameterList.AbsoluteThousandFilter])
            .HasProperty(t => t.KPI).WithValue(p => p["@@KPI_text"]);

            Export.HasConfig(GetExportConfig).HasController <TableExportController>()
            .DataFlow.AddSource <CubeDataSourceBase>().WithModule(widgetItem.ViewId)
            .Transform().By <CubeDataToXTableTrendTransformer>()
            //.HasProperty(t => t.KPI).WithValue(p => p["@@_text"])
            //.HasProperty(t => t.PeriodType).WithValue(p => p["@@" + ParameterList.TimePeriod + "_text"])
            //.HasProperty(t => t.EndDate).WithValue(p => p["@@" + ParameterList.EndDate + "_text"])
            .Transform().By <ExportModelTransformer>()
            .HasProperty(t => t.NavigationNameString).WithValue(p => p.CurrentNavigationLabel())
            .HasProperty(t => t.KPI).WithValue(p => p["@@KPI_text"])
            .HasProperty(t => t.PeriodType).WithValue(p => p["@@" + ParameterList.TimePeriod + "_text"])
            //.HasProperty(t => t.RevertAxis).WithValue(p => p["@@TimePeriod_text"] == "MAT" || p["@@TimePeriod_text"] == "YTD")
            .HasProperty(t => t.UnitValue).WithValue(p => p["@@" + ParameterList.UnitOrValue + "_text"])
            .HasProperty(t => t.StartDate).WithValue(p => p["@@" + ParameterList.StartDate + "_text"])
            .HasProperty(t => t.EndDate).WithValue(p => p["@@" + ParameterList.EndDate + "_text"])
            //.HasProperty(t => t.UncheckedItems).WithValue(p => widgetItem.Name == WidgetItems.AllRegionCombinationChart().Name ? p[ParameterList.RegionUncheckedItems] : p[ParameterList.KsaUncheckedItems])
            .Transform().By <ExportTableSplitTrasformerForPpt>();
            //.HasProperty(t => t.KPI).WithValue(p => p["@@KPI_text"]);

            if (widgetItem.HasParamDependency != null && widgetItem.HasParamDependency.Count > 0)
            {
                HasParameterDependency.On(widgetItem.HasParamDependency);
            }
        }
예제 #21
0
        private IList <WidgetItem> DeserializeFromFiles(FileInfo[] files)
        {
            var widgets    = new List <WidgetItem>();
            var serializer = JsonSerializer.CreateDefault();

            foreach (var file in files)
            {
                WidgetItem item = null;
                using (var reader = new StreamReader(file.FullName))
                    using (var json = new JsonTextReader(reader))
                    {
                        item = serializer.Deserialize(json, typeof(WidgetItem)) as WidgetItem;
                    }
                if (item != null)
                {
                    widgets.Add(item);
                }
            }
            return(widgets);
        }
        public async Task ShouldSaveAsync()
        {
            //arrange
            var service = CreateService();
            var widget  = new WidgetItem
            {
                Layout = _defaultLayout,
                Code   = _defaultLayout,
                Name   = "Test saving widget"
            };

            //act
            await service.SaveAsync(new[] { widget });

            await Task.Delay(10);

            var widgets = await service.LoadAsync();

            //assert
            Assert.IsTrue(widgets.Any());
            Assert.IsNotNull(widgets.Single(d => d.Name == widget.Name));
        }
        public SnapshotBottomTableWidgetConfiguration(WidgetItem widgetItem)
        {
            HasName(widgetItem.Name);
            HasTitle(widgetItem.Name);

            View.HasController <SnapshotTableWidgetController>();
            View.HasConfig(p => p);

            View.DataFlow.AddSource <CubeDataSourceBase>()
            .WithModule(widgetItem.ViewId)
            .Transform().By <SnapshotTableTransformer>()
            .HasProperty(t => t.IsLowerTable).WithValue(true)
            .HasProperty(t => t.NameColumHeaderText).WithValue(GetHeaderText)
            .HasProperty(t => t.ShowFullLength).WithValue(true)
            .HasProperty(t => t.MeasureValue).WithValue(p => p["@@UnitOrValue_text"])
            .HasProperty(t => t.AbsoluteTousandValue).WithValue(p => p["absoluteThousandConversion"]);

            //.HasProperty(t => t.ShowFullLength).WithValue(widgetItem.Name == WidgetItems.BottomSubBrandSnapshotTable().Name || widgetItem.Name == WidgetItems.BottomSKUSnapshotTable().Name);

            //Export.HasController<SnapshotBottomTableExportController>()
            //      .DataFlow.AddSource<CubeDataSourceBase>()
            //      .WithModule(widgetItem.ViewId)
            //      .Transform().By<CubeDataToXTableSnapshotTransformer>()
            //      .HasProperty(t => t.IsTopTable).WithValue(false)
            //      .HasProperty(t => t.AbsoluteThousandValue).WithValue(p => p["absoluteThousandConversion"])
            //      .Transform().By<ExportSnapshotModelTransformer>()
            //      .HasProperty(t => t.NavigationNameString).WithValue(p => p["Navigation_Label"])
            //      .HasProperty(t => t.GeoMaptext).WithValue(p => p["RB_Geo_text"])
            //     .HasProperty(t => t.TimePeriodText).WithValue(p => p["@@Period_text"])
            //     .HasProperty(t => t.MeasureText).WithValue(p => p["@@Measure_text"])
            //     .HasProperty(t => t.CategoryText).WithValue(p => p["@@MarketCategory_text"])
            //     .HasProperty(t => t.SubCategoryText).WithValue(p => p["@@MarketSubCategory_text"])
            //     .HasProperty(t => t.SegementText).WithValue(p => p["@@Segment_text"])
            //     .HasProperty(t => t.ChannelText).WithValue(p => p["@@Channel_text"])
            //     .HasProperty(t => t.SubChannelText).WithValue(p => p["@@SubChannel_text"]);
            HasParameterDependency.On(widgetItem.HasParamDependency);
        }
예제 #24
0
        public SnapShotTopTableWidgetConfiguration(WidgetItem widgetItem)
        {
            HasName(widgetItem.Name);
            HasTitle(widgetItem.Name);

            View.HasController <SnapshotTableWidgetController>();

            View.HasConfig(p => p);
            View.DataFlow.AddSource <CubeDataSourceBase>()
            .WithModule(widgetItem.ViewId)
            .Transform().By <SnapshotTableTransformer>()
            .HasProperty(t => t.IsTopTable).WithValue(true)
            .HasProperty(t => t.MeasureValue).WithValue(p => p["@@" + ParameterList.UnitOrValue + "_text"])
            .HasProperty(t => t.AbsoluteTousandValue).WithValue(p => p[ParameterList.AbsoluteThousandFilter]);
            //.HasProperty(t => t.ShowFullLength).WithValue(widgetItem.Name == WidgetItems.TopSubBrandSnapShotTable().Name || widgetItem.Name == WidgetItems.TopSKUSnapShotTable().Name);

            Export.HasController <SnapshotTopTableExportController>()
            .DataFlow.AddSource <CubeDataSourceBase>()
            .WithModule(widgetItem.ViewId)
            .Transform().By <CubeDataToXTableSnapshotTransformer>()
            .HasProperty(t => t.IsTopTable).WithValue(true)
            .HasProperty(t => t.AbsoluteThousandValue).WithValue(p => p["absoluteThousandConversion"])
            .Transform().By <ExportSnapshotModelTransformer>()
            .HasProperty(t => t.MeasureText).WithValue(p => p[ParameterList.TypeOfMeasure])
            .HasProperty(t => t.NavigationNameString).WithValue(p => p["Navigation_Label"])
            .HasProperty(t => t.Region).WithValue(p => p["@@" + ParameterList.RegionOrCluster + "_text"])
            .HasProperty(t => t.Country).WithValue(p => p["@@" + ParameterList.Country + "_text"])
            .HasProperty(t => t.Segment).WithValue(p => p["@@" + ParameterList.Segment + "_text"])
            //.HasProperty(t => t.Forms).WithValue(p => p["@@" + ParameterList.Form + "_text"])
            .HasProperty(t => t.UnitOrValue).WithValue(p => p["@@" + ParameterList.UnitOrValue + "_text"])
            .HasProperty(t => t.TimePeriodText).WithValue(p => p["@@" + ParameterList.TimePeriod + "_text"])
            .HasProperty(t => t.EndDate).WithValue(p => p["@@" + ParameterList.EndDate + "_text"]);


            HasParameterDependency.On(widgetItem.HasParamDependency);
        }
        private void AddWidgetItem(IWidget widget)
        {
            var item = new WidgetItem()
            {
                Name       = widget.Name,
                Type       = widget.Type,
                Widget     = widget,
                IsDockable = true
            };

            item.IsDockable = _context.IsWidgetDockable(widget.Type);

            PropertyChangedEventHandler widgetChange = (s, e) =>
            {
                if (e.PropertyName == nameof(widget.Name))
                {
                    item.Name = widget.Name;
                }
            };

            widget.PropertyChanged += WeakEventHandler.Wrap(widgetChange, (eh) => widget.PropertyChanged -= eh);

            _items.Add(item);
        }
예제 #26
0
 private void LoadWidgetEditor(WidgetItem widgetItem)
 {
     groupBox2.Controls.Clear();
     var ed = FusionWidgetEditorMap.GetEditorForWidget(widgetItem.Widget, _context, _edsvc);
     ed.Content.Dock = DockStyle.Fill;
     groupBox2.Controls.Add(ed.Content);
 }
예제 #27
0
        private void AddWidgetItem(IWidget widget)
        {
            var item = new WidgetItem()
            {
                Name = widget.Name,
                Type = widget.Type,
                Widget = widget,
                IsDockable = true
            };

            item.IsDockable = _context.IsWidgetDockable(widget.Type);

            widget.PropertyChanged += (s, e) =>
            {
                if (e.PropertyName == "Name") //NOXLATE
                    item.Name = widget.Name;
            };

            _items.Add(item);
        }
예제 #28
0
 private string GetFileName(WidgetItem widget) => $"{_widgetsDirectory.FullName}\\{widget.Name}{_fileExtension}";
예제 #29
0
 public void Delete(WidgetItem item)
 {
     File.Delete(GetFileName(item));
 }