添加项目文件。
This commit is contained in:
303
OrpaonEMS.App/ViewModels/TimeConfigViewModel.cs
Normal file
303
OrpaonEMS.App/ViewModels/TimeConfigViewModel.cs
Normal file
@@ -0,0 +1,303 @@
|
||||
using OrpaonEMS.App.Dto;
|
||||
using OrpaonEMS.App.Models;
|
||||
using OrpaonEMS.Core;
|
||||
using OrpaonEMS.Core.Enums;
|
||||
using OrpaonEMS.Model;
|
||||
using OrpaonEMS.Model.Enums;
|
||||
using Prism.Commands;
|
||||
using Prism.Services.Dialogs;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
||||
namespace OrpaonEMS.App.ViewModels
|
||||
{
|
||||
public class TimeConfigViewModel : DialogViewModel
|
||||
{
|
||||
/// <summary>
|
||||
/// freeSql实例
|
||||
/// </summary>
|
||||
private IFreeSql freeSql { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 实例化函数
|
||||
/// </summary>
|
||||
public TimeConfigViewModel(IFreeSql freeSql)
|
||||
{
|
||||
CbxTime = new List<cbxItem>()
|
||||
{
|
||||
new cbxItem(){ Key="1",Text="尖峰电价"},
|
||||
new cbxItem(){ Key="2",Text="平段电价"},
|
||||
new cbxItem(){ Key="3",Text="峰段电价"},
|
||||
new cbxItem(){ Key="4",Text="谷段电价"}
|
||||
};
|
||||
|
||||
this.freeSql = freeSql;
|
||||
|
||||
}
|
||||
|
||||
|
||||
private string _SelectedElePvEnum;
|
||||
/// <summary>
|
||||
/// 选中的
|
||||
/// </summary>
|
||||
public string SelectedElePvEnum
|
||||
{
|
||||
get { return _SelectedElePvEnum; }
|
||||
set { _SelectedElePvEnum = value; RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
private DateTime _StartTime = DateTime.Now;
|
||||
/// <summary>
|
||||
/// 开始时间
|
||||
/// </summary>
|
||||
public DateTime StartTime
|
||||
{
|
||||
get { return _StartTime; }
|
||||
set { _StartTime = value; RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
private DateTime _EndTime = DateTime.Now;
|
||||
/// <summary>
|
||||
/// 结束时间
|
||||
/// </summary>
|
||||
public DateTime EndTime
|
||||
{
|
||||
get { return _EndTime; }
|
||||
set { _EndTime = value; RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
#region 公用命令
|
||||
|
||||
private DelegateCommand saveCmd;
|
||||
/// <summary>
|
||||
/// 保存命令
|
||||
/// </summary>
|
||||
public DelegateCommand SaveCmd
|
||||
{
|
||||
set
|
||||
{
|
||||
saveCmd = value;
|
||||
}
|
||||
get
|
||||
{
|
||||
if (saveCmd == null)
|
||||
{
|
||||
saveCmd = new DelegateCommand(() => SaveCmdMethod());
|
||||
}
|
||||
return saveCmd;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存命令方法
|
||||
/// </summary>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
private void SaveCmdMethod()
|
||||
{
|
||||
SelectedPeakValley.ElePV = GetElePVEnum(SelectedElePvEnum);
|
||||
SelectedPeakValley.StartTime = StartTime.ToString("HH:mm");
|
||||
SelectedPeakValley.EndTime = EndTime.ToString("HH:mm");
|
||||
DialogParameters pars = new DialogParameters
|
||||
{
|
||||
{ "Model", SelectedPeakValley }
|
||||
};
|
||||
|
||||
RaiseRequestClose(new DialogResult(ButtonResult.OK, pars));
|
||||
}
|
||||
|
||||
private DelegateCommand cancelCmd;
|
||||
/// <summary>
|
||||
/// 保存命令
|
||||
/// </summary>
|
||||
public DelegateCommand CancelCmd
|
||||
{
|
||||
set
|
||||
{
|
||||
cancelCmd = value;
|
||||
}
|
||||
get
|
||||
{
|
||||
if (cancelCmd == null)
|
||||
{
|
||||
cancelCmd = new DelegateCommand(() => CancelCmdMethod());
|
||||
}
|
||||
return cancelCmd;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取消命令方法
|
||||
/// </summary>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
private void CancelCmdMethod()
|
||||
{
|
||||
RaiseRequestClose(new DialogResult(ButtonResult.Cancel));
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
private PeakValleyDto DtoConvert(PeakValleyConfig peakValley)
|
||||
{
|
||||
PeakValleyDto peakValleyDto = new PeakValleyDto();
|
||||
|
||||
peakValleyDto.Index = peakValley.Index;
|
||||
peakValleyDto.Id = peakValley.Id;
|
||||
peakValleyDto.StartTime = peakValley.StartTime;
|
||||
peakValleyDto.EndTime = peakValley.EndTime;
|
||||
peakValleyDto.ElePV = peakValley.ElePV;
|
||||
peakValleyDto.Enable = peakValley.Enable;
|
||||
peakValleyDto.Price = peakValley.Price;
|
||||
|
||||
return peakValleyDto;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 插入或者更新数据
|
||||
/// </summary>
|
||||
private void InsertOrUpdate(PeakValleyDto data)
|
||||
{
|
||||
if (data.Id != null && data.Enable == true)
|
||||
{
|
||||
var datainfo = freeSql.Select<PeakValleyConfig>().Where(a => a.Id == data.Id);
|
||||
if (datainfo.Count() > 0)//存在就更新
|
||||
{
|
||||
freeSql.Update<PeakValleyConfig>()
|
||||
.Set(a => a.StartTime, data.StartTime)
|
||||
.Set(a => a.EndTime, data.EndTime)
|
||||
.Set(a => a.Price, data.Price)
|
||||
.Set(a => a.ElePV, data.ElePV)
|
||||
.Where(a => a.Id == data.Id)
|
||||
.ExecuteAffrows();
|
||||
}
|
||||
else//否则新增
|
||||
{
|
||||
freeSql.Insert<PeakValleyConfig>(new PeakValleyConfig()
|
||||
{
|
||||
ElePV = data.ElePV,
|
||||
StartTime = data.StartTime,
|
||||
Price = data.Price,
|
||||
EndTime = data.EndTime,
|
||||
Index = data.Index
|
||||
}).ExecuteInserted();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
private List<cbxItem> _CbxTime;
|
||||
/// <summary>
|
||||
/// 时间信息下拉框
|
||||
/// </summary>
|
||||
public List<cbxItem> CbxTime
|
||||
{
|
||||
get { return _CbxTime; }
|
||||
set { _CbxTime = value; RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
|
||||
private ElePVEnum GetElePVEnum(string data)
|
||||
{
|
||||
switch (data)
|
||||
{
|
||||
case "尖峰电价":
|
||||
return ElePVEnum.TopPeak;
|
||||
case "平段电价":
|
||||
return ElePVEnum.Flat;
|
||||
case "峰段电价":
|
||||
return ElePVEnum.Peak;
|
||||
case "谷段电价":
|
||||
return ElePVEnum.Valley;
|
||||
default:
|
||||
return ElePVEnum.Flat;
|
||||
}
|
||||
}
|
||||
|
||||
private string GetElePVStr(ElePVEnum elePVEnum)
|
||||
{
|
||||
switch (elePVEnum)
|
||||
{
|
||||
case ElePVEnum.TopPeak:
|
||||
return "尖峰电价";
|
||||
case ElePVEnum.Peak:
|
||||
return "峰段电价";
|
||||
case ElePVEnum.Valley:
|
||||
return "谷段电价";
|
||||
case ElePVEnum.Flat:
|
||||
return "平段电价";
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
#region 下拉框选择
|
||||
|
||||
//private string _SelectedTime1;
|
||||
///// <summary>
|
||||
///// 时间信息下拉框
|
||||
///// </summary>
|
||||
//public string SelectedTime1
|
||||
//{
|
||||
// get { return _SelectedTime1; }
|
||||
// set
|
||||
// {
|
||||
// _SelectedTime1 = value;
|
||||
// if (_SelectedTime1 != "停用")
|
||||
// {
|
||||
// PeakValleyDto1.Enable = true;
|
||||
// PeakValleyDto1.ElePV = GetElePVEnum(_SelectedTime1);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// PeakValleyDto1.Enable = false;
|
||||
// }
|
||||
// RaisePropertyChanged();
|
||||
// }
|
||||
//}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
private PeakValleyConfig _SelectedPeakValley=new PeakValleyConfig();
|
||||
/// <summary>
|
||||
/// 选中的模型
|
||||
/// </summary>
|
||||
public PeakValleyConfig SelectedPeakValley
|
||||
{
|
||||
get { return _SelectedPeakValley; }
|
||||
set { _SelectedPeakValley = value; RaisePropertyChanged(); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 窗口打开时的传递的参数
|
||||
/// </summary>
|
||||
/// <param name="parameters"></param>
|
||||
public override void OnDialogOpened(IDialogParameters parameters)
|
||||
{
|
||||
var data = parameters.GetValue<PeakValleyConfig>("Model");
|
||||
if (data != null)//修改
|
||||
{
|
||||
SelectedPeakValley = data;
|
||||
StartTime = DateTime.Parse(SelectedPeakValley.StartTime);
|
||||
EndTime = DateTime.Parse(SelectedPeakValley.EndTime);
|
||||
SelectedElePvEnum = GetElePVStr(SelectedPeakValley.ElePV);
|
||||
}
|
||||
else//新增
|
||||
{
|
||||
SelectedPeakValley.Enable=true;
|
||||
}
|
||||
|
||||
//SelectedElePvEnum = GetElePVStr(SelectedPeakValley.ElePV);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user