mirror of
https://github.com/DevExpress/netcore-winforms-demos.git
synced 2026-01-08 01:34:01 +00:00
Add Outlook Inspired and Stock Market demos
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
namespace DevExpress.DevAV.ViewModels {
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using DevExpress.DevAV;
|
||||
using DevExpress.Mvvm.DataAnnotations;
|
||||
using DevExpress.Mvvm.POCO;
|
||||
using DevExpress.XtraMap;
|
||||
|
||||
public class EmployeeMapViewModel : EmployeeViewModel, IRouteMapViewModel {
|
||||
public virtual BingTravelMode TravelMode { get; set; }
|
||||
[Command]
|
||||
public void SetDrivingTravelMode() {
|
||||
TravelMode = BingTravelMode.Driving;
|
||||
}
|
||||
public bool CanSetDrivingTravelMode() {
|
||||
return TravelMode != BingTravelMode.Driving;
|
||||
}
|
||||
[Command]
|
||||
public void SetWalkingTravelMode() {
|
||||
TravelMode = BingTravelMode.Walking;
|
||||
}
|
||||
public bool CanSetWalkingTravelMode() {
|
||||
return TravelMode != BingTravelMode.Walking;
|
||||
}
|
||||
protected virtual void OnTravelModeChanged() {
|
||||
this.RaiseCanExecuteChanged(x => x.SetDrivingTravelMode());
|
||||
this.RaiseCanExecuteChanged(x => x.SetWalkingTravelMode());
|
||||
RaiseTravelModeChanged();
|
||||
}
|
||||
public event EventHandler TravelModeChanged;
|
||||
void RaiseTravelModeChanged() {
|
||||
EventHandler handler = TravelModeChanged;
|
||||
if(handler != null)
|
||||
handler(this, EventArgs.Empty);
|
||||
}
|
||||
[Command]
|
||||
public void SwapRoutePoints() {
|
||||
Address a = PointA;
|
||||
PointA = PointB;
|
||||
PointB = a;
|
||||
RaiseUpdateRoute();
|
||||
}
|
||||
public string FullName {
|
||||
get { return (Entity != null) ? Entity.FullNameBindable : null; }
|
||||
}
|
||||
public string AddressLine1 {
|
||||
get { return (Entity != null) ? Entity.Address.Line : null; }
|
||||
}
|
||||
public string AddressLine2 {
|
||||
get { return (Entity != null) ? Entity.Address.CityLine : null; }
|
||||
}
|
||||
public Image Picture {
|
||||
get { return (Entity != null) ? Entity.Photo : null; }
|
||||
}
|
||||
public string PointAAddress {
|
||||
get { return (PointA != null) ? PointA.ToString() : null; }
|
||||
}
|
||||
public string PointBAddress {
|
||||
get { return (PointB != null) ? PointB.ToString() : null; }
|
||||
}
|
||||
public virtual string RouteResult {
|
||||
get {
|
||||
return string.Format("{0:F1} mi, {1:hh\\:mm} min ", RouteDistance, RouteTime) +
|
||||
((TravelMode == BingTravelMode.Walking) ? "walking" : "driving");
|
||||
}
|
||||
}
|
||||
public virtual double RouteDistance { get; set; }
|
||||
protected virtual void OnRouteDistanceChanged() {
|
||||
this.RaisePropertyChanged(x => x.RouteResult);
|
||||
}
|
||||
public virtual TimeSpan RouteTime { get; set; }
|
||||
protected virtual void OnRouteTimeChanged() {
|
||||
this.RaisePropertyChanged(x => x.RouteResult);
|
||||
}
|
||||
protected override void OnEntityChanged() {
|
||||
PointA = AddressHelper.DevAVHomeOffice;
|
||||
PointB = (Entity != null) ? Entity.Address : AddressHelper.DevAVHomeOffice;
|
||||
this.RaisePropertyChanged(x => x.FullName);
|
||||
this.RaisePropertyChanged(x => x.Title);
|
||||
this.RaisePropertyChanged(x => x.PointA);
|
||||
this.RaisePropertyChanged(x => x.PointB);
|
||||
this.RaisePropertyChanged(x => x.AddressLine1);
|
||||
this.RaisePropertyChanged(x => x.AddressLine2);
|
||||
base.OnEntityChanged();
|
||||
}
|
||||
public virtual Address PointA { get; set; }
|
||||
protected virtual void OnPointAChanged() {
|
||||
this.RaisePropertyChanged(x => x.PointAAddress);
|
||||
RaisePointAChanged();
|
||||
}
|
||||
public virtual Address PointB { get; set; }
|
||||
protected virtual void OnPointBChanged() {
|
||||
this.RaisePropertyChanged(x => x.PointBAddress);
|
||||
RaisePointBChanged();
|
||||
}
|
||||
public event EventHandler PointAChanged;
|
||||
void RaisePointAChanged() {
|
||||
EventHandler handler = PointAChanged;
|
||||
if(handler != null)
|
||||
handler(this, EventArgs.Empty);
|
||||
}
|
||||
public event EventHandler PointBChanged;
|
||||
void RaisePointBChanged() {
|
||||
EventHandler handler = PointBChanged;
|
||||
if(handler != null)
|
||||
handler(this, EventArgs.Empty);
|
||||
}
|
||||
public event EventHandler UpdateRoute;
|
||||
void RaiseUpdateRoute() {
|
||||
EventHandler handler = UpdateRoute;
|
||||
if(handler != null)
|
||||
handler(this, EventArgs.Empty);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user