//-------------------------------МЕТОДЫ---------------------------------------- /* Выполняем запрос к БД и заносим полученные данные в List<SemCoreModel> */ private bool Execute_SELECT_Command(SqlCommand _command) { ptList = new List <ProductTypesModel> { }; try { connection.Open(); SqlDataReader reader = _command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { SetData((IDataRecord)reader); } } else { Console.WriteLine("No rows found."); } reader.Close(); connection.Close(); if (controlFormProductTypesView != null) //вызывает нужный метод в зависимости, из какой формы нас вызывают { controlFormProductTypesView.GetProductTypesFromDB(ptList); } else if (controlFormSemCoreView != null) { controlFormSemCoreView.GetProductTypesFromDB(ptList); } else if (controlFormProductsView != null) { controlFormProductsView.GetProductTypesFromDB(ptList); } else if (controlFormFullSemCoreView != null) { controlFormFullSemCoreView.GetProductTypesFromDB(ptList); } else if (controlFormSemCoreRebuildView != null) { controlFormSemCoreRebuildView.GetProductTypesFromDB(ptList); } else if (controlKeywordCategoryView != null) { controlKeywordCategoryView.GettFullProductTypesFromDB(ptList); } else if (controlSemCoreArchiveView != null) { controlSemCoreArchiveView.GetProductTypesFromDB(ptList); } return(true); } catch (Exception ex) { connection.Close(); return(false); } }
/* Делаем SELECT с JOIN из БД и отдаем данные двумя List, чтобы потом вставить в одну таблицу * при чем, вставляем коряво (смотри SetProductTypesToList), но это потому, что у нас ProductModel имеет * только 5 полей и туда одним методом вставить не получится. Плюс всё равно нужно будет получать данные * всех ProductTypes * */ private int Execute_SELECTJOIN_Command(SqlCommand _command) { pList = new List <ProductsModel> { }; ptList = new List <ProductTypesModel> { }; try { connection.Open(); SqlDataReader reader = _command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { SetProductsToList((IDataRecord)reader); SetProductTypesToList((IDataRecord)reader); } } else { Console.WriteLine("No rows found."); } reader.Close(); connection.Close(); if (controlFormProductsView != null) //вызывает нужный метод в зависимости, из какой формы нас вызывают { controlFormProductsView.GetProductsFromDB(pList); controlFormProductsView.GetProductTypesFromDB(ptList); } return(1); } catch (Exception ex) { connection.Close(); return(ex.HResult); } }
/* Делаем SELECT с JOIN из БД и отдаем данные двумя List, чтобы потом вставить в одну таблицу * при чем, вставляем коряво (смотри SetProductTypesToList), но это потому, что у нас ProductModel имеет * только 5 полей и туда одним методом вставить не получится. Плюс всё равно нужно будет получать данные * всех ProductTypes * */ private int Execute_SELECTJOIN_Command(SqlCommand _command) { pList = new List <ProductsModel> { }; ptList = new List <ProductTypesModel> { }; mpList = new List <MarketplaceModel> { }; try { connection.Open(); SqlDataReader reader = _command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { SetProductsToList((IDataRecord)reader); SetProductTypesToList((IDataRecord)reader); SetMarketPlacesToList((IDataRecord)reader); } } else { Console.WriteLine("No rows found."); } reader.Close(); connection.Close(); if (controlFormProductsView != null) //вызывает нужный метод в зависимости, из какой формы нас вызывают { controlFormProductsView.GetProductsFromDB(pList); controlFormProductsView.GetProductTypesFromDB(ptList); controlFormProductsView.GetMarketPlacesFromDB(mpList); } else if (controlFormAdvertisingUploadReportView != null) { controlFormAdvertisingUploadReportView.GetProductsFromDB(pList); } else if (controlAdvertisingReportFilterView != null) { controlAdvertisingReportFilterView.GetProductsFromDB(pList); } else if (controlReportBusinessUploadView != null) { controlReportBusinessUploadView.GetProductsFromDB(pList); } else if (controlReportBusinessFilterView != null) { controlReportBusinessFilterView.GetProductsFromDB(pList); } else if (controlReportSessionsView != null) { controlReportSessionsView.GetProductsFromDB(pList); } else if (controlAdvreport7days != null) { controlAdvreport7days.GetProductsFromDB(pList); } else if (controlAnalyzeAdvertisingReport != null) { controlAnalyzeAdvertisingReport.GetProductsFromDB(pList); } else if (controlReportStockUploadView != null) { controlReportStockUploadView.GetProductsFromDB(pList); } else if (controlReportStockView != null) { controlReportStockView.GetProductsFromDB(pList); } else if (controlReportSalesView != null) { controlReportSalesView.GetProductsFromDB(pList); } return(1); } catch (Exception ex) { connection.Close(); return(ex.HResult); } }