You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AUCMA_SCADA/Aucma.Core.BoxFoam/ViewModels/FoamPlanPageViewModel.cs

118 lines
3.5 KiB
C#

1 year ago
using Admin.Core.IService;
using Admin.Core.Service;
using Aucma.Core.BoxFoam.Views;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Messaging;
using Microsoft.Extensions.DependencyInjection;
1 year ago
using System;
using System.Collections.Generic;
1 year ago
using System.Collections.ObjectModel;
1 year ago
using System.Linq;
using System.Text;
using System.Threading.Tasks;
1 year ago
using System.Windows;
1 year ago
namespace Aucma.Core.BoxFoam.ViewModels
{
/**
*
*
* */
public partial class FoamPlanPageViewModel : ObservableObject
{
1 year ago
protected readonly IBoxFoamPlanServices? _boxFoamPlanServices;
1 year ago
public FoamPlanPageViewModel()
{
1 year ago
_boxFoamPlanServices = App.ServiceProvider.GetService<IBoxFoamPlanServices>();
WeakReferenceMessenger.Default.Register<string>(this, Recive);
InitData();
}
public async void InitData()
{
var task =await _boxFoamPlanServices.QueryAsync();
if (task == null) return;
1 year ago
task.OrderBy(d=>d.ObjId);
foreach (var item in task)
{
Id.Add(item.ObjId);
MaterialCode.Add(item.MaterialCode);
MaterialName.Add(item.MaterialName);
PlanAmount.Add(item.PlanAmount);
}
}
#region MyRegion
private ObservableCollection<int> _id = new ObservableCollection<int>();
public ObservableCollection<int> Id
{
get => _id;
set => SetProperty(ref _id, value);
}
private ObservableCollection<string> _materialCode = new ObservableCollection<string>();
public ObservableCollection<string> MaterialCode
{
get => _materialCode;
set => SetProperty(ref _materialCode, value);
}
private ObservableCollection<string> _materialName = new ObservableCollection<string>();
public ObservableCollection<string> MaterialName
{
get => _materialName;
set => SetProperty(ref _materialName, value);
}
private ObservableCollection<int> _planAmount = new ObservableCollection<int>();
public ObservableCollection<int> PlanAmount
{
get => _planAmount;
set => SetProperty(ref _planAmount, value);
}
#endregion
[RelayCommand]
public void AddPlan(string objId)
{
SplitPlanView plan = new SplitPlanView(objId);
plan.Show();
}
[RelayCommand]
public async void ClearPlan(string objId)
{
int id=int.Parse(objId);
var obj=await _boxFoamPlanServices.FirstAsync(d=>d.ObjId== id);
obj.MaterialCode = "";
obj.MaterialName = "";
obj.PlanAmount = 0;
var result= await _boxFoamPlanServices.UpdateAsync(obj);
if (result)
{
ClearData();
MessageBox.Show("清除计划成功!", "系统提醒");
}
else
{
MessageBox.Show("清除计划失败!", "系统提醒");
}
}
private void Recive(object recipient, string message)
{
if (message == "RefreshTask")
{
ClearData();
}
}
public void ClearData()
{
Id.Clear();
MaterialCode.Clear();
MaterialName.Clear();
PlanAmount.Clear();
InitData();
1 year ago
}
}
}