public WindowPointsEditor(IList <IHierarchicalEmcosPoint> points) { _sourcePoints = points; EmcosPoints = new TreeModel(new EmcosPoint(name: "ROOT", children: points)); InitializeComponent(); DataContext = this; // настройка сервиса System.ServiceModel.Channels.Binding binding = new System.ServiceModel.BasicHttpBinding() { MaxBufferSize = 10240000, MaxReceivedMessageSize = 10240000, Name = "ServiceSoap" }; _emcosWebServiceClient = new EmcosTestWebService.ServiceSoapClient(binding, new System.ServiceModel.EndpointAddress(String.Format("http://{0}/{1}", EmcosSettings.Default.ServerAddress, EmcosSettings.Default.WebServiceName))); this.Loaded += (s, e) => { //await LoadPointsFromServiceAsync(); }; CloseCommand = new DelegateCommand(() => { Close(); }); UpdateCommand = new DelegateCommand(async() => { await LoadPointsFromServiceAsync(); }); }
public static void InitServiceClient(string address) { System.ServiceModel.Channels.Binding binding = new System.ServiceModel.BasicHttpBinding() { MaxBufferSize = 10240000, MaxReceivedMessageSize = 10240000, Name = "ServiceSoap" }; EmcosWebServiceClient = new EmcosTestWebService.ServiceSoapClient(binding, new System.ServiceModel.EndpointAddress(address)); /*FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), * new FrameworkPropertyMetadata(System.Windows.Markup.XmlLanguage.GetLanguage(System.Globalization.CultureInfo.CurrentCulture.IetfLanguageTag)));*/ }
public PointsEditor(IEnumerable <IHierarchicalEmcosPoint> balancePoints, IEnumerable <IHierarchicalEmcosPoint> otherPoints, IWindowWithDialogs window) { _rootEmcosGroup = DEFAULT_ROOT_EMCOS_GROUP; _window = window; EmcosPoints = new HierarchicalEmcosPointCollection(null, balancePoints); OtherPoints = new HierarchicalEmcosPointCollection(null, otherPoints); InitializeComponent(); DataContext = this; NewPoints = new List <IHierarchicalEmcosPoint>(); // настройка сервиса System.ServiceModel.Channels.Binding binding = new System.ServiceModel.BasicHttpBinding() { MaxBufferSize = 10240000, MaxReceivedMessageSize = 10240000, Name = "ServiceSoap" }; _emcosWebServiceClient = new EmcosTestWebService.ServiceSoapClient(binding, new System.ServiceModel.EndpointAddress(String.Format("http://{0}/{1}", EmcosSettings.Default.ServerAddress, EmcosSettings.Default.WebServiceName))); this.Loaded += (s, e) => { //await LoadPointsFromServiceAsync(); }; CommandUpdate = new DelegateCommand(async() => { await LoadPointsFromServiceAsync(); }); CommandDelete = new DelegateCommand(() => { var dialog = _window.DialogQuestion(String.Format("Точка '{0}' будет удалена. Вы уверены, что хотите продолжить?", _emcosPointsSelectedValue.Name)); dialog.YesText = "Да, удалить"; dialog.NoText = "Отменить"; dialog.Yes = () => { _emcosPointsSelectedValue.Parent.Children.Remove(_emcosPointsSelectedValue); if (NewPoints.Contains(_emcosPointsSelectedValue)) { NewPoints.Remove(_emcosPointsSelectedValue); } if (DeletedPoints.Contains(_emcosPointsSelectedValue) == false) { DeletedPoints.Add(_emcosPointsSelectedValue); } }; }, (o) => _emcosPointsSelectedValue != null && _emcosPointsSelectedValue.Parent != null); CommandMoveUp = new DelegateCommand(() => { int index = _emcosPointsSelectedValue.Parent.Children.IndexOf(_emcosPointsSelectedValue); _emcosPointsSelectedValue.Parent.Children.Move(index, index - 1); }, (o) => _emcosPointsSelectedValue != null && _emcosPointsSelectedValue.Parent != null && _emcosPointsSelectedValue.Parent.Children.IndexOf(_emcosPointsSelectedValue) > 0 ); CommandMoveDown = new DelegateCommand(() => { int index = _emcosPointsSelectedValue.Parent.Children.IndexOf(_emcosPointsSelectedValue); _emcosPointsSelectedValue.Parent.Children.Move(index, index + 1); }, (o) => _emcosPointsSelectedValue != null && _emcosPointsSelectedValue.Parent != null && _emcosPointsSelectedValue.Parent.Children.IndexOf(_emcosPointsSelectedValue) < _emcosPointsSelectedValue.Parent.ChildrenCount - 1); CommandClear = new DelegateCommand(() => { var dialog = _window.DialogQuestion("Список точек будет очищен. Вы уверены, что хотите продолжить?"); dialog.YesText = "Да, очистить"; dialog.NoText = "Отменить"; dialog.Yes = () => { DeletedPoints.Clear(); DeletedPoints.AddRange(EmcosPoints.FlatItemsList); EmcosPoints.Clear(); NewPoints.Clear(); }; }, (o) => EmcosPoints != null && EmcosPoints.Count > 0); CommandAdd = new DelegateCommand(() => { if (_emcosPointsSelectedValue != null) { _emcosPointsSelectedValue.Children.Add(_emcosPointsFromSiteSelectedValue); } else { EmcosPoints.Add(_emcosPointsFromSiteSelectedValue); } if (NewPoints.Contains(_emcosPointsFromSiteSelectedValue) == false) { NewPoints.Add(_emcosPointsFromSiteSelectedValue); } }, (o) => _emcosPointsFromSiteSelectedValue != null); CommandBalanceFormula = new DelegateCommand(() => { BalanceFormulaEditor ctrl = new BalanceFormulaEditor(); ctrl.DataContext = Repository.Instance.GetGroupBalanceFormula(_emcosPointsSelectedValue.Id); var dialog = _window.DialogCustom(ctrl, TMPApplication.WpfDialogs.DialogMode.YesNo); dialog.YesText = "Записать"; dialog.NoText = "Отменить"; dialog.Yes = () => { ; }; }, (o) => _emcosPointsSelectedValue != null && _emcosPointsSelectedValue.IsGroup); }