private static BJConvoluteInfo GetConvoluteInfo(string InventoryNumber, string fund) { Stopwatch sw = new Stopwatch(); sw.Start(); BJDatabaseWrapper dbw = new BJDatabaseWrapper(fund); //DataTable table = dbw.GetExemplar(InventoryNumber); DataTable table = dbw.GetConvolute(InventoryNumber); sw.Stop(); if (table.Rows.Count == 0) { return(null); } BJConvoluteInfo convolute = new BJConvoluteInfo(); convolute.Fund = fund; convolute.IDDATA = (int)table.Rows[0]["IDDATA"]; convolute.IDMAIN = (int)table.Rows[0]["IDMAIN"]; return(convolute); }
public static BJExemplarInfo GetExemplarByIdData(int iddata, string fund) { BJDatabaseWrapper dbw = new BJDatabaseWrapper(fund); DataTable table = dbw.GetExemplar(iddata); if (table.Rows.Count == 0) { return(null); } BJExemplarInfo exemplar = new BJExemplarInfo((int)table.Rows[0]["IDDATA"]); exemplar.IDMAIN = (int)table.Rows[0]["IDMAIN"]; exemplar.Fund = fund; foreach (DataRow row in table.Rows)//записываем все поля в объект { if (fund == "BJACC") { if (row["MNFIELD"].ToString() + row["MSFIELD"].ToString() == "899$w") //в американской базе нет инвентарных номеров. берем штрихкод { exemplar.Created = (DateTime)row["Created"]; //за дату создания берем дату присвоения штрихкода } } else { if (row["MNFIELD"].ToString() + row["MSFIELD"].ToString() == "899$p") //в остальных есть и берём дату создания поля инвентарный номер { exemplar.Created = (DateTime)row["Created"]; //за дату создания берем дату присвоения инвентаря } } if (row["MNFIELD"].ToString() + row["MSFIELD"].ToString() == "899$a") { exemplar.Fields.AddField(row["NAME"].ToString(), (int)row["MNFIELD"], row["MSFIELD"].ToString()); //местонахождение берём из LIST_8, а не из DATAEXTPLAIN, потому что в поле PLAIN меняются некоторые символы continue; } exemplar.Fields.AddField(row["PLAIN"].ToString(), (int)row["MNFIELD"], row["MSFIELD"].ToString());//добавляем все поля блока 260 к объекту экземпляра } try { exemplar.ExemplarAccess = BJExemplarInfo.GetExemplarAccess(exemplar); } catch (Exception ex) { throw ex; } if (exemplar.Fields["482$a"].MNFIELD != 0)//это приплётышь { BJConvoluteInfo convolute = BJExemplarInfo.GetConvoluteInfo(exemplar.Fields["482$a"].ToString(), exemplar.Fund); //BJExemplarInfo Convolute = BJExemplarInfo.GetExemplarByInventoryNumber(exemplar.Fields["482$a"].ToString(), exemplar.Fund); if (convolute != null)//нашёлся конволют { exemplar.ConvolutePin = $"{convolute.Fund}_{convolute.IDMAIN}"; exemplar.ConvoluteIdData = convolute.IDDATA; } else//не нашёлся конволют { exemplar.ConvolutePin = null; } } else { //это не приплётышь ConvolutePin exemplar.ConvolutePin = null; } exemplar.Cipher = string.IsNullOrEmpty(exemplar.Fields["899$j"].ToString()) ? dbw.GetCipher(exemplar.Fields["899$b"].ToString(), exemplar.IDMAIN) : exemplar.Fields["899$j"].ToString(); exemplar.Bar = exemplar.Fields["899$w"].ToString(); return(exemplar); }