using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Bowin.Common.Linq.Entity;
using EMIS.Entities;
using EMIS.ViewModel;
using EMIS.ViewModel.TeachingMaterial;
namespace EMIS.CommonLogic.TeachingMaterial
{
public interface IStockOutServices
{
///
/// 出库列表信息
///
IGridResultSet GetStockOutViewGrid(ViewModel.ConfiguretView configuretView, Guid? schoolyearID, IList stockOutTypeList,
Guid? supplierID, DateTime? stockOutTimeStart, DateTime? stockOutTimeEnd, int pageIndex, int pageSize);
///
/// 出库列表Excel导出
///
IList GetStockOutViewList(ViewModel.ConfiguretView configuretView, Guid? schoolyearID, IList stockOutTypeList,
Guid? supplierID, DateTime? stockOutTimeStart, DateTime? stockOutTimeEnd);
//删除出库信息
void Delete(List stockOutIDs);
StockOutView GetSingleStockOut(Guid stockOutID);
bool IsExistStockOutNo(string stockOutNo);
//保存出库信息
void Save(StockOutView stockOutView, IList tmList, Guid? userId, string type);
IList GetStockOutByTMViewList(Guid stockOutID);
//提交出库信息
void Submit(List stockOutIDs, Guid userId);
bool CheckInventoryQty(int qty, Guid teachingMaterialPoolID);
/**********************出库明细区域****************************/
///
/// 入库明细列表信息
///
IGridResultSet GetStockOutDetailViewGrid(Guid? stockOutId, int pageIndex, int pageSize);
///
/// 入库明细列表Excel导出
///
IList GetStockOutDetailViewList(Guid? stockOutId);
IGridResultSet GetStockInByTeachingMaterialPoolViewGrid(ConfiguretView configuretView, bool? isLate, Guid? teachingMaterialPoolID, Guid? coursematerialID, bool isSelectMax, int pageIndex, int pageSize);
ET_StockOut GetStockOut(Guid? stockOutID);
ET_StockOutDetail GetStockOutDetail(Guid? stockOutDetailID);
List GetTeachingMateriaInventory(Guid? teachingMaterialPoolID, decimal? price);
IGridResultSet GetTeachingMaterialViewForRefundGrid(ViewModel.ConfiguretView configuretView, bool? isLate, Guid? teachingMaterialPoolID, Guid? coursematerialID, bool isSelectMax, int pageIndex, int pageSize);
string GetStockOutNo(CF_StockOutType stockOutType);
}
}