public IBooking ReserveBook(IList <IBook> books, ILibrarian libNr, IMember memberNr) { foreach (IBook book in books) { book.Loan(); books.Where(x => x.ISBN == book.ISBN).Select(x => { return(book); }).ToList(); } int bookingNr = 1; if (bookings.Count() != 0) { bookingNr = bookings.Max(x => x.BookingNr) + 1; } if (bookings.Count() != 0) { bookingNr = bookings.Max(x => x.BookingNr) + 1; } IBooking booking = new Booking(bookingNr, books, libNr, memberNr, DateTime.Now); bookings.Add(booking); return(booking); }
private void button1_Click(object sender, EventArgs e) { ILibrarian C = (ILibrarian)Activator.GetObject(typeof(ILibrarian), "tcp://localhost:1234/Obj"); string type; if (memoire.Checked) { type = "memoire"; } else { if (these.Checked) { type = "these"; } else { type = "livre"; } } Boolean b = C.AddWork(tags.Text.Split(',').ToList(), writers.Text.Split(',').ToList(), title.Text.ToString(), theme.Text.ToString(), type); if (b) { MessageBox.Show("successfull"); } else { MessageBox.Show("failed"); } }
public async Task Invoke(HttpContext httpContext, ILibrarian librarian) // injection to method { httpContext.Items["CurrentUserName"] = httpContext.User.Identity.Name; await librarian.CheckAccess(); await _next(httpContext); }
public IBooking ReservBook(IList <IBook> books, int libNr, int memberNr) { ILibrarian librarian = GetLibrarianNr(libNr); IMember member = GetMemberNr(memberNr); IBooking booking = inventory.ReserveBook(books, librarian, member); bookings.Add(booking); return(booking); }
public async Task <IActionResult> VerifyEmail([FromServices] ILibrarian librarian, string authorEmail) { if (await librarian.CheckAccess()) { return(Json($"Selected author {authorEmail} is invalid")); } return(Json(true)); }
private bool SafeCheck(ILibrarian lib) { try { return(lib.Check()); } catch (Exception e) { SLogger <LiYinLoader> .Warn($"An error occurred when checking a librarian", e); return(false); } }
public Booking(int bookingNr, IList <IBook> books, ILibrarian libNr, IMember memberNr, DateTime startDate) { BookingNr = bookingNr; Books = books; LibNr = libNr; MemberNr = memberNr; StartDate = startDate; BookingCompleted = false; }
public ILogIn LogingIn(int libNr, string password) { ILogIn loggaIn = null; ILibrarian librarian = datastore.GetLibrarianNr(libNr); if (librarian != null && librarian.CorrectPassword(password)) { loggaIn = new LogIn(librarian); } return(loggaIn); }
public ILibrarian GetLibrarianNr(int libNr) { ILibrarian librarian = librarians.Where(a => a.LibrNr == libNr).FirstOrDefault(); if (librarian.LibrNr != libNr) { librarian = GetLibrarianNr(libNr); librarians.Add(librarian); } return(librarian); }
private bool SafeReady(ILibrarian lib) { try { lib.Ready(); return(true); } catch (Exception e) { SLogger <DreamLibManager> .Warn($"There is an error occurred when calling a librarian's Ready() method", e); return(false); } }
/// <summary> /// 获取程序集的入口 /// </summary> /// <param name="assembly"></param> /// <returns></returns> private ILibrarian GetLibrarianFrom(Assembly assembly) { ILibrarian librarian = null; var types = from type in assembly.GetExportedTypes() where IsLibrarian(type) select type; if (types.Count() != 0) { librarian = (ILibrarian)Activator.CreateInstance(types.First()); return(librarian); } librarian = new DefaultLibrarian(assembly); return(librarian); }
public async Task <IActionResult> NeedToPay([FromServices] ILibrarian librarian, int bookId) // inject to controller Action { var book = _booksRepository.Get(bookId); if (book == null) { return(NotFound()); } var userRepository = HttpContext.RequestServices.GetService <IUsersRepository>(); // get directly from HttpContext var currentVisitor = (Visitor)userRepository.Get(User.Identity.Name); await librarian.ApplyFees(book, currentVisitor); return(Json(new { result = "success" })); }
private void button1_Click(object sender, EventArgs e) { ILibrarian C = (ILibrarian)Activator.GetObject(typeof(ILibrarian), "tcp://localhost:1234/Obj"); try { Work work = C.getById(Convert.ToInt32(idwork.Text.ToString())); this.Hide(); EditWork editWork = new EditWork(work); editWork.Show(); } catch (Exception ex) { Console.WriteLine(ex); MessageBox.Show("failed"); } }
private void button1_Click(object sender, EventArgs e) { ILibrarian C = (ILibrarian)Activator.GetObject(typeof(ILibrarian), "tcp://localhost:1234/Obj"); try { int id = Convert.ToInt32(idwork.Text.ToString()); if (C.DeleteWork(id)) { MessageBox.Show("successful"); } else { MessageBox.Show("failed"); } } catch (Exception ex) { MessageBox.Show("invalide" + ex); } }
/// <summary> /// 获取传入的所有程序集的入口实现 /// </summary> /// <returns>所有入口类</returns> private IEnumerable <ILibrarian> GetLibrarianFrom(IEnumerable <Assembly> assemblies) { List <ILibrarian> result = new List <ILibrarian>(); foreach (var ass in assemblies) { try { ILibrarian lib = GetLibrarianFrom(ass); if (lib.Check()) { lib.Ready(); result.Add(lib); } } catch (Exception ex) { Logger.Warn($"加载与检查{ass.GetName().Name}的入口类时失败,该程序集无法被加载为秋之盒拓展", ex); } } return(result); }
static void Main(string[] args) { ///<summary> ///程序初始化 /// </summary> ///<summary> ///菜单选项 /// </summary> int selectCode = default; ///<summary> ///菜单状态初始化 /// </summary> /// #region Dictionary <string, bool> loginOrRegisterSelectStatus = new Dictionary <string, bool>(2); Dictionary <string, bool> selectUserTypeStatus = new Dictionary <string, bool>(3); Dictionary <string, bool> studentMenuSelectStatus = new Dictionary <string, bool>(4); Dictionary <string, bool> loginOrRegisterSucceedStatus = new Dictionary <string, bool>(2); #endregion loginOrRegisterSelectStatus.Add("loginRequirement", false); loginOrRegisterSelectStatus.Add("registerRequirement", false); selectUserTypeStatus.Add("studentRequirement", false); selectUserTypeStatus.Add("librarianRequirement", false); selectUserTypeStatus.Add("systemManagerRequirement", false); studentMenuSelectStatus.Add("bookSearchRequirement", false); studentMenuSelectStatus.Add("bookLendingRequirement", false); studentMenuSelectStatus.Add("bookReturnRequirement", false); studentMenuSelectStatus.Add("viewPersonalInfoRequirement", false); loginOrRegisterSucceedStatus.Add("studentLoginSucceed", false); Student student = new Student(); Librarian librarian = new Librarian(); Book book = new Book(); Menu.Display.NoLoginMainMenu(); selectCode = Convert.ToInt32(Console.ReadLine()); /// /// <summary> /// 主菜单,提示登录与注册 /// </summary> /// switch (selectCode) { case 1: loginOrRegisterSelectStatus["loginRequirement"] = true; break; case 2: loginOrRegisterSelectStatus["registerRequirement"] = true; break; default: break; } ///<summary> ///登录模块 /// </summary> if (loginOrRegisterSelectStatus[key : "loginRequirement"]) { Menu.Display.SelectUserTypeMenu(); selectCode = Convert.ToInt32(Console.ReadLine()); switch (selectCode) { case 1: IStudent newStudent = student; loginOrRegisterSucceedStatus["studentLoginSucceed"] = newStudent.Login(student); break; case 2: ILibrarian newLibrarian = librarian; newLibrarian.Login(librarian); break; case 3: break; default: break; } } ///<summary> ///注册模块 /// </summary> if (loginOrRegisterSelectStatus[key : "registerRequirement"]) { Menu.Display.SelectUserTypeMenu(); selectCode = Convert.ToInt32(Console.ReadLine()); switch (selectCode) { case 1: IStudent newStudent = student; newStudent.Register(student); newStudent.SaveInfoXmlOfStudent(student); break; case 2: ILibrarian newLibrarian = librarian; newLibrarian.Register(librarian); newLibrarian.SaveInfoXmlOfLibrarian(librarian); break; case 3: break; default: break; } } ///<summary> ///学生登录成功菜单 /// </summary> if (loginOrRegisterSucceedStatus[key : "studentLoginSucceed"]) { Menu.Display.StudentMainMenu(); selectCode = Convert.ToInt32(Console.ReadLine()); switch (selectCode) { case 1: studentMenuSelectStatus[key : "bookSearchRequirement"] = true; break; case 2: studentMenuSelectStatus[key : "bookLendingRequirement"] = true; break; case 3: studentMenuSelectStatus[key : "bookReturnRequirement"] = true; break; case 4: Console.WriteLine($"{ student.ShowInfo()}"); System.Threading.Thread.Sleep(5000); break; default: break; } } ///<summary> ///书籍查询 /// </summary> /// if (studentMenuSelectStatus[key : "bookSearchRequirement"]) { IBook newBook = book; Console.WriteLine(@"Please enter the ISBN:"); string targetISBN = Console.ReadLine(); bool searchSucceed = false; searchSucceed = newBook.Search(targetISBN, book); if (searchSucceed) { Console.WriteLine($"{book.ShowInfo()}"); System.Threading.Thread.Sleep(10000); } } }
public LogIn(ILibrarian librarian) { Librarian = librarian; }
public LibrarianController(IBookService bookServ, ILibrarian libServ) { _bookContext = bookServ; _libContext = libServ; }