/// <summary> /// /// </summary> /// <param name="userEmail"></param> /// <param name="role"></param> /// <returns></returns> public JsonResult SearchOverdueBooks(string userEmail, string role) { List <BookMetadataViewModel> bookMetadataViewModels = new List <BookMetadataViewModel>(); List <LendingModel> lendingModels = new List <LendingModel>(); //check if the role is not admin if (!role.Equals(RoleEnums.Admin.ToString())) { //get the lending models for this user only UserModel userModel = this.userService.SelectByID(userEmail); lendingModels = this.lendingService.SelectAllOverdueLendingInformation(userModel.ID); } //get the lending modelsfor all the users else { lendingModels = this.lendingService.SelectAllOverdueLendingInformation(); } //for each lendign model find the book metadata if (lendingModels != null) { foreach (var lendingModel in lendingModels) { var bookItem = this.bookService.SelectByBookID(lendingModel.ItemIssued); BookMetadataViewModel bookMVM = this.bookMetadataViewModelTransalator.TransalateToViewModel(bookItem.BookMetaDataModel); bookMVM.IssueDate = lendingModel.Issuedate.ToShortDateString(); bookMetadataViewModels.Add(bookMVM); } } return(this.Json(new { bookMetadataViewModels }, JsonRequestBehavior.AllowGet)); }
public JsonResult InsertBook(string formInfo) { JavaScriptSerializer jss = new JavaScriptSerializer(); BookMetadataViewModel bookmetadataViewModel = jss.Deserialize <BookMetadataViewModel>(formInfo); var bookMetadata = this.bookMetadataService.GetAllBookMetadatasByName(bookmetadataViewModel.BookName); var bookMetadataModel = this.bookMetadataViewModelTransalator.TransalateToModel(bookmetadataViewModel); //if the book is been entered in the library for the first time, hence has no book metadata stored if (bookMetadata == null) { bookMetadataModel = this.bookMetadataService.Insert(bookMetadataModel); } var bookModel = new BookModel { BookMetaDataModel = bookMetadataModel, BookStatus = Enums.ItemStatus.Available }; bookService.Insert(bookModel); return(this.Json(true, JsonRequestBehavior.AllowGet)); }