public ExemplarInfoAPI GetExemplarInfoByIdData(int IDDATA) { //string connectionString = ConfigurationManager.ConnectionStrings["BookStatusConnection"].ConnectionString; string connectionString = AppSettings.BookStatusConnection; string queryText = new BJExemplarQueries(this.BaseName).GET_EXEMPLAR_BY_IDDATA; DataTable result = new DataTable(); SqlDataAdapter da = new SqlDataAdapter(queryText, connectionString); da.SelectCommand.Parameters.Add("IDDATA", SqlDbType.Int).Value = IDDATA; da.Fill(result); ExemplarInfoAPI ei = new ExemplarInfoAPI(IDDATA); string fieldCode; foreach (DataRow row in result.Rows) { fieldCode = row["MNFIELD"].ToString() + row["MSFIELD"].ToString(); switch (fieldCode)//пока только автор заглавие { case "899$a": ei.Location = row["PLAIN"].ToString(); break; case "899$p": ei.InventoryNumber = row["PLAIN"].ToString(); break; case "899$w": ei.Barcode = row["PLAIN"].ToString(); break; } } queryText = new BJExemplarQueries(this.BaseName).GET_EXEMPLAR_ISSUE_INFO; da.SelectCommand.CommandText = queryText; result.Clear(); int cnt = da.Fill(result); if (cnt == 0) { ei.IsIssued = false; } else { ei.IsIssued = true; ei.IDReaderTooked = Extensions.HashReaderId(result.Rows[0]["IDREADER"].ToString()); ei.DateReturn = ((DateTime)result.Rows[0]["DATE_RET"]).ToString("dd.MM.yyyy"); } return(ei); }
public BookInfo GetBJBookByID(int iDMAIN) { //string connectionString = ConfigurationManager.ConnectionStrings["BookStatusConnection"].ConnectionString; string connectionString = AppSettings.ConnectionString; string queryText = new BJBookQueries(this.BaseName).GET_BOOK_BY_IDMAIN; DataTable result = new DataTable(); SqlDataAdapter da = new SqlDataAdapter(queryText, connectionString); da.SelectCommand.Parameters.Add("IDMAIN", SqlDbType.Int).Value = iDMAIN; da.Fill(result); BookInfo bi = new BookInfo(); string fieldCode; List <int> ExemplarIdDataList = new List <int>(); int currentIDDATA = (int)result.Rows[0]["IDDATA"]; foreach (DataRow row in result.Rows) { fieldCode = row["MNFIELD"].ToString() + row["MSFIELD"].ToString(); if (((int)row["IDBLOCK"] == 260) && (currentIDDATA != (int)row["IDDATA"])) { ExemplarIdDataList.Add((int)row["IDDATA"]); //собираем IDDATA всех экземпляров } switch (fieldCode) //пока только автор заглавие { case "200$a": bi.Title = row["PLAIN"].ToString(); break; case "700$a": case "701$a": bi.Author.Add(row["PLAIN"].ToString()); break; case "330$a": bi.Annotation.Add(row["PLAIN"].ToString()); break; } currentIDDATA = (int)row["IDDATA"]; } ExemplarLoader loader = new ExemplarLoader(this._baseName); foreach (int iddata in ExemplarIdDataList) { ExemplarInfoAPI ei = loader.GetExemplarInfoByIdData(iddata); bi.Exemplars.Add(ei); } //проверим есть ли электронный экземпляр. если есть, то добавим его. пока только так можно определить электронный экземпляр. когда они проинвентаризируются, будет создаваться сам в предыдущем цикле queryText = new BJBookQueries(this.BaseName).IS_HYPERLINK_EXISTS; result = new DataTable(); da = new SqlDataAdapter(queryText, connectionString); da.SelectCommand.Parameters.Add("IDMAIN", SqlDbType.Int).Value = iDMAIN; int IsHyperlinkExists = da.Fill(result); if (IsHyperlinkExists > 0) { ExemplarInfoAPI ei = new ExemplarInfoAPI(-1);//пока для всех электронных будет -1 ei = loader.GetElectronicExemplarInfo(this._baseName + "_" + iDMAIN.ToString()); bi.Exemplars.Add(ei); } return(bi); }