步步为盈
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

240 lines
7.9 KiB

using BBWY.Client.APIServices;
using BBWY.Client.Models.APIModel.Request;
using BBWY.Client.Models.APIModel.Response.PackTask;
using BBWY.Client.ViewModels;
using BBWY.Client.Views.PackTask;
using BBWY.Common.Models;
using GalaSoft.MvvmLight.Command;
using HandyControl.Controls;
using NPOI.Util;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Resources;
using System.Text;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media.TextFormatting;
namespace BBWY.Client.Models.PackTask
{
public class ConsumableModel : BaseVM, IDenpendency
{
public ObservableCollection<GetConsumableTypeResponse> consumableTypeList = new ObservableCollection<GetConsumableTypeResponse>()
{
};
public ObservableCollection<GetConsumableTypeResponse> ConsumableTypeList { get => consumableTypeList; set { Set(ref consumableTypeList, value); } }
private string consumableTypeName;
public string ConsumableTypeName
{ get => consumableTypeName; set { Set(ref consumableTypeName, value); } }
private string addConsumableTypeName;
public string AddConsumableTypeName
{ get => addConsumableTypeName; set { Set(ref addConsumableTypeName, value); } }
public ConsumableService consumableService;
public ICommand EditConsumableCommand { get; set; }
public ICommand DeletedConsumableCommand { get; set; }
public ICommand SaveConsumableCommand { get; set; }
public ICommand AddConsumableTypeCommand { get; set; }
public ICommand DeletedConsumableTypeCommand { get; set; }
public Action ReflashDatas { get; set; }
public ConsumableModel(ConsumableService consumableService)
{
this.consumableService = consumableService;
EditConsumableCommand = new RelayCommand(EditConsumable);
DeletedConsumableCommand = new RelayCommand<ObservableCollection<ConsumableModel>>(DeletedConsumable);
SaveConsumableCommand = new RelayCommand<object>(SaveConsumable);
if (consumableService != null)
{
GetConsumableTypeList();
}
AddConsumableTypeCommand = new RelayCommand(AddConsumableType);
DeletedConsumableTypeCommand = new RelayCommand(DeletedConsumableType);
}
private void DeletedConsumableType()
{
MessageBoxResult result = System.Windows.MessageBox.Show($"是否移除耗材类别:{ConsumableTypeName}?", "提示",
MessageBoxButton.YesNo,
MessageBoxImage.Warning);
if (result != MessageBoxResult.Yes) return;
var res = consumableService.DeletedConsumableType(ConsumableTypeId.Value);
if (!res.Success)
{
System.Windows.MessageBox.Show(res.Msg);
return;
}
if (res.Success)
{
GetConsumableTypeList();
}
}
private void AddConsumableType()
{
var res = consumableService.AddConsumableType(AddConsumableTypeName);
if (!res.Success)
{
System.Windows.MessageBox.Show(res.Msg);
return;
}
if (res.Success)
{
GetConsumableTypeList();
}
}
private long? consumableTypeId;
public long? ConsumableTypeId
{ get => consumableTypeId; set { Set(ref consumableTypeId, value); } }
public void SaveConsumable(object obj)
{
if (string.IsNullOrEmpty(Name))
{
new TipsWindow("耗材品名不能为空!").Show();
return;
}
if (this.Price == null)
{
new TipsWindow("价格不能为空!").Show();
return;
}
ApiResponse<object> res = null;
if (Id > 0)//修改
{
res = consumableService.Edit(new ConsuableRequest
{
Id = Id,
Heigth = Heigth,
Length = Length,
Name = Name,
Price = Price.Value,
Remark = Remark,
Weigth = Weigth,
Width = Width,
ConsumableTypeId = ConsumableTypeId,
});
}
else
{
res = consumableService.Add(new ConsuableRequest
{
Heigth = Heigth,
Length = Length,
Name = Name,
Price = Price.Value,
Remark = Remark,
Weigth = Weigth,
Width = Width,
ConsumableTypeId = ConsumableTypeId,
});
}
if (res != null && res.Success)
{
var win = obj as System.Windows.Window;
ViewModelLocator viewModel = new ViewModelLocator();
var con = viewModel.Consumable;
con.SearchConsumable();
//if (ReflashDatas != null) ReflashDatas();
win.Close();
}
else
{
if (res != null)
new TipsWindow(res.Msg).Show();
}
}
public void DeletedConsumable(ObservableCollection<ConsumableModel> list)
{
MessageBoxResult result = System.Windows.MessageBox.Show("是否删除?", "提示",
MessageBoxButton.YesNo,
MessageBoxImage.Warning);
if (result != MessageBoxResult.Yes) return;
var res = consumableService.Deleted(Id);
if (res.Success)
{
ViewModelLocator viewModel = new ViewModelLocator();
var con = viewModel.Consumable;
con.SearchConsumable();
list.Remove(this);
}
}
void GetConsumableTypeList()
{
var res = consumableService.GetConsumableTypeList();
if (res.Success && res.Data != null)
{
ConsumableTypeList = res.Data;
}
}
public void EditConsumable()
{
//GetConsumableTypeList();
EditConsumable add = new EditConsumable(new ConsumableModel(consumableService)
{
Heigth = this.Heigth,
Length = this.Length,
Id = this.Id,
Name = this.Name,
Weigth = this.Weigth,
Remark = this.Remark,
Width = this.Width,
Price = this.Price,
ConsumableTypeList = this.ConsumableTypeList,
ConsumableTypeName = this.ConsumableTypeName,
ConsumableTypeId = this.ConsumableTypeId,
});
add.ShowDialog();
}
private long id;
public long Id { get => id; set { Set(ref id, value); } }
private string name;
public string Name { get => name; set { Set(ref name, value); } }
private decimal? price;
public decimal? Price { get => price; set { Set(ref price, value); } }
private double? weigth;
public double? Weigth { get => weigth; set { Set(ref weigth, value); } }
private double? length;
public double? Length { get => length; set { Set(ref length, value); } }
private double? width;
public double? Width { get => width; set { Set(ref width, value); } }
private double? heigth;
public double? Heigth { get => heigth; set { Set(ref heigth, value); } }
private string remark;
public string Remark { get => remark; set { Set(ref remark, value); } }
}
}