public ContactsEditorViewModel() { SelectedContact = (Observable<ObservableContact>)ValidatedObservableFactory.ValidatedObservable(new ObservableContact()); Contacts = new EntityDataViewModel(10, typeof(Contact),true); Contacts.OnSelectedRowsChanged += OnSelectedRowsChanged; Contacts.FetchXml = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' returntotalrecordcount='true' no-lock='true' distinct='false' count='{0}' paging-cookie='{1}' page='{2}'> <entity name='contact'> <attribute name='firstname' /> <attribute name='lastname' /> <attribute name='telephone1' /> <attribute name='birthdate' /> <attribute name='accountrolecode' /> <attribute name='parentcustomerid'/> <attribute name='transactioncurrencyid'/> <attribute name='creditlimit'/> <attribute name='numberofchildren'/> <attribute name='contactid' />{3} </entity> </fetch>"; // Register validation ContactValidation.Register(Contacts.ValidationBinder); ContactValidation.Register(new ObservableValidationBinder(this.SelectedContact)); }
public ConnectionsViewModel(EntityReference parentRecordId, string[] connectToTypes, int pageSize, FetchQuerySettings view) { Connections = new EntityDataViewModel(pageSize, typeof(Connection), true); if (view != null) { _viewFetchXml = QueryParser.GetFetchXmlParentFilter(view, "record1id"); // Set initial sort _defaultSortCol=new SortCol(view.OrderByAttribute, !view.OrderByDesending); } ParentRecordId.SetValue(parentRecordId); ObservableConnection connection = new ObservableConnection(connectToTypes); connection.Record2Id.SetValue(parentRecordId); ConnectionEdit = (Observable<ObservableConnection>)ValidatedObservableFactory.ValidatedObservable(connection); Connections.OnDataLoaded.Subscribe(Connections_OnDataLoaded); ConnectionEdit.GetValue().OnSaveComplete += ConnectionsViewModel_OnSaveComplete; ObservableConnection.RegisterValidation(Connections.ValidationBinder); AllowAddNew = Knockout.DependentObservable<bool>(AllowAddNewComputed); }
public QuoteLineItemEditorViewModel() { Lines = new EntityDataViewModel(10, typeof(QuoteDetail), false); Lines.OnSelectedRowsChanged += OnSelectedRowsChanged; Lines.FetchXml = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' returntotalrecordcount='true' no-lock='true' distinct='false' count='{0}' paging-cookie='{1}' page='{2}'> <entity name='quotedetail'> <attribute name='productid' /> <attribute name='productdescription' /> <attribute name='priceperunit' /> <attribute name='quantity' /> <attribute name='extendedamount' /> <attribute name='quotedetailid' /> <attribute name='isproductoverridden' /> <attribute name='ispriceoverridden' /> <attribute name='manualdiscountamount' /> <attribute name='lineitemnumber' /> <attribute name='description' /> <attribute name='transactioncurrencyid' /> <attribute name='baseamount' /> <attribute name='requestdeliveryby' /> <attribute name='salesrepid' /> <attribute name='uomid' /> {3} <link-entity name='quote' from='quoteid' to='quoteid' alias='ac'> <filter type='and'> <condition attribute='quoteid' operator='eq' uiname='tes' uitype='quote' value='" + GetQuoteId() + @"' /> </filter> </link-entity> </entity> </fetch>"; Lines.SortBy(new SortCol("lineitemnumber", true)); Lines.NewItemFactory = NewLineFactory; QuoteDetailValidation.Register(Lines.ValidationBinder); SelectedQuoteDetail.SetValue(new ObservableQuoteDetail()); }