public class fiveController : Controller
{
// GET: BaselnfoManage/five
Models.LibrarySystemEntities myModel = new Models.LibrarySystemEntities();
public ActionResult Index()
{
return View();
}
#region 查询
public ActionResult seletRecord(LayuiTablePage LayuiTablePage, string searchText)
{
//查询书籍归还信息
List<ORecordVo> listRecord = (from tbRecord in myModel.B_Record
join tbBookState in myModel.S_BookState on tbRecord.bookStateId equals tbBookState.bookStateId
join tbbook in myModel.S_book on tbRecord.bookId equals tbbook.bookId
join tbUser in myModel.S_User on tbRecord.userId equals tbUser.userId
where tbRecord.returnNo == false//可以进行过滤,筛选,有false,才可以查询到
select new ORecordVo
{
recordId=tbRecord.recordId,
borrowDates = tbRecord.borrowDate.ToString(),
daoqiDates = tbRecord.expireDate.ToString(),
returnDate=tbRecord.returnDate,
returnNo=tbRecord.returnNo,
useName = tbUser.userName,
bookStateId=tbBookState.bookStateId,
bookState=tbBookState.bookState,
price =tbbook.price,
userId =tbUser.userId,
account =tbUser.account,
bookId=tbbook.bookId,
bookName=tbbook.bookName,
author=tbbook.author,
ISBN=tbbook.ISBN,
}).ToList();
if (!string.IsNullOrEmpty(searchText))
{ //当string类型语句,不为空时,去除空格。
searchText = searchText.Trim();
//进行条件搜索功能
listRecord = listRecord.Where(m => m.bookName.Contains(searchText)
|| m.author.Contains(searchText)
|| m.ISBN.Contains(searchText)
|| m.useName.Contains(searchText)
|| m.bookState.Contains(searchText)
|| m.price.Contains(searchText)
|| m.account.Contains(searchText)
|| m.bookName.Contains(searchText)
).ToList();
}
//总条数
int Dayalethe = listRecord.Count();
//进行分页
listRecord = listRecord.OrderBy(m => m.recordId)
.Skip(LayuiTablePage.GetStartIndex())
.Take(LayuiTablePage.limit).ToList();
LayuiTableData<ORecordVo> listaData = new LayuiTableData<ORecordVo>
{
count = Dayalethe,
data = listRecord
};
return Json(listaData, JsonRequestBehavior.AllowGet);
}
#endregion
#region
/// <summary>
/// 下拉查询
/// </summary>
/// <returns></returns>
public ActionResult roleiddsgdf()
{
var roleid = from tbrole in myModel.S_PayReason
select new
{
id = tbrole.payReasonId,
text = tbrole.payReason
};
return Json(roleid, JsonRequestBehavior.AllowGet);
}
#endregion
#region 归还保存
public ActionResult guipreserve(B_Record Record,B_Pay Paymode)
{
ReturnJson msg = new ReturnJson();
if (Paymode.payReasonId == 1)
{
//获取当前的时间
Paymode.payTime = DateTime.Now;
myModel.B_Pay.Add(Paymode);//添加到数据库
myModel.SaveChanges();//保存
}
//单表查询语句
//var Recordsese = (from tb in myModel.B_Record where tb.recordId == Record.recordId select tb).Single();
B_Record Recordsese = myModel.B_Record.Single(m => m.recordId == Record.recordId);
//获取当的时间
Recordsese.returnDate = DateTime.Now;
//为true进行过虑
Recordsese.returnNo = true;
//图书状态的ID为4
Recordsese.bookStateId = 4;
myModel.Entry(Recordsese).State = System.Data.Entity.EntityState.Modified;//进行修改操作
myModel.SaveChanges();//进行保存
//借书的数存量加一
var book = myModel.S_book.Where(o => o.bookId == Recordsese.bookId).Single();
book.allowVolume = book.allowVolume + 1;
//查询S_book找到allowVolume 进行加一
myModel.Entry(book).State = System.Data.Entity.EntityState.Modified;
if (myModel.SaveChanges() > 0)
{
msg.state = true;
msg.Text = "归还成功!";
}
else
{
msg.Text = "归还失败!";
}
return Json(msg, JsonRequestBehavior.AllowGet);
}
#endregion
#region 延期保存
public ActionResult PostponeSmodetate(B_Record Recordpostpones,string Datepostpones)
{
ReturnJson msg = new ReturnJson();
B_Record Recordsese = myModel.B_Record.Single(m => m.recordId == Recordpostpones.recordId); //单表查询语句
Recordsese.returnNo = false; //把数据库里的returnNo改为false
Recordsese.bookStateId = 3;// 给数据库,bookStateId添加3选择第三个
Recordsese.expireDate = Convert.ToDateTime(Datepostpones);//(Convertc称为万能类型转换)
myModel.Entry(Recordsese).State = System.Data.Entity.EntityState.Modified;
myModel.SaveChanges();
//查询S_book找到allowVolume 进行减一
var book = myModel.S_book.Where(o => o.bookId == Recordsese.bookId).Single();
//book.allowVolume = book.allowVolume - 1;
myModel.Entry(book).State = System.Data.Entity.EntityState.Modified;
if (myModel.SaveChanges() > 0)
{
msg.state = true;
msg.Text = "延期成功!";
}
else
{
msg.Text = "延期失败!";
}
return Json(msg,JsonRequestBehavior.AllowGet);
}
#endregion
#region 报废保存
public ActionResult seletebaofelathe(B_Record seletebao, B_Pay Paymoden)
{
ReturnJson msg = new ReturnJson();
Paymoden.payReasonId = 2;//选择到B_Pay的表,payReasonId给添加2(支付原因)
Paymoden.payTime = DateTime.Now;//获取当前时间
myModel.B_Pay.Add(Paymoden);//给Paymoden进行保存
B_Record Recordsese = myModel.B_Record.Single(m => m.recordId == seletebao.recordId);//单表查询语句
Recordsese.bookStateId = 6;//给数据库,bookStateId添加6选择第六个
Recordsese.returnNo = true;//returnNo属性值,改回true,可以进行上面查询的筛选
myModel.Entry(Recordsese).State = System.Data.Entity.EntityState.Modified;//最后进行筛选保存
if (myModel.SaveChanges() > 0)
{
msg.state = true;
msg.Text = "支付成功!";
}
else
{
msg.Text = "归还失败!";
}
return Json(msg, JsonRequestBehavior.AllowGet);
}
#endregion
}