/// <summary> /// подтверждение отгрузки со склада /// </summary> public bool Confirm(int nUserConfirmID) { string _sqlCommand = "execute up_MovingsDocumentsConfirm @nMovingDocumentID, " + "@nUserConfirmID, " + "@nError output, @cErrorStr output "; SqlCommand _oCommand = new SqlCommand(_sqlCommand, _Connect); _oCommand.CommandTimeout = 0; #region up_MovingsDocumentsConfirm parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nMovingDocumentID", SqlDbType.Int); _oParameter.Value = _ID; _oParameter = _oCommand.Parameters.Add("@nUserConfirmID", SqlDbType.Int); _oParameter.Value = nUserConfirmID; _oParameter = _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = 0; _oParameter = _oCommand.Parameters.Add("@cErrorStr", SqlDbType.VarChar, 200); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = ""; #endregion try { _Connect.Open(); if (_TableMovingsDocumentsGoods != null) { RFMUtilities.DataTableToTempTable(_TableMovingsDocumentsGoods, "#MovingsDocumentsGoods", _Connect); } _oCommand.ExecuteScalar(); } catch (Exception ex) { _ErrorNumber = -11; _ErrorStr = "Ошибка при попытке подтверждения документарного перемещения...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } if (_ErrorNumber == 0) { _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "Ошибка при подтверждении документарного перемещения...\r\n" + _oCommand.Parameters["@cErrorStr"].Value; RFMMessage.MessageBoxError(_ErrorStr); } } return(_ErrorNumber == 0); }
// -- REPORTS --------------------------------------------------------------- /// <summary> /// История операций с ячейками / контейнерами /// </summary> public bool ReportCellsFramesHistory (DataTable tableCells, DataTable tableFrames, DateTime?dDateBeg, DateTime?dDateEnd, bool bTraffics, bool bChanges, string sOwnersList, string sGoodsStatesList, string sPackingsList, string sUsersList) { ClearData(); string sqlSelect; SqlCommand _oCommand; try { _Connect.Open(); } catch (Exception ex) { _ErrorNumber = -1; _ErrorStr = "Ошибка при соединении с сервером...\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); return(false); } // по таблице ячеек if (tableCells.Rows.Count > 0) { // оставляем из переданной таблицы только одну колонку CellID for (int i = tableCells.Columns.Count - 1; i >= 0; i--) { if (tableCells.Columns[i].ColumnName != "ID" && tableCells.Columns[i].ColumnName != "CellID") { tableCells.Columns.Remove(tableCells.Columns[i]); } } if (!RFMUtilities.DataTableToTempTable(tableCells, "#CellsIDList", _Connect)) { RFMMessage.MessageBoxError("Ошибка при подготовке временной таблицы ячеек (история)..."); _Connect.Close(); return(false); } } else { sqlSelect = "if object_id('tempdb..#CellsIDList') is not Null " + "drop table #CellsIDList"; try { _oCommand = new SqlCommand(sqlSelect, _Connect); _oCommand.ExecuteNonQuery(); } catch (Exception ex) { _ErrorNumber = -2; _ErrorStr = "Ошибка при очистке временной таблицы ячеек...\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); _Connect.Close(); return(false); } } if (tableFrames.Rows.Count > 0) { // оставляем из переданной таблицы только одну колонку FrameID for (int i = tableFrames.Columns.Count - 1; i >= 0; i--) { if (tableFrames.Columns[i].ColumnName != "ID" && tableFrames.Columns[i].ColumnName != "FrameID") { tableFrames.Columns.Remove(tableFrames.Columns[i]); } } if (!RFMUtilities.DataTableToTempTable(tableFrames, "#FramesIDList", _Connect)) { RFMMessage.MessageBoxError("Ошибка при подготовке временной таблицы контейнеров (история)..."); _Connect.Close(); return(false); } } else { sqlSelect = "if object_id('tempdb..#FramesIDList') is not Null " + "drop table #FramesIDList"; try { _oCommand = new SqlCommand(sqlSelect, _Connect); _oCommand.ExecuteNonQuery(); } catch (Exception ex) { _ErrorNumber = -3; _ErrorStr = "Ошибка при очистке временной таблицы контейнеров...\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); _Connect.Close(); return(false); } } sqlSelect = "execute up_ReportCellsFramesHistory " + "@dDateBeg, @dDateEnd, " + "@bTraffics, @bChanges, " + "@cOwnersList, @cGoodsStatesList, " + "@cPackingsList, @cUsersList"; _oCommand = new SqlCommand(sqlSelect, _Connect); _oCommand.CommandTimeout = 0; #region up_ReportCellsFramesHistory paramaters _oCommand.Parameters.Add("@dDateBeg", SqlDbType.SmallDateTime); if (dDateBeg != null) { _oCommand.Parameters["@dDateBeg"].Value = dDateBeg; } else { _oCommand.Parameters["@dDateBeg"].Value = DBNull.Value; } _oCommand.Parameters.Add("@dDateEnd", SqlDbType.SmallDateTime); if (dDateEnd != null) { _oCommand.Parameters["@dDateEnd"].Value = dDateEnd; } else { _oCommand.Parameters["@dDateEnd"].Value = DBNull.Value; } _oCommand.Parameters.Add("@bTraffics", SqlDbType.Bit); _oCommand.Parameters["@bTraffics"].Value = bTraffics; _oCommand.Parameters.Add("@bChanges", SqlDbType.Bit); _oCommand.Parameters["@bChanges"].Value = bChanges; _oCommand.Parameters.Add("@cOwnersList", SqlDbType.VarChar); if (sOwnersList != null) { _oCommand.Parameters["@cOwnersList"].Value = sOwnersList; } else { _oCommand.Parameters["@cOwnersList"].Value = DBNull.Value; } _oCommand.Parameters.Add("@cGoodsStatesList", SqlDbType.VarChar); if (sGoodsStatesList != null) { _oCommand.Parameters["@cGoodsStatesList"].Value = sGoodsStatesList; } else { _oCommand.Parameters["@cGoodsStatesList"].Value = DBNull.Value; } _oCommand.Parameters.Add("@cPackingsList", SqlDbType.VarChar); if (sPackingsList != null) { _oCommand.Parameters["@cPackingsList"].Value = sPackingsList; } else { _oCommand.Parameters["@cPackingsList"].Value = DBNull.Value; } _oCommand.Parameters.Add("@cUsersList", SqlDbType.VarChar); if (sUsersList != null) { _oCommand.Parameters["@cUsersList"].Value = sUsersList; } else { _oCommand.Parameters["@cUsersList"].Value = DBNull.Value; } #endregion try { _MainTable = FillReadings(new SqlDataAdapter(_oCommand), _MainTable, _MainTableName); _NeedRequery = false; } catch (Exception ex) { _ErrorNumber = -10; _ErrorStr = "Ошибка при получении истории ячеек/контейнеров...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } return(_ErrorNumber == 0); }
// -------------------------------------------------------------------- /// <summary> /// Операции транспортировки /// </summary> public bool ReportTraffics (string sMode, DataTable tableCellsSource, DataTable tableCellsTarget, DateTime?dDateBegBirth, DateTime?dDateEndBirth, DateTime?dDateBegConfirm, DateTime?dDateEndConfirm, bool?bConfirmed, bool?bSuccess, string sErrorsList, string sUsersList, string sDevicesList, string sFrameBarCodeContext, string sPackingsList ) { ClearData(); string sqlSelect; SqlCommand _oCommand; bool bConnectOpen = false; // по таблице ячеек-источников if (tableCellsSource.Rows.Count > 0) { if (!bConnectOpen) { try { _Connect.Open(); bConnectOpen = true; } catch (Exception ex) { _ErrorNumber = -1; _ErrorStr = "Ошибка при соединении с сервером...\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); return(false); } } // оставляем из переданной таблицы только одну колонку CellID for (int i = tableCellsSource.Columns.Count - 1; i >= 0; i--) { if (tableCellsSource.Columns[i].ColumnName != "ID" && tableCellsSource.Columns[i].ColumnName != "CellID") { tableCellsSource.Columns.Remove(tableCellsSource.Columns[i]); } } if (!RFMUtilities.DataTableToTempTable(tableCellsSource, "#CellsSourceIDList", _Connect)) { RFMMessage.MessageBoxError("Ошибка при подготовке временной таблицы ячеек-источников..."); return(false); } } // по таблице ячеек-приемников if (tableCellsTarget.Rows.Count > 0) { if (!bConnectOpen) { try { _Connect.Open(); } catch (Exception ex) { _ErrorNumber = -1; _ErrorStr = "Ошибка при соединении с сервером...\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); return(false); } } // оставляем из переданной таблицы только одну колонку CellID for (int i = tableCellsTarget.Columns.Count - 1; i >= 0; i--) { if (tableCellsTarget.Columns[i].ColumnName != "ID" && tableCellsTarget.Columns[i].ColumnName != "CellID") { tableCellsTarget.Columns.Remove(tableCellsTarget.Columns[i]); } } if (!RFMUtilities.DataTableToTempTable(tableCellsTarget, "#CellsTargetIDList", _Connect)) { RFMMessage.MessageBoxError("Ошибка при подготовке временной таблицы ячеек-приемников..."); return(false); } } sqlSelect = "execute up_ReportTraffics " + "@cMode, " + "@dDateBegBirth, @dDateEndBirth, " + "@dDateBegConfirm, @dDateEndConfirm, " + "@bConfirmed, @bSuccess, @cErrorsList, " + "@cUsersList, @cDevicesList, " + "@cFrameBarCodeContext, " + "@cPackingsList"; _oCommand = new SqlCommand(sqlSelect, _Connect); _oCommand.CommandTimeout = 0; #region up_ReportTraffics paramaters _oCommand.Parameters.Add("@cMode", SqlDbType.VarChar); if (sMode != null) { _oCommand.Parameters["@cMode"].Value = sMode; } else { _oCommand.Parameters["@cMode"].Value = DBNull.Value; } _oCommand.Parameters.Add("@dDateBegBirth", SqlDbType.SmallDateTime); if (dDateBegBirth != null) { _oCommand.Parameters["@dDateBegBirth"].Value = dDateBegBirth; } else { _oCommand.Parameters["@dDateBegBirth"].Value = DBNull.Value; } _oCommand.Parameters.Add("@dDateEndBirth", SqlDbType.SmallDateTime); if (dDateEndBirth != null) { _oCommand.Parameters["@dDateEndBirth"].Value = dDateEndBirth; } else { _oCommand.Parameters["@dDateEndBirth"].Value = DBNull.Value; } _oCommand.Parameters.Add("@dDateBegConfirm", SqlDbType.SmallDateTime); if (dDateBegConfirm != null) { _oCommand.Parameters["@dDateBegConfirm"].Value = dDateBegConfirm; } else { _oCommand.Parameters["@dDateBegConfirm"].Value = DBNull.Value; } _oCommand.Parameters.Add("@dDateEndConfirm", SqlDbType.SmallDateTime); if (dDateEndConfirm != null) { _oCommand.Parameters["@dDateEndConfirm"].Value = dDateEndConfirm; } else { _oCommand.Parameters["@dDateEndConfirm"].Value = DBNull.Value; } _oCommand.Parameters.Add("@bConfirmed", SqlDbType.Bit); if (bConfirmed != null) { _oCommand.Parameters["@bConfirmed"].Value = bConfirmed; } else { _oCommand.Parameters["@bConfirmed"].Value = DBNull.Value; } _oCommand.Parameters.Add("@bSuccess", SqlDbType.Bit); if (bSuccess != null) { _oCommand.Parameters["@bSuccess"].Value = bSuccess; } else { _oCommand.Parameters["@bSuccess"].Value = DBNull.Value; } _oCommand.Parameters.Add("@cErrorsList", SqlDbType.VarChar); if (sErrorsList != null) { _oCommand.Parameters["@cErrorsList"].Value = sErrorsList; } else { _oCommand.Parameters["@cErrorsList"].Value = DBNull.Value; } _oCommand.Parameters.Add("@cUsersList", SqlDbType.VarChar); if (sUsersList != null) { _oCommand.Parameters["@cUsersList"].Value = sUsersList; } else { _oCommand.Parameters["@cUsersList"].Value = DBNull.Value; } _oCommand.Parameters.Add("@cDevicesList", SqlDbType.VarChar); if (sDevicesList != null) { _oCommand.Parameters["@cDevicesList"].Value = sDevicesList; } else { _oCommand.Parameters["@cDevicesList"].Value = DBNull.Value; } _oCommand.Parameters.Add("@cFrameBarCodeContext", SqlDbType.VarChar); if (sFrameBarCodeContext != null) { _oCommand.Parameters["@cFrameBarCodeContext"].Value = sFrameBarCodeContext; } else { _oCommand.Parameters["@cFrameBarCodeContext"].Value = DBNull.Value; } _oCommand.Parameters.Add("@cPackingsList", SqlDbType.VarChar); if (sPackingsList != null) { _oCommand.Parameters["@cPackingsList"].Value = sPackingsList; } else { _oCommand.Parameters["@cPackingsList"].Value = DBNull.Value; } #endregion try { _MainTable = FillReadings(new SqlDataAdapter(_oCommand), _MainTable, _MainTableName); _NeedRequery = false; } catch (Exception ex) { _ErrorNumber = -1; _ErrorStr = "Ошибка при получении операций транспортировки/перемещения...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } return(_ErrorNumber == 0); }
public bool SaveTariffs(ref int?nSalaryTariffID) { String _sqlCommand = "execute up_SalaryTariffsSave @nID output, " + "@nError output, @cErrorText output"; SqlCommand _oCommand = new SqlCommand(_sqlCommand, _Connect); #region up_SalaryTariffsSave parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nID", SqlDbType.Int); if (nSalaryTariffID.HasValue) { _oParameter.Value = nSalaryTariffID; } else { _oParameter.Value = DBNull.Value; } _oParameter.Direction = ParameterDirection.InputOutput; _oParameter = _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = 0; _oParameter = _oCommand.Parameters.Add("@cErrorText", SqlDbType.VarChar, 200); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = ""; #endregion try { _Connect.Open(); RFMUtilities.DataTableToTempTable(TableSalaryTariffs, "#SalaryTariffs", _Connect); _oCommand.ExecuteScalar(); } catch (Exception ex) { _ErrorNumber = -52; _ErrorStr = "Ошибка при сохранении тарифов...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } if (_ErrorNumber == 0) { _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "Ошибка при сохранении тарифов...\r\n" + _oCommand.Parameters["@cErrorText"].Value; RFMMessage.MessageBoxError(_ErrorStr); } // при создании новой записи - получим ее код if (nSalaryTariffID == 0 && _oCommand.Parameters["@nID"].Value != DBNull.Value) { nSalaryTariffID = (int)_oCommand.Parameters["@nID"].Value; } } return(_ErrorNumber == 0); }
/// <summary> /// сохранение данных пользователя /// </summary> public bool SaveData(int nUserID) { if (_MainTable.Rows.Count == 0 || _MainTable.Rows[0] == null) { _ErrorNumber = -20; _ErrorStr = "Не заданы параметры пользователя..."; RFMMessage.MessageBoxError(_ErrorStr); return(false); } DataRow r = _MainTable.Rows[0]; try { _Connect.Open(); } catch (Exception ex) { _ErrorNumber = -1; _ErrorStr = "Ошибка при соединении с сервером...\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); return(false); } RFMUtilities.DataTableToTempTable(TableRolesForUser, "#RolesForUser", _Connect); string _sqlCommand = "execute up_UsersSave @nUserID output, " + "@cUserName, " + "@nBrigadeID, " + "@cPassword, " + "@cAlias, " + "@cLocPath, @cNetPath, " + "@bIsAdmin, " + "@bActual, " + "@nHostID, " + "@nError output, @cErrorText output"; SqlCommand _oCommand = new SqlCommand(_sqlCommand, _Connect); #region up_UsersSave parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nUserID", SqlDbType.Int); _oParameter.Value = nUserID; _oParameter.Direction = ParameterDirection.InputOutput; _oParameter = _oCommand.Parameters.Add("@cUserName", SqlDbType.VarChar); _oParameter.Value = r["Name"].ToString(); _oParameter = _oCommand.Parameters.Add("@nBrigadeID", SqlDbType.Int); if (r["BrigadeID"] != null && !Convert.IsDBNull(r["BrigadeID"])) { _oParameter.Value = Convert.ToInt32(r["BrigadeID"]); } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cPassword", SqlDbType.VarChar); _oParameter.Value = r["Password"].ToString(); _oParameter = _oCommand.Parameters.Add("@cAlias", SqlDbType.VarChar); if (r["Alias"] != null) { _oParameter.Value = r["Alias"].ToString(); } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cLocPath", SqlDbType.VarChar); _oParameter.Value = r["LocPath"].ToString(); _oParameter = _oCommand.Parameters.Add("@cNetPath", SqlDbType.VarChar); _oParameter.Value = r["NetPath"].ToString(); _oParameter = _oCommand.Parameters.Add("@bIsAdmin", SqlDbType.Bit); _oParameter.Value = Convert.ToBoolean(r["IsAdmin"]); _oParameter = _oCommand.Parameters.Add("@bActual", SqlDbType.Bit); _oParameter.Value = Convert.ToBoolean(r["Actual"]); _oParameter = _oCommand.Parameters.Add("@nHostID", SqlDbType.Int); if (r["HostID"] != null && !Convert.IsDBNull(r["HostID"])) { _oParameter.Value = Convert.ToInt32(r["HostID"]); } else { _oParameter.Value = DBNull.Value; } _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oCommand.Parameters["@nError"].Direction = ParameterDirection.InputOutput; _oCommand.Parameters["@nError"].Value = 0; _oCommand.Parameters.Add("@cErrorText", SqlDbType.VarChar, 200); _oCommand.Parameters["@cErrorText"].Direction = ParameterDirection.InputOutput; _oCommand.Parameters["@cErrorText"].Value = ""; #endregion try { _oCommand.ExecuteScalar(); } catch (Exception ex) { _ErrorNumber = -10; _ErrorStr = "Ошибка при сохранении данных пользователя...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } if (_ErrorNumber == 0) { _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "Ошибка при сохранении данных пользователя...\r\n" + _oCommand.Parameters["@cErrorText"].Value; RFMMessage.MessageBoxError(_ErrorStr); } // при создании нового пользователя - получим его код if (nUserID == 0 && _oCommand.Parameters["@nUserID"].Value != DBNull.Value) { _ID = (int)_oCommand.Parameters["@nUserID"].Value; } } return(_ErrorNumber == 0); }
public bool Medication(int nFrameID, DataTable tFrameContents, int?nOwnerID, int?nGoodStateID, int nCellID, int?nUserID, int?nDeviceID, string sNoteManual) { // создание и наполнение временной таблицы try { _Connect.Open(); } catch (Exception ex) { _ErrorNumber = -1; _ErrorStr = "ќшибка при соединении с сервером...\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); return(false); } if (!RFMUtilities.DataTableToTempTable(tFrameContents, "#CellsContents", _Connect)) { RFMMessage.MessageBoxError("ќшибка при подготовке временной таблицы..."); return(false); } // выполн¤ем хр_пр изменени¤ состо¤ни¤ контейнера string sqlSelect = "execute up_FramesMedication @nFrameID, " + "@nOwnerID, @nGoodStateID, " + "@nCellID, " + "@nUserID, @nDeviceID, " + "@cNoteManual, " + "@nError output, @cErrorStr output"; SqlCommand _oCommand = new SqlCommand(sqlSelect, _Connect); #region up_FramesMedication paramaters _oCommand.Parameters.Add("@nFrameID", SqlDbType.Int); _oCommand.Parameters["@nFrameID"].Value = nFrameID; _oCommand.Parameters.Add("@nOwnerID", SqlDbType.Int); if (nOwnerID.HasValue) { _oCommand.Parameters["@nOwnerID"].Value = nOwnerID; } else { _oCommand.Parameters["@nOwnerID"].Value = DBNull.Value; } _oCommand.Parameters.Add("@nGoodStateID", SqlDbType.Int); if (nGoodStateID.HasValue) { _oCommand.Parameters["@nGoodStateID"].Value = nGoodStateID; } else { _oCommand.Parameters["@nGoodStateID"].Value = DBNull.Value; } _oCommand.Parameters.Add("@nCellID", SqlDbType.Int); _oCommand.Parameters["@nCellID"].Value = nCellID; _oCommand.Parameters.Add("@nUserID", SqlDbType.Int); if (nUserID.HasValue) { _oCommand.Parameters["@nUserID"].Value = nUserID; } else { _oCommand.Parameters["@nUserID"].Value = DBNull.Value; } _oCommand.Parameters.Add("@nDeviceID", SqlDbType.Int); if (nDeviceID.HasValue) { _oCommand.Parameters["@nDeviceID"].Value = nDeviceID; } else { _oCommand.Parameters["@nDeviceID"].Value = DBNull.Value; } _oCommand.Parameters.Add("@cNoteManual", SqlDbType.VarChar); if (sNoteManual != null && sNoteManual.Length != 0) { _oCommand.Parameters["@cNoteManual"].Value = sNoteManual; } else { _oCommand.Parameters["@cNoteManual"].Value = ""; } _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oCommand.Parameters["@nError"].Direction = ParameterDirection.InputOutput; _oCommand.Parameters["@nError"].Value = 0; _oCommand.Parameters.Add("@cErrorStr", SqlDbType.VarChar, 200); _oCommand.Parameters["@cErrorStr"].Direction = ParameterDirection.InputOutput; _oCommand.Parameters["@cErrorStr"].Value = ""; #endregion try { _oCommand.ExecuteScalar(); } catch (Exception ex) { _ErrorNumber = -11; _ErrorStr = "ќшибка при изменении состо¤ни¤ контейнера с кодом " + nFrameID.ToString() + "...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); // RaiseError } finally { _Connect.Close(); } _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "ќшибка при изменении состо¤ни¤ контейнера с кодом " + nFrameID.ToString() + "...\r\n" + _oCommand.Parameters["@cErrorStr"].Value; RFMMessage.MessageBoxError(_ErrorStr); } return(_ErrorNumber == 0); }
/// <summary> /// сохранение данных документа /// </summary> public bool Save() { string _sqlCommand = "execute up_MovingsDocumentsSave @nMovingDocumentID output, " + "@nHostID, " + "@dDateMoving, " + "@nGoodStateSourceID, @nGoodStateTargetID, " + "@nOwnerSourceID, @nPartnerDetailSourceID, @nOwnerTargetID, @nPartnerDetailTargetID, " + "@cBillNumber, @nCurrencyID, @cNote, " + "@nError output, @cErrorText output"; SqlCommand _oCommand = new SqlCommand(_sqlCommand, _Connect); #region up_MovingsDocumentsSave parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nMovingDocumentID", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; if (_ID.HasValue) { _oParameter.Value = _ID; } else { _oParameter.Value = 0; } _oParameter = _oCommand.Parameters.Add("@nHostID", SqlDbType.Int); _oParameter.Value = _HostID; _oParameter = _oCommand.Parameters.Add("@dDateMoving", SqlDbType.SmallDateTime); _oParameter.Value = _DateMoving; _oParameter = _oCommand.Parameters.Add("@nGoodStateSourceID", SqlDbType.Int); _oParameter.Value = _GoodStateSourceID; _oParameter = _oCommand.Parameters.Add("@nGoodStateTargetID", SqlDbType.Int); _oParameter.Value = _GoodStateTargetID; _oParameter = _oCommand.Parameters.Add("@nOwnerSourceID", SqlDbType.Int); _oParameter.Value = _OwnerSourceID; _oParameter = _oCommand.Parameters.Add("@nPartnerDetailSourceID", SqlDbType.Int); _oParameter.Value = _PartnerDetailSourceID; _oParameter = _oCommand.Parameters.Add("@nOwnerTargetID", SqlDbType.Int); _oParameter.Value = _OwnerTargetID; _oParameter = _oCommand.Parameters.Add("@nPartnerDetailTargetID", SqlDbType.Int); _oParameter.Value = _PartnerDetailTargetID; _oParameter = _oCommand.Parameters.Add("@cBillNumber", SqlDbType.VarChar); _oParameter.Value = _BillNumber; _oParameter = _oCommand.Parameters.Add("@nCurrencyID", SqlDbType.Int); _oParameter.Value = _CurrencyID; _oParameter = _oCommand.Parameters.Add("@cNote", SqlDbType.VarChar); _oParameter.Value = _Note; _oParameter = _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = 0; _oParameter = _oCommand.Parameters.Add("@cErrorText", SqlDbType.VarChar, 200); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = ""; #endregion try { _Connect.Open(); // таблица товаров if (TableMovingsDocumentsGoods != null) { RFMUtilities.DataTableToTempTable(TableMovingsDocumentsGoods, "#MovingsDocumentsGoods", _Connect); } _oCommand.ExecuteScalar(); } catch (Exception ex) { _ErrorNumber = -10; _ErrorStr = "Ошибка при попытке сохранения документарного перемещения...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } if (_ErrorNumber == 0) { _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "Ошибка при сохранении документарного перемещения...\r\n" + _oCommand.Parameters["@cErrorText"].Value; RFMMessage.MessageBoxError(_ErrorStr); } // при создании нового документарного перемещения - получим его код if ((!_ID.HasValue || _ID == 0) && !Convert.IsDBNull(_oCommand.Parameters["@nMovingDocumentID"].Value)) { _ID = (int)_oCommand.Parameters["@nMovingDocumentID"].Value; } } return(_ErrorNumber == 0); }
public bool Save(int?nUserCreateID) { string _sqlCommand = "execute up_TripsReturnsSave @nTripReturnID output, " + "@dDateReturn, " + "@bAutoCreated, " + "@nOwnerID, @nGoodStateID, " + "@cNote, " + "@nTripID, " + "@nUserCreateID, " + "@nError output, @cErrorText output"; SqlCommand _oCommand = new SqlCommand(_sqlCommand, _Connect); #region up_TripsReturnsSave parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nTripReturnID", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; if (_ID.HasValue) { _oParameter.Value = _ID; } else { _oParameter.Value = 0; } _oParameter = _oCommand.Parameters.Add("@dDateReturn", SqlDbType.SmallDateTime); _oParameter.Value = _DateReturn; _oParameter = _oCommand.Parameters.Add("@bAutoCreated", SqlDbType.Bit); _oParameter.Value = _AutoCreated; _oParameter = _oCommand.Parameters.Add("@nOwnerID", SqlDbType.Int); if (_OwnerID.HasValue) { _oParameter.Value = _OwnerID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nGoodStateID", SqlDbType.Int); if (_GoodStateID.HasValue) { _oParameter.Value = _GoodStateID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cNote", SqlDbType.VarChar); if (_Note != null) { _oParameter.Value = _Note; } else { _oParameter.Value = ""; } _oParameter = _oCommand.Parameters.Add("@nTripID", SqlDbType.Int); if (_TripID.HasValue) { _oParameter.Value = _TripID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nUserCreateID", SqlDbType.Int); if (nUserCreateID.HasValue) { _oParameter.Value = nUserCreateID; } else { _oParameter.Value = 0; // DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = 0; _oParameter = _oCommand.Parameters.Add("@cErrorText", SqlDbType.VarChar, 200); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = ""; #endregion try { _Connect.Open(); // таблица товаров if (TableTripsReturnsGoods != null) { RFMUtilities.DataTableToTempTable(TableTripsReturnsGoods, "#TripsReturnsGoods", _Connect); } _oCommand.ExecuteScalar(); } catch (Exception ex) { _ErrorNumber = -10; _ErrorStr = "Ошибка при попытке сохранения возврата...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } if (_ErrorNumber == 0) { _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "Ошибка при сохранении возврата...\r\n" + _oCommand.Parameters["@cErrorText"].Value; RFMMessage.MessageBoxError(_ErrorStr); } // при создании нового возврата - получим его код if ((!_ID.HasValue || _ID == 0) && !Convert.IsDBNull(_oCommand.Parameters["@nTripReturnID"].Value)) { _ID = (int)_oCommand.Parameters["@nTripReturnID"].Value; } } return(_ErrorNumber == 0); }
/* #region Table InventoriesErrors * * /// <summary> * /// заполнение таблицы ошибок ревизии (TableInventoriesErrors) * /// </summary> * public bool FillTableInventoriesErrors() * { * string sqlSelect = "select ID, Name " + * "from InventoriesErrors with (nolock) " + * "order by ID"; * SqlCommand _oCommand = new SqlCommand(sqlSelect, _Connect); * * try * { * _TableInventoriesErrors = FillReadings(new SqlDataAdapter(_oCommand), _TableInventoriesErrors, "TableInventoriesErrors"); * * // primarykey * DataColumn[] pk = new DataColumn[1]; * pk[0] = _TableInventoriesErrors.Columns["ID"]; * _TableInventoriesErrors.PrimaryKey = pk; * } * catch (Exception ex) * { * _ErrorNumber = -7; * _ErrorStr = "ќшибка при получении списка ошибок ревизии...\r\n" + ex.Message; * RFMMessage.MessageBoxError(_ErrorStr); * } * return (_ErrorNumber == 0); * } * #endregion Table InventoriesErrors */ #endregion Tables #region Save /// <summary> /// сохранение ревизии со списком ¤чеек /// </summary> public bool SaveData(int nInventoryID, DataTable tTable) { if (_MainTable.Rows.Count == 0 || _MainTable.Rows[0] == null) { _ErrorNumber = -10; _ErrorStr = "Ќет данных дл¤ сохранени¤ ревизии..."; RFMMessage.MessageBoxError(_ErrorStr); return(false); } // с использованием временной таблицы ¤чеек // разрешаем сохранить и без ¤чеек, только шапку /* * if (tTable.Rows.Count == 0) * { * _ErrorNumber = -11; * _ErrorStr = "Ќе выбраны ¤чейки дл¤ сохранени¤ ревизии..."; * RFMMessage.MessageBoxError(_ErrorStr); * return (false); * } */ // дл¤ шапки DataRow r = _MainTable.Rows[0]; string _sqlCommand = "execute up_InventoriesSave @nInventoryID output, " + "@dDateInventory, @cNote, " + "@nError output, @cErrorText output"; SqlCommand _oCommand = new SqlCommand(_sqlCommand, _Connect); #region up_InventoriesSave parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nInventoryID", SqlDbType.Int); _oParameter.Value = nInventoryID; _oParameter.Direction = ParameterDirection.InputOutput; _oParameter = _oCommand.Parameters.Add("@dDateInventory", SqlDbType.DateTime); _oParameter.Value = DateTime.Parse(r["DateInventory"].ToString()); _oParameter = _oCommand.Parameters.Add("@cNote", SqlDbType.VarChar); _oParameter.Value = r["Note"].ToString(); _oParameter = _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = 0; _oParameter = _oCommand.Parameters.Add("@cErrorText", SqlDbType.VarChar, 200); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = ""; #endregion try { _Connect.Open(); RFMUtilities.DataTableToTempTable(tTable, "#InventoriesCells", _Connect); _oCommand.ExecuteScalar(); } catch (Exception ex) { _ErrorNumber = -12; _ErrorStr = "ќшибка при сохранении ревизии...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } if (_ErrorNumber == 0) { _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "ќшибка при сохранении ревизии...\r\n" + _oCommand.Parameters["@cErrorText"].Value; RFMMessage.MessageBoxError(_ErrorStr); } // при создании новой ревизии - получим ее код if (nInventoryID == 0 && _oCommand.Parameters["@nInventoryID"].Value != DBNull.Value) { _ID = (int)_oCommand.Parameters["@nInventoryID"].Value; } } return(_ErrorNumber == 0); }
public bool Save(int?nUserCreateID) { string _sqlCommand = "execute up_ActsSave @nActID output, " + "@nHostID, " + "@dDateAct, " + "@nOwnerID, @nGoodStateID, " + "@nInputID, @nOutputID, " + "@cNote, " + "@nUserCreateID, " + "@nError output, @cErrorText output"; SqlCommand _oCommand = new SqlCommand(_sqlCommand, _Connect); #region up_ActsSave parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nActID", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; if (_ID.HasValue) { _oParameter.Value = _ID; } else { _oParameter.Value = 0; } _oParameter = _oCommand.Parameters.Add("@nHostID", SqlDbType.Int); _oParameter.Value = _HostID; _oParameter = _oCommand.Parameters.Add("@dDateAct", SqlDbType.SmallDateTime); _oParameter.Value = _DateAct; _oParameter = _oCommand.Parameters.Add("@nOwnerID", SqlDbType.Int); if (_OwnerID.HasValue) { _oParameter.Value = _OwnerID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nGoodStateID", SqlDbType.Int); if (_GoodStateID.HasValue) { _oParameter.Value = _GoodStateID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nInputID", SqlDbType.Int); if (_InputID.HasValue) { _oParameter.Value = _InputID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nOutputID", SqlDbType.Int); if (_OutputID.HasValue) { _oParameter.Value = _OutputID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cNote", SqlDbType.VarChar); if (_Note != null) { _oParameter.Value = _Note; } else { _oParameter.Value = ""; } _oParameter = _oCommand.Parameters.Add("@nUserCreateID", SqlDbType.Int); if (nUserCreateID.HasValue) { _oParameter.Value = nUserCreateID; } else { _oParameter.Value = 0; // DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = 0; _oParameter = _oCommand.Parameters.Add("@cErrorText", SqlDbType.VarChar, 200); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = ""; #endregion // Проверка таблицы расшифровок if (TableActsGoods == null) { _ErrorNumber = -12; _ErrorStr = "Ошибка при попытке сохранения акта...\r\n" + "Нулевая таблица расшифровок акта"; RFMMessage.MessageBoxError(_ErrorStr); return(false); } if (TableActsGoods.Rows.Count == 0) { _ErrorNumber = -11; _ErrorStr = "Ошибка при попытке сохранения акта...\r\n" + "Пустая таблица расшифровок акта"; RFMMessage.MessageBoxError(_ErrorStr); return(false); } try { _Connect.Open(); // таблица товаров if (TableActsGoods != null) { RFMUtilities.DataTableToTempTable(TableActsGoods, "#ActsGoods", _Connect); } _oCommand.ExecuteScalar(); } catch (Exception ex) { _ErrorNumber = -10; _ErrorStr = "Ошибка при попытке сохранения акта...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } if (_ErrorNumber == 0) { _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "Ошибка при сохранении акта...\r\n" + _oCommand.Parameters["@cErrorText"].Value; RFMMessage.MessageBoxError(_ErrorStr); } // при создании нового акта - получим его код if ((!_ID.HasValue || _ID == 0) && !Convert.IsDBNull(_oCommand.Parameters["@nActID"].Value)) { _ID = (int)_oCommand.Parameters["@nActID"].Value; } } return(_ErrorNumber == 0); }
public bool Save(DataTable tableFillingsInWayBill, DataTable tableTripsInWayBill) { // присоединенные таблицы: заправки и рейсы try { _Connect.Open(); } catch (Exception ex) { _ErrorNumber = -1; _ErrorStr = "Ошибка при соединении с сервером...\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); return(false); } if (tableFillingsInWayBill != null) { RFMUtilities.DataTableToTempTable(tableFillingsInWayBill, "#FillingsInWayBill", _Connect); } if (tableTripsInWayBill != null) { RFMUtilities.DataTableToTempTable(tableTripsInWayBill, "#TripsInWayBill", _Connect); } string _sqlCommand = "execute up_WayBillsSave @nWayBillID output, " + "@cBillNumber, " + "@dDateWayBeg, @dDateWayEnd, " + "@nCarID, @nDriverEmployeeID, " + "@cDriverOther, @cReason, " + "@nSpeedometerDataBeg, @nSpeedometerDataEnd, " + "@nFuelDataBeg, @nFuelDataEnd, " + "@nFuelFreezerDataBeg, @nFuelFreezerDataEnd, " + "@nFuelQntFilled, " + "@nFreezerDurationMinutes, " + "@cNote, " + "@nUserCreateID, " + "@nError output, @cErrorText output"; SqlCommand _oCommand = new SqlCommand(_sqlCommand, _Connect); #region up_WayBillsSave parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nWayBillID", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; if (_ID.HasValue) { _oParameter.Value = _ID; } else { _oParameter.Value = 0; } _oParameter = _oCommand.Parameters.Add("@cBillNumber", SqlDbType.VarChar); if (_BillNumber != null) { _oParameter.Value = _BillNumber; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nCarID", SqlDbType.Int); _oParameter.Value = _CarID; _oParameter = _oCommand.Parameters.Add("@dDateWayBeg", SqlDbType.SmallDateTime); _oParameter.Value = _DateWayBeg; _oParameter = _oCommand.Parameters.Add("@dDateWayEnd", SqlDbType.SmallDateTime); _oParameter.Value = _DateWayEnd; _oParameter = _oCommand.Parameters.Add("@nDriverEmployeeID", SqlDbType.Int); _oParameter.Value = _DriverEmployeeID; _oParameter = _oCommand.Parameters.Add("@cDriverOther", SqlDbType.VarChar); _oParameter.Value = _DriverOther; _oParameter = _oCommand.Parameters.Add("@cReason", SqlDbType.VarChar); _oParameter.Value = _Reason; _oParameter = _oCommand.Parameters.Add("@nSpeedometerDataBeg", SqlDbType.Int); if (_SpeedometerDataBeg.HasValue) { _oParameter.Value = _SpeedometerDataBeg; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nSpeedometerDataEnd", SqlDbType.Int); if (_SpeedometerDataEnd.HasValue) { _oParameter.Value = _SpeedometerDataEnd; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nFuelDataBeg", SqlDbType.Decimal); _oParameter.Precision = 6; _oParameter.Scale = 1; if (_FuelDataBeg.HasValue) { _oParameter.Value = _FuelDataBeg; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nFuelDataEnd", SqlDbType.Decimal); _oParameter.Precision = 6; _oParameter.Scale = 1; if (_FuelDataEnd.HasValue) { _oParameter.Value = _FuelDataEnd; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nFuelFreezerDataBeg", SqlDbType.Decimal); _oParameter.Precision = 6; _oParameter.Scale = 1; if (_FuelFreezerDataBeg.HasValue) { _oParameter.Value = _FuelFreezerDataBeg; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nFuelFreezerDataEnd", SqlDbType.Decimal); _oParameter.Precision = 6; _oParameter.Scale = 1; if (_FuelFreezerDataEnd.HasValue) { _oParameter.Value = _FuelFreezerDataEnd; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nFuelQntFilled", SqlDbType.Decimal); _oParameter.Precision = 6; _oParameter.Scale = 1; if (_FuelQntFilled.HasValue) { _oParameter.Value = _FuelQntFilled; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nFreezerDurationMinutes", SqlDbType.Int); if (_FreezerDurationMinutes.HasValue) { _oParameter.Value = _FreezerDurationMinutes; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cNote", SqlDbType.VarChar); _oParameter.Value = _Note; _oParameter = _oCommand.Parameters.Add("@nUserCreateID", SqlDbType.Int); if (_UserCreateID.HasValue) { _oParameter.Value = _UserCreateID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = 0; _oParameter = _oCommand.Parameters.Add("@cErrorText", SqlDbType.VarChar, 200); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = ""; #endregion try { _oCommand.ExecuteScalar(); } catch (Exception ex) { _ErrorNumber = -10; _ErrorStr = "Ошибка при сохранении путевого листа...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } if (_ErrorNumber == 0) { _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "Ошибка при сохранении путевого листа...\r\n" + _oCommand.Parameters["@cErrorText"].Value; RFMMessage.MessageBoxError(_ErrorStr); } // при создании нового пут.листа - получим его код if ((!_ID.HasValue || _ID == 0) && !Convert.IsDBNull(_oCommand.Parameters["@nWayBillID"].Value)) { _ID = (int)_oCommand.Parameters["@nWayBillID"].Value; } } return(_ErrorNumber == 0); }
/// <summary> /// сохранение данных пользователя /// </summary> public bool SaveOne() { if (_ID == null) { _ErrorNumber = -20; _ErrorStr = "Не заданы параметры пользователя..."; RFMMessage.MessageBoxError(_ErrorStr); return(false); } try { _Connect.Open(); } catch (Exception ex) { _ErrorNumber = -1; _ErrorStr = "Ошибка при соединении с сервером...\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); return(false); } RFMUtilities.DataTableToTempTable(TableRolesForUser, "#RolesForUser", _Connect); string _sqlCommand = "execute up_UsersSave @nUserID output, " + "@cUserName, " + "@cPassword, " + "@cAlias, " + "@cLocPath, @cNetPath, " + "@bIsAdmin, " + "@nEmployeeID, " + "@bActual, " + "@nHostID, " + "@nError output, @cErrorText output"; SqlCommand _oCommand = new SqlCommand(_sqlCommand, _Connect); #region up_UsersSave parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nUserID", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = _ID; _oParameter = _oCommand.Parameters.Add("@cUserName", SqlDbType.VarChar); _oParameter.Value = _Name; _oParameter = _oCommand.Parameters.Add("@cPassword", SqlDbType.VarChar); _oParameter.Value = _Password; _oParameter = _oCommand.Parameters.Add("@cAlias", SqlDbType.VarChar); if (_Alias != null) { _oParameter.Value = _Alias; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cLocPath", SqlDbType.VarChar); _oParameter.Value = _LocPath; _oParameter = _oCommand.Parameters.Add("@cNetPath", SqlDbType.VarChar); _oParameter.Value = _NetPath; _oParameter = _oCommand.Parameters.Add("@bIsAdmin", SqlDbType.Bit); _oParameter.Value = _IsAdmin; _oParameter = _oCommand.Parameters.Add("@nEmployeeID", SqlDbType.Int); if (_EmployeeID.HasValue) { _oParameter.Value = _EmployeeID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@bActual", SqlDbType.Bit); _oParameter.Value = _Actual; _oParameter = _oCommand.Parameters.Add("@nHostID", SqlDbType.Int); if (_HostID.HasValue) { _oParameter.Value = _HostID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = 0; _oParameter = _oCommand.Parameters.Add("@cErrorText", SqlDbType.VarChar, 200); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = ""; #endregion try { _oCommand.ExecuteScalar(); } catch (Exception ex) { _ErrorNumber = -10; _ErrorStr = "Ошибка при сохранении данных пользователя...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } if (_ErrorNumber == 0) { _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "Ошибка при сохранении данных пользователя...\r\n" + _oCommand.Parameters["@cErrorText"].Value; RFMMessage.MessageBoxError(_ErrorStr); } // при создании нового пользователя - получим его код if (_ID == 0 && !Convert.IsDBNull(_oCommand.Parameters["@nUserID"].Value)) { _ID = (int)_oCommand.Parameters["@nUserID"].Value; } } return(_ErrorNumber == 0); }
/// <summary> /// подтверждение перемещения /// </summary> public bool ConfirmData(int nMovingID, int nUserID) { string _sqlCommand = "execute up_MovingsConfirm @nMovingID, @nUserID, " + "@nError output, @cErrorStr output"; SqlCommand _oCommand = new SqlCommand(_sqlCommand, _Connect); _oCommand.CommandTimeout = 0; #region up_MovingsConfirm parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nMovingID", SqlDbType.Int); _oParameter.Value = nMovingID; _oParameter = _oCommand.Parameters.Add("@nUserID", SqlDbType.Int); _oParameter.Value = nUserID; _oParameter = _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = 0; _oParameter = _oCommand.Parameters.Add("@cErrorStr", SqlDbType.VarChar, 200); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = ""; #endregion try { _Connect.Open(); RFMUtilities.DataTableToTempTable(TableMovingsGoods, "#MovingsGoods", _Connect); _oCommand.ExecuteScalar(); } catch (Exception ex) { // здесь возвращаются все ошибки, возникшие в ходе подтверждения. это нормально! /* * _ErrorNumber = -11; * _ErrorStr = "Ошибка при подтверждении перемещения...\r\n" + ex.Message; * RFMMessage.MessageBoxError(_ErrorStr); */ RFMMessage.MessageBoxError(ex.Message); } finally { _Connect.Close(); } if (_ErrorNumber == 0) { _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "Ошибка при подтверждении перемещения...\r\n" + _oCommand.Parameters["@cErrorStr"].Value; if (_ErrorNumber > 0) { RFMMessage.MessageBoxError(_ErrorStr); } } } return(_ErrorNumber == 0); }
/// <summary> /// сохранение внутр.перемещения /// </summary> public bool SaveData(int nMovingID, int?nCellTargetID, int nUserID) { if (_MainTable.Rows.Count == 0 || _MainTable.Rows[0] == null) { _ErrorNumber = -20; _ErrorStr = "Нет данных для сохранения внутр.перемещения..."; RFMMessage.MessageBoxError(_ErrorStr); return(false); } DataRow r = _MainTable.Rows[0]; String _sqlCommand = "execute up_MovingsSave @nMovingID output, " + "@dDateMoving, " + "@nMovingTypeID, " + "@nOwnerID, @nGoodStateID, @nGoodStateNewID, " + "@nCellSourceID, " + "@nCellTargetID, " + "@cNote, " + "@nUserID, " + "@nError output, @cErrorText output"; SqlCommand _oCommand = new SqlCommand(_sqlCommand, _Connect); #region up_MovingsSave parameters SqlParameter _oParameter = _oCommand.Parameters.Add("@nMovingID", SqlDbType.Int); _oParameter.Value = nMovingID; _oParameter.Direction = ParameterDirection.InputOutput; _oParameter = _oCommand.Parameters.Add("@dDateMoving", SqlDbType.DateTime); _oParameter.Value = DateTime.Parse(r["DateMoving"].ToString()); _oParameter = _oCommand.Parameters.Add("@nMovingTypeID", SqlDbType.Int); _oParameter.Value = Convert.ToInt32(r["MovingTypeID"]); _oParameter = _oCommand.Parameters.Add("@nOwnerID", SqlDbType.Int); if (!Convert.IsDBNull(r["OwnerID"])) { _oParameter.Value = Convert.ToInt32(r["OwnerID"]); } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@nGoodStateID", SqlDbType.Int); _oParameter.Value = Convert.ToInt32(r["GoodStateID"]); _oParameter = _oCommand.Parameters.Add("@nGoodStateNewID", SqlDbType.Int); _oParameter.Value = Convert.ToInt32(r["GoodStateNewID"]); _oParameter = _oCommand.Parameters.Add("@nCellSourceID", SqlDbType.Int); _oParameter.Value = Convert.ToInt32(r["CellSourceID"]); _oParameter = _oCommand.Parameters.Add("@nCellTargetID", SqlDbType.Int); if (nCellTargetID.HasValue) { _oParameter.Value = nCellTargetID; } else { _oParameter.Value = DBNull.Value; } _oParameter = _oCommand.Parameters.Add("@cNote", SqlDbType.VarChar); _oParameter.Value = r["Note"].ToString(); _oParameter = _oCommand.Parameters.Add("@nUserID", SqlDbType.Int); _oParameter.Value = nUserID; _oParameter = _oCommand.Parameters.Add("@nError", SqlDbType.Int); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = 0; _oParameter = _oCommand.Parameters.Add("@cErrorText", SqlDbType.VarChar, 200); _oParameter.Direction = ParameterDirection.InputOutput; _oParameter.Value = ""; #endregion try { _Connect.Open(); // с использованием временной таблицы перемещений MovingsGoods RFMUtilities.DataTableToTempTable(TableMovingsGoods, "#MovingsGoods", _Connect); _oCommand.ExecuteScalar(); } catch (Exception ex) { _ErrorNumber = -10; _ErrorStr = "Ошибка при сохранении внутр.перемещения...\r\n" + ex.Message; RFMMessage.MessageBoxError(_ErrorStr); } finally { _Connect.Close(); } if (_ErrorNumber == 0) { _ErrorNumber = (int)_oCommand.Parameters["@nError"].Value; if (_ErrorNumber != 0) { _ErrorStr = "Ошибка при сохранении внутр.перемещения...\r\n" + _oCommand.Parameters["@cErrorText"].Value; RFMMessage.MessageBoxError(_ErrorStr); } // при создании нового внутр.перемещения - получим его код if (nMovingID == 0 && _oCommand.Parameters["@nMovingID"].Value != DBNull.Value) { _ID = (int)_oCommand.Parameters["@nMovingID"].Value; } } return(_ErrorNumber == 0); }