BudgetAnalyser.Engine.Services.DashboardService.CreateWidgetState C# (CSharp) Метод

CreateWidgetState() приватный статический Метод

private static CreateWidgetState ( Widget widget ) : WidgetPersistentState
widget BudgetAnalyser.Engine.Widgets.Widget
Результат BudgetAnalyser.Engine.Widgets.WidgetPersistentState
        private static WidgetPersistentState CreateWidgetState(Widget widget)
        {
            var multiInstanceWidget = widget as IUserDefinedWidget;
            if (multiInstanceWidget != null)
            {
                var surprisePaymentWidget = multiInstanceWidget as SurprisePaymentWidget;
                if (surprisePaymentWidget == null)
                {
                    return new MultiInstanceWidgetState
                    {
                        Id = multiInstanceWidget.Id,
                        Visible = multiInstanceWidget.Visibility,
                        WidgetType = multiInstanceWidget.WidgetType.FullName
                    };
                }

                return new SurprisePaymentWidgetPersistentState
                {
                    Id = surprisePaymentWidget.Id,
                    Visible = surprisePaymentWidget.Visibility,
                    WidgetType = surprisePaymentWidget.WidgetType.FullName,
                    PaymentStartDate = surprisePaymentWidget.StartPaymentDate,
                    Frequency = surprisePaymentWidget.Frequency
                };
            }

            return new WidgetPersistentState
            {
                Visible = widget.Visibility,
                WidgetType = widget.GetType().FullName
            };
        }