namespace HStation.WinFrmUI
|
{
|
public partial class SetXhsProjectMapLocationWizardPage : DevExpress.XtraEditors.XtraUserControl, Yw.WinFrmUI.IWizardPage<ImportXhsProjectViewModel>
|
{
|
public SetXhsProjectMapLocationWizardPage()
|
{
|
InitializeComponent();
|
this.layoutControl1.SetupLayoutControl();
|
}
|
|
private ImportXhsProjectViewModel _vm = null;
|
|
/// <summary>
|
/// 初始化
|
/// </summary>
|
public async void InitialPage(ImportXhsProjectViewModel t)
|
{
|
/* if (_isInitialize)
|
{
|
return;
|
}*/
|
_vm = t;
|
//_isInitialize = true;
|
this.mapSetSimpleMarkerContainer1.LoadCompletedEvent += MapSetSimpleMarkerContainer1_LoadCompletedEvent;
|
this.mapSetSimpleMarkerContainer1.SetMarkerEvent += MapSetSimpleMarkerContainer1_SetMarkerEvent;
|
await this.mapSetSimpleMarkerContainer1.InitialContainer();
|
if (!InputXhsProjectInfoWizardPage.AllowImport)
|
{
|
AllowNext = false;
|
AllowComplete = true;
|
}
|
else
|
{
|
AllowNext = true;
|
AllowComplete = false;
|
}
|
PageStateChangedEvent.Invoke();
|
}
|
|
/// <summary>
|
/// 是否初始化
|
/// </summary>
|
public bool IsInitialize
|
{
|
get { return _isInitialize; }
|
}
|
|
private bool _isInitialize = false;
|
|
public event Action PageStateChangedEvent;
|
|
/// <summary>
|
/// 是否允许上一步
|
/// </summary>
|
public bool AllowPrev
|
{
|
get { return true; }
|
}
|
|
/// <summary>
|
/// 是否允许下一步
|
/// </summary>
|
public bool AllowNext
|
{
|
get;
|
set;
|
}
|
|
/// <summary>
|
/// 是否允许取消
|
/// </summary>
|
public bool AllowCancel
|
{
|
get { return true; }
|
}
|
|
/// <summary>
|
/// 是否允许完成
|
/// </summary>
|
public bool AllowComplete
|
{
|
get;
|
set;
|
}
|
|
/// <summary>
|
/// 能否上一步
|
/// </summary>
|
public bool CanPrev()
|
{
|
return true;
|
}
|
|
/// <summary>
|
/// 能否下一步
|
/// </summary>
|
public bool CanNext()
|
{
|
return true;
|
}
|
|
/// <summary>
|
/// 能否取消
|
/// </summary>
|
public bool CanCancel()
|
{
|
return true;
|
}
|
|
/// <summary>
|
/// 能否完成
|
/// </summary>
|
public bool CanComplete()
|
{
|
Task.Run(() => InsertProject());
|
return true;
|
}
|
|
private async void InsertProject()
|
{
|
var bllXhsProjectExtensions = new BLL.XhsProjectExtensions();
|
var project = new Vmo.Xhs.XhsProjectExtensions();
|
project.NO = _vm.NO;
|
project.Name = _vm.Name;
|
project.Address = _vm.Address;
|
project.Customer = _vm.Customer;
|
project.Flags = _vm.Flags;
|
project.TagName = _vm.TagName;
|
project.Description = _vm.Description;
|
project.SiteList = new List<Vmo.Xhs.XhsProjectSite>() {
|
new Vmo.Xhs.XhsProjectSite(){
|
Name=_vm.Name,
|
Description=_vm.Description
|
}
|
};
|
var projectId = await bllXhsProjectExtensions.Insert(project);
|
if (projectId > 1)
|
{
|
if (_vm.Location != null)
|
{
|
var mapInfo = new Yw.Vmo.Map.MapInfo();
|
mapInfo.ObjectType = HStation.Xhs.DataType.XhsProject;
|
mapInfo.ObjectID = projectId;
|
mapInfo.ObjectName = project.Name;
|
mapInfo.Purpose = Yw.Map.Purpose.Location;
|
mapInfo.Kind = Yw.Map.Kind.Gaodei;
|
mapInfo.Shape = Yw.Map.Shape.Marker;
|
mapInfo.Position = _vm.Location.ToJson();
|
var mapInfoId = await new Yw.BLL.MapInfo().Insert(mapInfo);
|
if (mapInfoId < 1)
|
{
|
if (this.InvokeRequired)
|
{
|
this.Invoke(new Action(() =>
|
{
|
// 更新UI控件
|
MessageBoxHelper.ShowError("导入错误!");
|
}));
|
}
|
else
|
{
|
// 直接更新UI控件
|
MessageBoxHelper.ShowError("导入错误!");
|
}
|
}
|
else
|
{
|
if (this.InvokeRequired)
|
{
|
this.Invoke(new Action(() =>
|
{
|
// 更新UI控件
|
MessageBoxHelper.ShowError("导入错误!");
|
}));
|
}
|
else
|
{
|
// 直接更新UI控件
|
MessageBoxHelper.ShowError("导入错误!");
|
}
|
}
|
}
|
}
|
}
|
|
//地图加载完成
|
private async void MapSetSimpleMarkerContainer1_LoadCompletedEvent()
|
{
|
if (_vm == null)
|
{
|
return;
|
}
|
if (_vm.Location != null)
|
{
|
await this.mapSetSimpleMarkerContainer1.LoadMarker(_vm.Location);
|
}
|
}
|
|
//设置位置
|
private void MapSetSimpleMarkerContainer1_SetMarkerEvent(Yw.Model.Map.Marker obj)
|
{
|
if (_vm != null)
|
{
|
_vm.Location = obj;
|
}
|
this.txtAddress.EditValue = obj.Address;
|
}
|
}
|
}
|