using ConsoleApp;
using GalaSoft.MvvmLight.Command;
using Microsoft.Extensions.DependencyInjection;
using SlnMesnac.Model.domain;
using SlnMesnac.Repository.service;
using SlnMesnac.WPF.Views;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
using SlnMesnac.Business.business;
namespace SlnMesnac.WPF.ViewModel
{
public class RemoveConfirmViewModel : INotifyPropertyChanged
{
private IBaseStaffService _baseStaffService;
private IRecordStaffAttendanceService _recordStaffAttendanceService;
public static int times = 0;
///
/// 按钮文字转换事件
///
public event PropertyChangedEventHandler PropertyChanged = delegate { };
public void OnPropertyChanged([CallerMemberName] string propertyName = "")
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
#region 定义属性
///
/// 提示信息
///
private string hintText;
public string HintText
{
get { return hintText; }
set { hintText = value; OnPropertyChanged("HintText"); }
}
#endregion
public RemoveConfirmViewModel()
{
HintText = "";
times = 0;
_baseStaffService = App.ServiceProvider.GetService();
_recordStaffAttendanceService = App.ServiceProvider.GetService();
Init();
ConfirmCommand = new RelayCommand(Confirm);
}
///
/// 初始化
///
private void Init()
{
//hidUtils.Initial();
EmployeeLoginViewModel.hidUtils.StartScan();
EmployeeLoginViewModel._transmitToRemoveConfigAction += (str) =>
{
if (MainWindowViewModel.wins == 2)
{
str = str.ToString().Replace(" ", "");
BaseStaffInfo user = _baseStaffService.GetStaffInfoByCardId(str);
if (times < 1)
{
if (user != null)
{
string staffType = user.StaffType;
if (staffType == "1")//判断是否为班长,判断后续是否为当前班组的班长
{
HintText = "成功!";
times++;
RfidHandleBusniess.staffId = user.StaffId;
}
else
{
HintText = "非班组长,无效!";
}
}
else
{
HintText = "没有匹配的员工,打卡失败!";
}
}
else
{
HintText = "已成功,请勿重打!";
times = 1;
}
}
};
}
///
/// 确认
///
public ICommand ConfirmCommand { get; private set; }
private void Confirm()
{
//在工单明细插入一条,记录两个班长
EmployeeLoginViewModel.hidUtils.StopScan();
//关闭窗口
Application.Current.Windows.OfType().First().Close();
MainWindowViewModel.wins = 1;
}
}
}