MVVM的打折操作:

打折(整单):添加左表项目清单信息,得出右下方累计消费金额,然后根据输入的折扣信息进行打折,并修改累计金额。
单项打折:我这里是在添加项目清单的时候询问用户是否需要对添加的项目清单信息进行打折,点击确认之后获取折扣信息并进行打折。
代码如下:
//打折
public voidDz()
{if(DisCount!=null)
ljxf = ljxf * DisCount;
MessageBox.Show("打折成功!","系统提示",MessageBoxButton.OK,MessageBoxImage.Information);
DisCount = 0;//恢复默认值
}
//单项打折
public voidDxdz(){
ljxf = 0;//初始化立即消费值,方便下面+=
S_MenuroomT = SelectTeaEntityas S_Menu;//左表选中值
decimal? up = roomT.price;//获取选中值中的售价信息
MenuID =Convert.ToInt32(roomT.menuID); //获取选中值主键ID
if(DisCount!=0)//判断折扣信息不为空
{List<CyVos> dg = (fromtbMenuinmyModels.S_Menu
wheretbMenu.menuID == MenuID//&& tbGRoom.guest_id ==GuestID
select new CyVos
{ tableNumber = CurrentRoomTableEntity.tableNumber,
unit = tbMenu.unit,
dishes = tbMenu.dishes,
unitPrice = up,
quality = Quality,
disCount = DisCount,
sum = Quality * up * DisCount,
orderTime =DateTime.Now
}).ToList();
for(inti = 0; i < dgXfList.Count; i++)
{//判断数据是否重复(重复不做操作)
CyVosroom = dgXfList[i]as CyVos;
int? r = room.menuID;
if(r == MenuID)
{ A =false;//重复
room.quality = Quality + 1;
room.sum = room.unitPrice * room.quality * room.disCount;
dgXfList =null; dgXfList = Rooms;
}ljxf += dgXfList[i].sum;//累加累计消费金额
}
//数据追加
if(A ==true)
{//菜单不重复(添加)
for(inti = 0; i < dg.Count; i++)
{ Rooms.Add(dg[i]); ljxf += dg[i].sum; }
dgXfList = Rooms;
} A =true; Quality = 1; DisCount = 0;
MessageBox.Show("添加并打折成功!","系统提示",MessageBoxButton.OKCancel,MessageBoxImage.Information);
}
else MessageBox.Show("请填写折扣信息!","系统提示",MessageBoxButton.OKCancel,MessageBoxImage.Information);
}
