예제 #1
0
 private Widget GetWidget(WidgetViewModelBase viewModel)
 {
     if (viewModel is FixedWageParameterItemViewModel)
     {
         return(new FixedWageParameterView((FixedWageParameterItemViewModel)viewModel));
     }
     else if (viewModel is PercentWageParameterItemViewModel)
     {
         return(new PercentWageParameterView((PercentWageParameterItemViewModel)viewModel));
     }
     else if (viewModel is SalesPlanWageParameterItemViewModel)
     {
         return(new SalesPlanWageParameterView((SalesPlanWageParameterItemViewModel)viewModel));
     }
     else if (viewModel is RatesLevelWageParameterItemViewModel)
     {
         return(new RatesLevelWageParameterView((RatesLevelWageParameterItemViewModel)viewModel));
     }
     else if (viewModel is OldRatesWageParameterItemViewModel)
     {
         return(new OldRatesWageParameterView((OldRatesWageParameterItemViewModel)viewModel));
     }
     else
     {
         return(null);
     }
 }
예제 #2
0
        public WidgetViewModelBase Update(WidgetViewModelBase widgetView, string userId)
        {
            widgetView.ApplicationUserId = userId;
            WidgetBase widget     = null;
            var        widgetType = TypeHelper.FindType(widgetView.Type.ToString());

            widget = widgetView.Transform <WidgetBase>();
            _widgetRep.Update(widget);
            _widgetRep.Save();
            return(null);
        }
예제 #3
0
        public WidgetViewModelBase Create(WidgetViewModelBase widgetView)
        {
            var        widgetType = TypeHelper.FindType(widgetView.Type.ToString());
            WidgetBase widget     = (WidgetBase)Activator.CreateInstance(widgetType);

            _widgetViewModelToWidgetBase.CreateMapper().Map(widgetView, widget);
            _widgetRep.Add(widget);
            _widgetRep.Save();
            widgetView.WidgetId = widget.WidgetId;
            return(widgetView);
        }
 public ContentResult Update(WidgetViewModelBase widgetView, string userId)
 {
     try
     {
         var currentUserId = User.Identity.GetUserId();
         _widgetService.Update(widgetView, currentUserId);
         return(JsonHelper.JsonOk(Resources.Global.Success));
     }
     catch (Exception ex)
     {
         return(JsonHelper.JsonError(ex.Message));
     }
 }
        public ActionResult Create(WidgetViewModelBase widget)
        {
            var currentUserId = User.Identity.GetUserId();

            widget.ApplicationUserId = currentUserId;
            try
            {
                if (!ModelState.IsValid)
                {
                    return(JsonHelper.JsonError(Resources.Global.UnvalidForm));
                }

                var addedSqlServer = _widgetService.Create(widget);
                return(Json(new { Result = "OK", Record = addedSqlServer, Message = Resources.Global.Success }));
            }
            catch (Exception ex)
            {
                return(JsonHelper.JsonError(ex.Message));
            }
        }
        private Widget GetWidget(WidgetViewModelBase viewModel)
        {
            switch (viewModel)
            {
            case FixedWageParameterItemViewModel vm:
                return(new FixedWageParameterView(vm));

            case PercentWageParameterItemViewModel vm:
                return(new PercentWageParameterView(vm));

            case SalesPlanWageParameterItemViewModel vm:
                return(new SalesPlanWageParameterView(vm));

            case RatesLevelWageParameterItemViewModel vm:
                return(new RatesLevelWageParameterView(vm));

            case OldRatesWageParameterItemViewModel vm:
                return(new OldRatesWageParameterView(vm));

            default:
                return(null);
            }
        }
예제 #7
0
        public WidgetView(WidgetId id, WidgetViewModelBase viewModel, UserControl userControl, bool systemStartup)
        {
            InitializeComponent();

            Opacity = 0;
            Hide();

            Id          = id;
            Settings    = id.GetSettings();
            ViewModel   = viewModel;
            UserControl = userControl;

            SetupWidgetControl();

            SetScrollPosition();

            SetupFrame();

            ViewModel.View = this;

            _mouseChecker = new MouseChecker(this, Settings);

            if (!systemStartup && Settings.ShowIntroOnLaunch)
            {
                _mouseChecker.QueueIntro = new IntroData {
                    ExecuteFinishAction = false
                };
            }

            DataContext = ViewModel;

            _mouseChecker.Start();

            ViewModel.OnLoad();

            HasLoaded = true;
        }
예제 #8
0
        public void TestMethod1()
        {
            List <int> DatabaseIds = new List <int> {
                1, 1, 2, 5
            };
            var u = DatabaseIds.Select(x => x.ToString());

            string.Join(",", u);
            //var widget= new CpuWidget { WidgetId = 5 };
            // WidgetBase widgetBase = widget;

            var widget = new CpuWidgetViewModel {
                WidgetId = 5
            };
            WidgetViewModelBase widgetBase = widget;
            var test = widgetBase.Transform <WidgetBase>();

            var objectType     = widgetBase.GetType();
            var widgetTypeName = widgetBase.GetType().Name;

            widgetTypeName = widgetTypeName + "ViewModel";
            var assembly = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;

            assembly = "SqlHealthMonitor.BLL";
            var targetInstance = Activator.CreateInstance(assembly, "SqlHealthMonitor.BLL.Models." + widgetTypeName);
            var targetObj      = targetInstance.Unwrap();
            var targetType     = targetObj.GetType();

            // Find common members by name
            var sourceMembers = from source in objectType.GetMembers().ToList()
                                where source.MemberType == MemberTypes.Property
                                select source;
            var targetMembers = from source in targetType.GetMembers().ToList()
                                where source.MemberType == MemberTypes.Property
                                select source;
            var commonMembers = targetMembers.Where(memberInfo => sourceMembers.Select(c => c.Name)
                                                    .ToList().Contains(memberInfo.Name)).ToList();

            foreach (var memberInfo in commonMembers)
            {
                if (!((PropertyInfo)memberInfo).CanWrite)
                {
                    continue;
                }

                var targetProperty = targetType.GetProperty(memberInfo.Name);
                if (targetProperty == null)
                {
                    continue;
                }

                var sourceProperty = widgetBase.GetType().GetProperty(memberInfo.Name);
                if (sourceProperty == null)
                {
                    continue;
                }

                // Check source and target types are the same
                if (sourceProperty.PropertyType.Name != targetProperty.PropertyType.Name)
                {
                    continue;
                }

                var value = widgetBase.GetType().GetProperty(memberInfo.Name)?.GetValue(widgetBase, null);
                if (value == null)
                {
                    continue;
                }

                // Set the value
                targetProperty.SetValue(targetObj, value, null);
            }
        }