public List <DataBookInfo> DownloadAll() { IniFileKeyValueLine currLine = null; short countFilelds = 0; string currName = null; string currAuthor = null; int currISBN = 0; string currAnnotation = null; DateTime currPublDate = DateTime.Today; _booklist.Clear(); file = file.ReadFromFile(file.SourceName); foreach (var line in file) { if (line is IniFileKeyValueLine) { currLine = (IniFileKeyValueLine)line; if (currLine.Key == "name") { countFilelds++; currName = currLine.Value; } if (currLine.Key == "author") { countFilelds++; currAuthor = currLine.Value; } if (currLine.Key == "annotation") { countFilelds++; currAnnotation = currLine.Value; } if (currLine.Key == "ISBN") { countFilelds++; currISBN = Int32.Parse(currLine.Value); } if (currLine.Key == "publication_date") { countFilelds++; currPublDate = DateTime.Parse(currLine.Value); } } if (countFilelds == 5) { countFilelds = 0; _booklist.Add(new DataBookInfo(currName, currAuthor, currAnnotation, currISBN, currPublDate)); } } return(_booklist); }
static void Main(string[] args) { IniFileContent file = new IniFileContent(@"C:\Users\user\Google Диск\Lab5\IniFile.txt"); BookList bookList = new BookList(file); var myBinding = new WebHttpBinding(); using (var host = new ServiceHost(bookList, new Uri("http://127.0.0.1:12344/"))) { var ep = host.AddServiceEndpoint(typeof(IBookList), myBinding, "http://127.0.0.1:12344/"); ep.EndpointBehaviors.Add(new WebHttpBehavior() { DefaultOutgoingRequestFormat = WebMessageFormat.Json, DefaultOutgoingResponseFormat = WebMessageFormat.Json, DefaultBodyStyle = WebMessageBodyStyle.Wrapped, }); try { host.Open(); } catch (Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("Working at"); foreach (var item in host.Description.Endpoints) { Console.WriteLine(item.ListenUri); } Console.ReadKey(); host.Close(); } }
public BookList(IniFileContent file) { _booklist = new List <DataBookInfo>(); this.file = file; }
public Server(string url, BookList bookList, IniFileContent file) { this.url = url; this.bookList = bookList; this.file = file; }