using DevExpress.DataProcessing.InMemoryDataProcessor;
|
using DevExpress.Utils.Extensions;
|
using System.Windows.Media.Animation;
|
using Yw;
|
using Yw.WinFrmUI;
|
|
namespace PBS.WinFrmUI
|
{
|
public partial class AddPlaceDlg : DevExpress.XtraEditors.XtraForm
|
{
|
public AddPlaceDlg()
|
{
|
InitializeComponent();
|
this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
|
this.generalOkAndCancelCtrl1.OkEvent += GeneralOkAndCancelCtrl1_OkEvent; ;
|
}
|
|
private Vmo.PlaceVmo _placeVmo;
|
|
private ePlaceType _sign;
|
|
private BuildWizardForm _buildWizard;
|
private HospitalWizardForm _hospitalWizard;
|
private SchoolWizardForm _schoolWizard;
|
private ShopWizardForm _shopWizard;
|
|
private Yw.Vmo.MapInfoVmo _mapInfo;
|
|
public event Func<Vmo.PlaceVmo, Yw.Vmo.MapInfoVmo, Task<bool>> ReloadDataEvent;
|
|
public async void SetBindingData(ePlaceType placeType)
|
{
|
_mapInfo = new Yw.Vmo.MapInfoVmo();
|
_placeVmo = new Vmo.PlaceVmo();
|
_placeVmo.PlaceType = placeType;
|
_sign = placeType;
|
switch (placeType)
|
{
|
case ePlaceType.Build:
|
_buildWizard = new BuildWizardForm();
|
_buildWizard.Dock = DockStyle.Fill;
|
this.panelControl1.Controls.Add(_buildWizard);
|
break;
|
|
case ePlaceType.Hospital:
|
_hospitalWizard = new HospitalWizardForm();
|
_hospitalWizard.Dock = DockStyle.Fill;
|
this.panelControl1.Controls.Add(_hospitalWizard);
|
break;
|
|
case ePlaceType.Shop:
|
_shopWizard = new ShopWizardForm();
|
_shopWizard.Dock = DockStyle.Fill;
|
this.panelControl1.Controls.Add(_shopWizard);
|
break;
|
|
case ePlaceType.School:
|
_schoolWizard = new SchoolWizardForm();
|
_schoolWizard.Dock = DockStyle.Fill;
|
this.panelControl1.Controls.Add(_schoolWizard);
|
break;
|
}
|
var list = await new Yw.BLL.Division().GetAll();
|
this.treeListLookUpEdit1TreeList.DataSource = list;
|
var map = new Yw.WinFrmUI.MapSetSimpleMarkerContainer();
|
map.Dock = DockStyle.Fill;
|
map.SetMarkerEvent += Map_SetMarkerEvent;
|
await map.InitialContainer();
|
this.sidePanel1.AddControl(map);
|
var allFlagsList = await BLLFactory<Yw.BLL.SysFlag>.Instance.GetBySysType(DataType.PBSPlace);
|
this.setFlagsEditCtrl1.SetBindingData(allFlagsList?.Select(x => x.Name).Distinct().ToList(), null);
|
}
|
|
//更改点后
|
private void Map_SetMarkerEvent(Yw.Model.Map.Marker obj)
|
{
|
_mapInfo.Position = obj.ToJson();
|
}
|
|
private bool Valid()
|
{
|
bool isExist = true;
|
this.dxErrorProvider1.ClearErrors();
|
if (string.IsNullOrEmpty(this.txtEditName.Text.Trim()))
|
{
|
this.dxErrorProvider1.SetError(this.txtEditName, "必填项");
|
isExist = false;
|
}
|
return isExist;
|
}
|
|
/// <summary>
|
/// 确定
|
/// </summary>
|
private async void GeneralOkAndCancelCtrl1_OkEvent()
|
{
|
if (!Valid())
|
return;
|
switch (_sign)
|
{
|
case ePlaceType.Build:
|
_placeVmo.PlaceInfo = Yw.JsonHelper.Object2Json(_buildWizard.GetData());
|
break;
|
|
case ePlaceType.Shop:
|
_placeVmo.PlaceInfo = Yw.JsonHelper.Object2Json(_shopWizard.GetData());
|
break;
|
|
case ePlaceType.Hospital:
|
_placeVmo.PlaceInfo = Yw.JsonHelper.Object2Json(_hospitalWizard.GetData());
|
break;
|
|
case ePlaceType.School:
|
_placeVmo.PlaceInfo = Yw.JsonHelper.Object2Json(_schoolWizard.GetData());
|
break;
|
}
|
_placeVmo.Name = txtEditName.Text.Trim();
|
_placeVmo.Address = textEditAddress.Text.Trim();
|
_placeVmo.UseStatus = Yw.Vmo.eUseStatus.Enable;
|
_placeVmo.Description = memoEditDescription.Text.Trim();
|
_placeVmo.Flags = this.setFlagsEditCtrl1.SelectedFlagList;
|
_placeVmo.TagName = this.txtTagName.Text.Trim();
|
_mapInfo.ObjectType = PBS.DataType.PBSPlace;
|
_mapInfo.ObjectName = _placeVmo.Name;
|
_mapInfo.Purpose = Yw.Map.Purpose.Location;
|
_mapInfo.Kind = Yw.Map.Kind.Gaodei;
|
_mapInfo.Shape = Yw.Map.Shape.Marker;
|
if (this.txtEditRegion.EditValue != null)
|
{
|
_placeVmo.RegionID = Convert.ToInt64(this.txtEditRegion.EditValue);
|
}
|
if (await ReloadDataEvent.Invoke(_placeVmo, _mapInfo))
|
{
|
TipFormHelper.ShowSucceed("新增成功!");
|
}
|
else
|
{
|
TipFormHelper.ShowError("新增失败!");
|
}
|
this.Close();
|
}
|
}
|
}
|