public static void Start() { if (Navigator.Manager.NotDefined(MethodInfo.GetCurrentMethod())) { TypeClient.Start(); QueryClient.Start(); Navigator.AddSetting(new EntitySettings <UserQueryEntity> { View = _ => new UserQuery(), Icon = ExtensionsImageLoader.GetImageSortName("userQuery.png") }); SearchControl.GetMenuItems += SearchControl_GetCustomMenuItems; UserAssetsClient.Start(); UserAssetsClient.RegisterExportAssertLink <UserQueryEntity>(); Constructor.Register <UserQueryEntity>(ctx => { MessageBox.Show(Window.GetWindow(ctx.Element), ChartMessage._0CanOnlyBeCreatedFromTheSearchWindow.NiceToString().FormatWith(typeof(UserQueryEntity).NicePluralName()), ChartMessage.CreateNew.NiceToString(), MessageBoxButton.OK, MessageBoxImage.Information); return(null); }); LinksClient.RegisterEntityLinks <Entity>((entity, ctrl) => { if (!UserQueryPermission.ViewUserQuery.IsAuthorized()) { return(null); } return(Server.Return((IUserQueryServer us) => us.GetUserQueriesEntity(entity.EntityType)) .Select(cp => new UserQueryQuickLink(cp, entity)).ToArray()); }); } }
private StackPanel IconPair(string first, string second, bool equal) { var margin = new Thickness(3, 0, 3, 0); return(new StackPanel { Orientation = Orientation.Horizontal, Children = { new Border { Child = new Image{ Source = ExtensionsImageLoader.GetImageSortName(first), Margin = margin }, Background = equal ? lightRed : red, }, new Border { Child = new Image{ Source = ExtensionsImageLoader.GetImageSortName(second), Margin = margin }, Background = equal ? lightGreen : green, }, } }); }
static MenuItem SearchControl_GetCustomMenuItems(SearchControl sc) { if (!ChartPermission.ViewCharting.IsAuthorized()) { return(null); } var miResult = new MenuItem { Header = ChartMessage.Chart.NiceToString(), Icon = ExtensionsImageLoader.GetImageSortName("chartIcon.png").ToSmallImage() }; miResult.Click += delegate { var cr = new ChartRequest(sc.QueryName) { Filters = sc.FilterOptions.Select(fo => fo.ToFilter()).ToList(), }; ChartClient.OpenChartRequest(cr, null, null); }; return(miResult); }
public UserQueryQuickLink(Lite <UserQueryEntity> userQuery, Lite <Entity> entity) { this.ToolTip = userQuery.ToString(); this.Label = userQuery.ToString(); this.userQuery = userQuery; this.entity = entity; this.Icon = ExtensionsImageLoader.GetImageSortName("userQuery.png"); this.IsVisible = true; }
public UserChartQuickLink(Lite <UserChartEntity> userChart, Lite <Entity> entity) { this.ToolTip = userChart.ToString(); this.Label = userChart.ToString(); this.userChart = userChart; this.entity = entity; this.IsVisible = true; this.Icon = ExtensionsImageLoader.GetImageSortName("chartIcon.png"); }
public DashboardQuickLink(Lite <DashboardEntity> dashboard, Lite <Entity> entity) { this.ToolTip = dashboard.ToString(); this.Label = dashboard.ToString(); this.dashboard = dashboard; this.entity = entity; this.IsVisible = true; this.Icon = ExtensionsImageLoader.GetImageSortName("dashboard.png"); }
public static void Start() { if (Navigator.Manager.NotDefined(MethodInfo.GetCurrentMethod())) { Navigator.AddSettings(new List <EntitySettings> { new EntitySettings <SMSMessageEntity> { View = e => new SMSMessage(), Icon = ExtensionsImageLoader.GetImageSortName("sms.png") }, new EntitySettings <SMSTemplateEntity> { View = e => new SMSTemplate(), Icon = ExtensionsImageLoader.GetImageSortName("smstemplate.png") }, new EmbeddedEntitySettings <SMSTemplateMessageEmbedded>() { View = e => new Signum.Windows.SMS.SMSTemplateMessage() }, new EntitySettings <SMSSendPackageEntity> { View = e => new SMSSendPackage(), Icon = ExtensionsImageLoader.GetImageSortName("package.png") }, new EntitySettings <SMSUpdatePackageEntity> { View = e => new SMSUpdatePackage(), Icon = ExtensionsImageLoader.GetImageSortName("package.png") }, new ModelEntitySettings <MultipleSMSModel> { View = e => new MultipleSMS(), Icon = ExtensionsImageLoader.GetImageSortName("package.png") }, }); OperationClient.AddSetting(new EntityOperationSettings <Entity>(SMSMessageOperation.CreateSMSWithTemplateFromEntity) { Click = FindAssociatedTemplates }); OperationClient.AddSetting(new ContextualOperationSettings <Entity>(SMSMessageOperation.SendSMSMessages) { Click = coc => { MultipleSMSModel model = Navigator.View(new MultipleSMSModel()); if (model == null) { return; } var result = new ConstructorContext(coc.SearchControl, coc.OperationInfo).SurroundConstruct(ctx => Server.Return((IOperationServer s) => s.ConstructFromMany(coc.Entities, coc.Type, coc.OperationInfo.OperationSymbol, ctx.Args))); if (result != null) { Navigator.Navigate(result); } } }); } }
public void Initialize() { Items.Clear(); this.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_Clicked)); UserCharts = Server.Return((IChartServer s) => s.GetUserCharts(ChartRequest.QueryName)); if (UserCharts.Count > 0) { foreach (Lite <UserChartEntity> uc in UserCharts.OrderBy(a => a.ToString())) { MenuItem mi = new MenuItem() { IsCheckable = true, Header = uc.ToString(), Tag = uc, }; Items.Add(mi); } } UpdateCurrent(CurrentUserChart); if (Navigator.IsNavigable(typeof(UserChartEntity), true)) { Items.Add(new Separator()); if (Navigator.IsCreable(typeof(UserChartEntity), true)) { Items.Add(new MenuItem() { Header = EntityControlMessage.Create.NiceToString(), Icon = ExtensionsImageLoader.GetImageSortName("add.png").ToSmallImage() }.Handle(MenuItem.ClickEvent, New_Clicked)); } Items.Add(new MenuItem() { Header = UserQueryMessage.Edit.NiceToString(), Icon = ExtensionsImageLoader.GetImageSortName("edit.png").ToSmallImage() }.Handle(MenuItem.ClickEvent, Edit_Clicked) .Bind(MenuItem.VisibilityProperty, this, "CurrentUserChart", notNullAndEditable)); Items.Add(new MenuItem() { Header = EntityControlMessage.Remove.NiceToString(), Icon = ExtensionsImageLoader.GetImageSortName("remove.png").ToSmallImage() }.Handle(MenuItem.ClickEvent, Remove_Clicked) .Bind(MenuItem.VisibilityProperty, this, "CurrentUserChart", notNullAndEditable)); } }
public static void Start() { if (Navigator.Manager.NotDefined(MethodInfo.GetCurrentMethod())) { TypeClient.Start(); QueryClient.Start(); Navigator.AddSettings(new List <EntitySettings>() { new EntitySettings <UserChartEntity> { View = e => new UserChart(), Icon = ExtensionsImageLoader.GetImageSortName("chartIcon.png") }, new EntitySettings <ChartScriptEntity> { View = e => new ChartScript(), Icon = ExtensionsImageLoader.GetImageSortName("chartScript.png") }, }); UserAssetsClient.Start(); UserAssetsClient.RegisterExportAssertLink <UserChartEntity>(); SearchControl.GetMenuItems += SearchControl_GetCustomMenuItems; UserChartEntity.SetConverters(query => QueryClient.GetQueryName(query.Key), queryname => QueryClient.GetQuery(queryname)); string processName = Path.GetFileName(Process.GetCurrentProcess().MainModule.FileName); var main = Registry.CurrentUser .CreateSubKey("Software") .CreateSubKey("Microsoft") .CreateSubKey("Internet Explorer") .CreateSubKey("Main") .CreateSubKey("FeatureControl") .CreateSubKey("FEATURE_BROWSER_EMULATION"); main.SetValue(processName, 9999, RegistryValueKind.DWord); Constructor.Register <UserChartEntity>(ctx => { MessageBox.Show(Window.GetWindow(ctx.Element), ChartMessage._0CanOnlyBeCreatedFromTheChartWindow.NiceToString().FormatWith(typeof(UserChartEntity).NicePluralName()), ChartMessage.CreateNew.NiceToString(), MessageBoxButton.OK, MessageBoxImage.Information); return(null); }); LinksClient.RegisterEntityLinks <Entity>((entity, ctrl) => Server.Return((IChartServer us) => us.GetUserChartsEntity(entity.EntityType)) .Select(cp => new UserChartQuickLink(cp, entity)).ToArray()); } }
public Login() { this.InitializeComponent(); //the assignments are here becouse, at this point, the Uri schema has not been registered //for "pack", since this is done after app registration. One way to avoid it would be addding: //UriParser.Register(new GenericUriParser(GenericUriParserOptions.GenericAuthority), "pack", -1); //in the first line of Main method in Program.cs. _minimizeFocus = ExtensionsImageLoader.GetImageSortName("bminimize-on.png"); _minimizeNoFocus = ExtensionsImageLoader.GetImageSortName("bminimize.png"); _closeFocus = ExtensionsImageLoader.GetImageSortName("bclose-on.png"); _closeNoFocus = ExtensionsImageLoader.GetImageSortName("bclose.png"); SettingNewPassword = false; ReLogin = false; }
public static MenuItem Construct(SearchControl sc) { MenuItem miResult = new MenuItem() { Header = ExcelMessage.ExcelReport.NiceToString(), Icon = ExtensionsImageLoader.GetImageSortName("excelPlain.png").ToSmallImage(), }; miResult.Click += (object sender, RoutedEventArgs e) => { e.Handled = true; SaveFileDialog sfd = new SaveFileDialog() { AddExtension = true, DefaultExt = ".xlsx", Filter = ExcelMessage.Excel2007Spreadsheet.NiceToString(), OverwritePrompt = true, FileName = "{0}.xlsx".FormatWith(QueryUtils.GetNiceName(sc.QueryName)), Title = ExcelMessage.FindLocationFoExcelReport.NiceToString() }; if (sfd.ShowDialog(Window.GetWindow(sc)) == true) { var request = sc.GetQueryRequest(true); byte[] file = Server.Return((IExcelReportServer s) => s.ExecutePlainExcel(request)); File.WriteAllBytes(sfd.FileName, file); System.Diagnostics.Process.Start(sfd.FileName); } }; sc.ResultChanged += (object sender, ResultChangedEventArgs e) => { ResultTable qr = sc.ResultTable; miResult.IsEnabled = (qr != null && qr.Rows.Length > 0); }; return(miResult); }
public static void Start(params Type[] types) { if (Navigator.Manager.NotDefined(MethodInfo.GetCurrentMethod())) { if (types == null) { throw new ArgumentNullException("types"); } WidgetPanel.GetWidgets += (obj, mainControl) => { if (obj is Entity && types.Contains(obj.GetType()) && !((Entity)obj).IsNew && Finder.IsFindable(typeof(NoteEntity))) { return(new NotesWidget()); } return(null); }; Server.SetSemiSymbolIds <NoteTypeEntity>(); OperationClient.AddSettings(new List <OperationSettings> { new EntityOperationSettings <Entity>(NoteOperation.CreateNoteFromEntity) { IsVisible = _ => false } }); Navigator.AddSetting(new EntitySettings <NoteTypeEntity> { View = e => new NoteType() }); Navigator.AddSetting(new EntitySettings <NoteEntity> { View = e => new Note(), IsCreable = EntityWhen.Never, Icon = ExtensionsImageLoader.GetImageSortName("note2.png") }); } }
public static void Start(params Type[] types) { if (Navigator.Manager.NotDefined(MethodInfo.GetCurrentMethod())) { if (types == null) { throw new ArgumentNullException("types"); } Navigator.AddSettings(new List <EntitySettings> { new EntitySettings <AlertTypeEntity> { View = e => new AlertType() }, new EntitySettings <AlertEntity> { View = e => new Alert(), IsCreable = EntityWhen.Never, Icon = ExtensionsImageLoader.GetImageSortName("alert.png"), } }); Server.SetSemiSymbolIds <AlertTypeEntity>(); OperationClient.AddSettings(new List <OperationSettings> { new EntityOperationSettings <Entity>(AlertOperation.CreateAlertFromEntity) { IsVisible = a => false }, }); WidgetPanel.GetWidgets += (obj, mainControl) => (obj is Entity && types.Contains(obj.GetType()) && !((Entity)obj).IsNew) && Finder.IsFindable(typeof(AlertEntity)) ? new AlertsWidget() : null; } }
public static MenuItem Construct(SearchControl sc, MenuItem plainExcelMenuItem) { MenuItem miResult = new MenuItem { Header = ExcelMessage.Reports.NiceToString(), Icon = ExtensionsImageLoader.GetImageSortName("excel.png").ToSmallImage() }; miResult.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler((object sender, RoutedEventArgs e) => { e.Handled = true; if (e.OriginalSource is MenuItem b) //Not to capture the mouseDown of the scrollbar buttons { Lite <ExcelReportEntity> reportLite = (Lite <ExcelReportEntity>)b.Tag; SaveFileDialog sfd = new SaveFileDialog() { AddExtension = true, DefaultExt = ".xlsx", Filter = ExcelMessage.Excel2007Spreadsheet.NiceToString(), FileName = reportLite.ToString() + " - " + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx", OverwritePrompt = true, Title = ExcelMessage.FindLocationFoExcelReport.NiceToString() }; if (sfd.ShowDialog(Window.GetWindow(sc)) == true) { byte[] result = Server.Return((IExcelReportServer r) => r.ExecuteExcelReport(reportLite, sc.GetQueryRequest(true))); File.WriteAllBytes(sfd.FileName, result); System.Diagnostics.Process.Start(sfd.FileName); } } })); Action initialize = null; MenuItem miAdmin = new MenuItem() { Header = "Administrar", Icon = ExtensionsImageLoader.GetImageSortName("folderedit.png").ToSmallImage() }; miAdmin.Click += (object sender, RoutedEventArgs e) => { var query = QueryClient.GetQuery(sc.QueryName); Finder.Explore(new ExploreOptions(typeof(ExcelReportEntity)) { ShowFilters = false, ShowFilterButton = false, FilterOptions = new List <FilterOption> { new FilterOption { ColumnName = "Query", Operation = FilterOperation.EqualTo, Value = query.ToLite(query.IsNew), Frozen = true } }, Closed = (_, __) => miAdmin.Dispatcher.Invoke(() => initialize()) //Refrescar lista de informes tras salir del administrador }); e.Handled = true; }; initialize = () => { miResult.Items.Clear(); List <Lite <ExcelReportEntity> > reports = Server.Return((IExcelReportServer s) => s.GetExcelReports(sc.QueryName)); if (plainExcelMenuItem != null) { miResult.Items.Add(plainExcelMenuItem); miResult.Items.Add(new Separator()); } miResult.Header = new TextBlock { Inlines = { new Run(ExcelMessage.Reports.NiceToString()), reports.Count == 0? (Inline) new Run(): new Bold(new Run(" (" + reports.Count + ")")) } }; if (reports.Count > 0) { foreach (Lite <ExcelReportEntity> report in reports) { MenuItem mi = new MenuItem() { Header = report.ToString(), Icon = ExtensionsImageLoader.GetImageSortName("excelDoc.png").ToSmallImage(), Tag = report, }; miResult.Items.Add(mi); } } miResult.Items.Add(miAdmin); }; initialize(); return(miResult); }
public static void Start() { if (Navigator.Manager.NotDefined(MethodInfo.GetCurrentMethod())) { TypeClient.Start(); UserAssetsClient.Start(); UserAssetsClient.RegisterExportAssertLink <DashboardEntity>(); Navigator.AddSettings(new List <EntitySettings>() { new EntitySettings <DashboardEntity>() { View = e => new DashboardEdit(), Icon = ExtensionsImageLoader.GetImageSortName("dashboard.png") }, new EntitySettings <ValueUserQueryListPartEntity>() { View = e => new ValueUserQueryListPartEntityEdit() }, new EntitySettings <LinkListPartEntity>() { View = e => new LinkListPartEdit() }, new EntitySettings <UserQueryPartEntity>() { View = e => new UserQueryPartEdit() }, new EntitySettings <UserChartPartEntity>() { View = e => new UserChartPartEdit() } }); PartViews.Add(typeof(UserQueryPartEntity), new PartView { ViewControl = () => new UserQueryPartView(), IsTitleEnabled = () => Navigator.IsNavigable(typeof(UserQueryEntity), true), OnTitleClick = part => { Navigator.Navigate(((UserQueryPartEntity)part).UserQuery); }, FullScreen = (elem, part) => { UserQueryClient.Explore(((UserQueryPartEntity)part).UserQuery, UserAssetsClient.GetCurrentEntity(elem)); } }); PartViews.Add(typeof(UserChartPartEntity), new PartView { ViewControl = () => new UserChartPartView(), IsTitleEnabled = () => Navigator.IsNavigable(typeof(UserChartEntity), true), OnTitleClick = part => { Navigator.Navigate(((UserChartPartEntity)part).UserChart); }, FullScreen = (elem, part) => { ChartClient.View(((UserChartPartEntity)part).UserChart, UserAssetsClient.GetCurrentEntity(elem)); } }); PartViews.Add(typeof(ValueUserQueryListPartEntity), new PartView { ViewControl = () => new CountSearchControlPartView() }); PartViews.Add(typeof(LinkListPartEntity), new PartView { ViewControl = () => new LinkListPartView() }); LinksClient.RegisterEntityLinks <DashboardEntity>((cp, ctrl) => new[] { new QuickLinkAction(DashboardMessage.Preview, () => Navigate(cp, null)) { IsVisible = DashboardPermission.ViewDashboard.IsAuthorized() } }); LinksClient.RegisterEntityLinks <Entity>((entity, ctrl) => { if (!DashboardPermission.ViewDashboard.IsAuthorized()) { return(null); } return(Server.Return((IDashboardServer us) => us.GetDashboardsEntity(entity.EntityType)) .Select(cp => new DashboardQuickLink(cp, entity)).ToArray()); }); Navigator.Manager.OnGetEmbeddedWigets += (e, ctx) => { if (!DashboardPermission.ViewDashboard.IsAuthorized() || !(e is Entity)) { return(null); } var dashboard = Server.Return((IDashboardServer s) => s.GetEmbeddedDashboard(e.GetType())); if (dashboard == null) { return(null); } var control = new DashboardView { DataContext = dashboard }.Set(UserAssetsClient.CurrentEntityProperty, e); return(new EmbeddedWidget { Control = control, Position = dashboard.EmbeddedInEntity.Value == DashboardEmbedededInEntity.Top ? EmbeddedWidgetPostion.Top: dashboard.EmbeddedInEntity.Value == DashboardEmbedededInEntity.Bottom ? EmbeddedWidgetPostion.Bottom: throw new InvalidOperationException("Unexpected") }); }; }
internal static void OpenChartRequest(ChartRequest chartRequest, UserChartEntity uc, Entity currentEntity) { Navigator.OpenIndependentWindow(() => { var crw = new ChartRequestWindow() { DataContext = chartRequest, Title = ChartMessage.ChartOf0.NiceToString().FormatWith(QueryUtils.GetNiceName(chartRequest.QueryName)), Icon = Finder.Manager.GetFindIcon(chartRequest.QueryName, false) ?? ExtensionsImageLoader.GetImageSortName("chartIcon.png") }; if (uc != null) { SetUserChart(crw, uc); } if (currentEntity != null) { UserAssetsClient.SetCurrentEntity(crw, currentEntity); } return(crw); }); }
public static MenuItem Construct(SearchControl sc) { List <Lite <UserQueryEntity> > userQueries = null; UserQueryEntity current = null; MenuItem miResult = new MenuItem { Icon = ExtensionsImageLoader.GetImageSortName("favorite.png").ToSmallImage() }; MenuItem edit = null; MenuItem remove = null; Action updatecurrent = () => { miResult.Header = new TextBlock { Inlines = { new Run( current == null ? UserQueryMessage.MyQueries.NiceToString() : current.DisplayName), userQueries.IsNullOrEmpty() ? (Inline) new Run(): new Bold(new Run(" (" + userQueries.Count + ")")) } }; foreach (var item in miResult.Items.OfType <MenuItem>().Where(mi => mi.IsCheckable)) { item.IsChecked = ((Lite <UserQueryEntity>)item.Tag).RefersTo(current); } bool isEnabled = current != null && !Navigator.IsReadOnly(current); if (edit != null) { edit.IsEnabled = isEnabled; } if (remove != null) { remove.IsEnabled = isEnabled; } }; Action initialize = null; RoutedEventHandler new_Clicked = (object sender, RoutedEventArgs e) => { e.Handled = true; sc.FocusSearch(); //Commit RealValue bindings UserQueryEntity userQuery = UserQueryClient.FromSearchControl(sc); var disp = Dispatcher.CurrentDispatcher; Navigator.Navigate(userQuery, new NavigateOptions { View = () => new UserQuery { QueryDescription = sc.Description }, Closed = (s, args) => { disp.Invoke(() => { initialize(); if (userQuery.IdOrNull != null) { current = userQuery; } updatecurrent(); }); } }); }; RoutedEventHandler edit_Clicked = (object sender, RoutedEventArgs e) => { e.Handled = true; var d = Dispatcher.CurrentDispatcher; Navigator.Navigate(current.ToLite().Retrieve(), new NavigateOptions { View = () => new UserQuery { QueryDescription = sc.Description }, Closed = (s, args) => { d.Invoke(() => { initialize(); updatecurrent(); }); } }); }; RoutedEventHandler remove_Clicked = (object sender, RoutedEventArgs e) => { e.Handled = true; if (MessageBox.Show(UserQueryMessage.AreYouSureToRemove0.NiceToString().FormatWith(current), UserQueryMessage.RemoveUserQuery.NiceToString(), MessageBoxButton.YesNo, MessageBoxImage.Exclamation, MessageBoxResult.No) == MessageBoxResult.Yes) { current.ToLite().DeleteLite(UserQueryOperation.Delete); initialize(); updatecurrent(); } }; RoutedEventHandler menuItem_Clicked = (object sender, RoutedEventArgs e) => { e.Handled = true; if (e.OriginalSource is MenuItem b) { Lite <UserQueryEntity> userQuery = (Lite <UserQueryEntity>)b.Tag; var uq = Server.Return((IUserQueryServer s) => s.RetrieveUserQuery(userQuery)); UserQueryClient.ToSearchControl(uq, sc); current = uq; updatecurrent(); sc.Search(); } }; initialize = () => { miResult.Items.Clear(); userQueries = Server.Return((IUserQueryServer s) => s.GetUserQueries(sc.QueryName)); if (current != null && !userQueries.Contains(current.ToLite())) { current = null; } if (userQueries.Count > 0) { foreach (Lite <UserQueryEntity> report in userQueries.OrderBy(a => a.ToString())) { MenuItem mi = new MenuItem() { IsCheckable = true, Header = report.ToString(), Tag = report, }; mi.Click += menuItem_Clicked; miResult.Items.Add(mi); } } if (Navigator.IsNavigable(typeof(UserQueryEntity), isSearch: true)) { miResult.Items.Add(new Separator()); if (Navigator.IsCreable(typeof(UserQueryEntity), true)) { miResult.Items.Add(new MenuItem() { Header = EntityControlMessage.Create.NiceToString(), Icon = ExtensionsImageLoader.GetImageSortName("add.png").ToSmallImage() }.Handle(MenuItem.ClickEvent, new_Clicked)); } miResult.Items.Add(edit = new MenuItem() { Header = UserQueryMessage.Edit.NiceToString(), Icon = ExtensionsImageLoader.GetImageSortName("edit.png").ToSmallImage() }.Handle(MenuItem.ClickEvent, edit_Clicked)); miResult.Items.Add(remove = new MenuItem() { Header = EntityControlMessage.Remove.NiceToString(), Icon = ExtensionsImageLoader.GetImageSortName("remove.png").ToSmallImage() }.Handle(MenuItem.ClickEvent, remove_Clicked)); } }; initialize(); var autoSet = UserQueryClient.GetUserQuery(sc); if (autoSet != null) { UserQueryClient.ToSearchControl(autoSet, sc); current = autoSet; updatecurrent(); sc.Search(); } else { updatecurrent(); } return(miResult); }
protected override void OnInitialized(EventArgs e) { base.OnInitialized(e); Icon = ExtensionsImageLoader.GetImageSortName("favorite.png").ToSmallImage(); }