예제 #1
0
		protected void btn_AttachmentUpload_Click(object sender, EventArgs e) {
			if (fup_Attachment.HasFile) {
				#region bool _isImage = ...;
				bool _isImage;
				switch (fup_Attachment.PostedFile.ContentType.ToLower()) {
					case "image/png":
					case "image/jpeg":
					case "image/gif":
						//case "image/tiff":
						//case "image/bmp":
						_isImage = true;
						break;
					default:
						_isImage = false;
						break;
				}
				#endregion

				SO_NWS_Attachment _attachment = new SO_NWS_Attachment();
				int[] _errors;
				string _guid;
				long _idattachment = BusinessInstances.NWS_Attachment.InstanceClient.insObject(
					utils.User.SessionGuid,
					utils.ClientIPAddress,
					new SO_NWS_Attachment(
						-1L,
						IDContent,
						"", // Guid.NewGuid().ToString("N"),
						-1L, // DateTime.Now.Ticks,
						_isImage,
						-1L,
						-1L,
						fup_Attachment.FileName
					),
					null,
					null,
					true,
					out _guid,
					out _errors
				);
				if (!Master__base.Error_add(_errors)) {
					#region string _uploadPath = ...;
					string _uploadPath
						= System.IO.Path.Combine(
							System.IO.Path.Combine(
								System.IO.Path.Combine(
									SERVER_MAPPATH_PUBLIC_UPLOADS,
									"news"
								),
								IDContent.ToString()
							),
							string.Format(
								"{0}-{1}",
								_idattachment,
								_guid
							)
						);
					#endregion
					#region System.IO.Directory.CreateDirectory(_uploadPath);
					if (
						!System.IO.Directory.Exists(
							_uploadPath
						)
					) {
						System.IO.Directory.CreateDirectory(
							_uploadPath
						);
					}
					#endregion
#if DEBUG
					string _filePath;
#endif
					fup_Attachment.SaveAs(
#if DEBUG
						_filePath = 
#endif
						System.IO.Path.Combine(
							_uploadPath,
							fup_Attachment.FileName
						)
					);
#if DEBUG
					Master__base.Error_add(
						false, 
						_filePath
					);
#endif


					Bind();
				}
			} else {
				Master__base.Error_add(true, "no file!");
			}
		} 
		public static DataTable getDataTable(
			SO_NWS_Attachment[] serializableobjects_in
		) {
			DataTable _output = new DataTable();
			DataRow _dr;

			DataColumn _dc_idattachment = new DataColumn("IDAttachment", typeof(long));
			_output.Columns.Add(_dc_idattachment);
			DataColumn _dc_ifcontent = new DataColumn("IFContent", typeof(long));
			_output.Columns.Add(_dc_ifcontent);
			DataColumn _dc_guid = new DataColumn("GUID", typeof(string));
			_output.Columns.Add(_dc_guid);
			DataColumn _dc_ordernum = new DataColumn("OrderNum", typeof(long));
			_output.Columns.Add(_dc_ordernum);
			DataColumn _dc_isimage = new DataColumn("isImage", typeof(bool));
			_output.Columns.Add(_dc_isimage);
			DataColumn _dc_tx_name = new DataColumn("TX_Name", typeof(long));
			_output.Columns.Add(_dc_tx_name);
			DataColumn _dc_tx_description = new DataColumn("TX_Description", typeof(long));
			_output.Columns.Add(_dc_tx_description);
			DataColumn _dc_filename = new DataColumn("FileName", typeof(string));
			_output.Columns.Add(_dc_filename);

			foreach (SO_NWS_Attachment _serializableobject in serializableobjects_in) {
				_dr = _output.NewRow();

				_dr[_dc_idattachment] = _serializableobject.IDAttachment;
				_dr[_dc_ifcontent] = _serializableobject.IFContent;
				_dr[_dc_guid] = _serializableobject.GUID;
				_dr[_dc_ordernum] = _serializableobject.OrderNum;
				_dr[_dc_isimage] = _serializableobject.isImage;
				_dr[_dc_tx_name] = _serializableobject.TX_Name;
				_dr[_dc_tx_description] = _serializableobject.TX_Description;
				_dr[_dc_filename] = _serializableobject.FileName;

				_output.Rows.Add(_dr);
			}

			return _output;
		}
		public static void updObject(
			string sessionGuid_in,
			string ip_forLogPurposes_in, 

			SO_NWS_Attachment attachment_in,
			SO_DIC__TextLanguage[] tx_Name_in,
			SO_DIC__TextLanguage[] tx_Description_in,

			out int[] errors_out
		) {
			Guid _sessionguid;
			Sessionuser _sessionuser;

			#region check...
			List<int> _errorlist;
			if (!check(
				sessionGuid_in,
				ip_forLogPurposes_in,

				ref attachment_in,

				out _sessionguid,
				out _sessionuser,
				out _errorlist
			)) {
				errors_out = _errorlist.ToArray();
				return;
			}
			#endregion

			#region check existence . . .
			SO_NWS_Attachment _attachment;
			if (
				attachment_in.IDAttachment <= 0
				||
				(
					(_attachment = DO_NWS_Attachment.getObject(
						attachment_in.IDAttachment
					)) == null
				)
			) {
				_errorlist.Add(ErrorType.data__not_found);
				errors_out = _errorlist.ToArray();
				return;
			}
			#endregion

			// ToDos: here! should mark Content to be re-Approved!
			// ToDos: here! or not allow if no approve permition

			Exception _exception = null;
			#region DBConnection _con = DO__utils.DBConnection_createInstance(...);
			DBConnection _con = DO__utils.DBConnection_createInstance(
				DO__utils.DBServerType,
				DO__utils.DBConnectionstring,
				DO__utils.DBLogfile
			); 
			#endregion
			try {
				_con.Open();
				_con.Transaction.Begin();

				#region TX_Name . . .
				if ((tx_Name_in != null) && (tx_Name_in.Length != 0)) {
					if (_attachment.TX_Name_isNull) {
						_attachment.TX_Name = SBO_DIC_Dic.insObject(
							_con,
							_sessionuser.IDApplication,
							OGen.NTier.Kick.lib.businesslayer.shared.TableFieldSource.NWS_ATTACHMENT__TX_NAME,
							tx_Name_in
						);
					} else {
						SBO_DIC_Dic.updObject(
							_con,
							_attachment.TX_Name,
							tx_Name_in
						);
					}
				}
				#endregion
				#region TX_Description . . .
				if ((tx_Description_in != null) && (tx_Description_in.Length != 0)) {
					if (_attachment.TX_Description_isNull) {
						_attachment.TX_Description = SBO_DIC_Dic.insObject(
							_con,
							_sessionuser.IDApplication,
							OGen.NTier.Kick.lib.businesslayer.shared.TableFieldSource.NWS_ATTACHMENT__TX_DESCRIPTION,
							tx_Description_in
						);
					} else {
						SBO_DIC_Dic.updObject(
							_con,
							_attachment.TX_Description,
							tx_Description_in
						);
					}
				}
				#endregion

				//_attachment.??? = attachment_in.???;
				DO_NWS_Attachment.updObject(
					_attachment,
					true,

					_con
				);
				_errorlist.Add(ErrorType.news__attachment__successfully_updated__WARNING);

				#region _con.Transaction.Commit();
				if (
					_con.isOpen
					&&
					_con.Transaction.inTransaction
				) {
					_con.Transaction.Commit();
				}
				#endregion
			} catch (Exception _ex) {
				#region _con.Transaction.Rollback();
				if (
					_con.isOpen
					&&
					_con.Transaction.inTransaction
				) {
					_con.Transaction.Rollback();
				}
				#endregion

				_exception = _ex;
			} finally {
				#region _con.Transaction.Terminate(); _con.Close(); _con.Dispose();
				if (_con.isOpen) {
					if (_con.Transaction.inTransaction) {
						_con.Transaction.Terminate();
					}
					_con.Close();
				}

				_con.Dispose();
				#endregion
			}
			if (_exception != null) {
				#region SBO_LOG_Log.Log(ErrorType.data);
				OGen.NTier.Kick.lib.businesslayer.SBO_LOG_Log.log(
					_sessionuser,
					LogType.error,
					ErrorType.data,
					-1L, 
					_sessionuser.IDApplication,
					"{0}",
					new string[] {
			            _exception.Message
			        }
				);
				#endregion
				_errorlist.Add(ErrorType.data);
			}

			errors_out = _errorlist.ToArray();
		}
		private static bool check(
			string sessionGuid_in,
			string ip_forLogPurposes_in, 

			ref SO_NWS_Attachment attachment_ref,

			out Guid sessionGuid_out,
			out Sessionuser sessionUser_out,
			out List<int> errorlist_out
		) {
			#region check...
			if (!SBO_CRD_Authentication.isSessionGuid_valid(
				sessionGuid_in,
				ip_forLogPurposes_in,
				out sessionGuid_out,
				out sessionUser_out,
				out errorlist_out
			)) {
				return false;
			}
			#endregion
			#region check Permitions . . .
			if (
				!sessionUser_out.hasPermition(
					false, 
					PermitionType.News__insert,
					PermitionType.News__update_Approved,
					PermitionType.News__update_Mine_notApproved
				)
			) {
				errorlist_out.Add(ErrorType.news__lack_of_permitions_to_write);
				return false;
			}
			#endregion

			#region //check Attachment ... (nothing to check!)
			#endregion

			return true;
		} 
		/// <summary>
		/// Selects NWS_Attachment values from Database and assigns them to the appropriate DO_NWS_Attachment property.
		/// </summary>
		/// <param name="IDAttachment_in">IDAttachment</param>
		/// <param name="dbConnection_in">Database connection, making the use of Database Transactions possible on a sequence of operations across the same or multiple DataObjects</param>
		/// <returns>null if NWS_Attachment doesn't exists at Database</returns>
		public static SO_NWS_Attachment getObject(
			long IDAttachment_in, 
			DBConnection dbConnection_in
		) {
			SO_NWS_Attachment _output = null;

			DBConnection _connection = (dbConnection_in == null)
				? DO__utils.DBConnection_createInstance(
					DO__utils.DBServerType,
					DO__utils.DBConnectionstring,
					DO__utils.DBLogfile
				) 
				: dbConnection_in;
			IDbDataParameter[] _dataparameters = new IDbDataParameter[] {
				_connection.newDBDataParameter("IDAttachment_", DbType.Int64, ParameterDirection.InputOutput, IDAttachment_in, 0), 
				_connection.newDBDataParameter("IFContent_", DbType.Int64, ParameterDirection.Output, null, 0), 
				_connection.newDBDataParameter("GUID_", DbType.AnsiString, ParameterDirection.Output, null, 50), 
				_connection.newDBDataParameter("OrderNum_", DbType.Int64, ParameterDirection.Output, null, 0), 
				_connection.newDBDataParameter("isImage_", DbType.Boolean, ParameterDirection.Output, null, 0), 
				_connection.newDBDataParameter("TX_Name_", DbType.Int64, ParameterDirection.Output, null, 0), 
				_connection.newDBDataParameter("TX_Description_", DbType.Int64, ParameterDirection.Output, null, 0), 
				_connection.newDBDataParameter("FileName_", DbType.AnsiString, ParameterDirection.Output, null, 255)
			};
			_connection.Execute_SQLFunction("sp0_NWS_Attachment_getObject", _dataparameters);
			if (dbConnection_in == null) { _connection.Dispose(); }

			if (_dataparameters[0].Value != DBNull.Value) {
				_output = new SO_NWS_Attachment();

				if (_dataparameters[0].Value == System.DBNull.Value) {
					_output.IDAttachment = 0L;
				} else {
					_output.IDAttachment = (long)_dataparameters[0].Value;
				}
				if (_dataparameters[1].Value == System.DBNull.Value) {
					_output.IFContent = 0L;
				} else {
					_output.IFContent = (long)_dataparameters[1].Value;
				}
				if (_dataparameters[2].Value == System.DBNull.Value) {
					_output.GUID = string.Empty;
				} else {
					_output.GUID = (string)_dataparameters[2].Value;
				}
				if (_dataparameters[3].Value == System.DBNull.Value) {
					_output.OrderNum_isNull = true;
				} else {
					_output.OrderNum = (long)_dataparameters[3].Value;
				}
				if (_dataparameters[4].Value == System.DBNull.Value) {
					_output.isImage = false;
				} else {
					_output.isImage = (bool)_dataparameters[4].Value;
				}
				if (_dataparameters[5].Value == System.DBNull.Value) {
					_output.TX_Name_isNull = true;
				} else {
					_output.TX_Name = (long)_dataparameters[5].Value;
				}
				if (_dataparameters[6].Value == System.DBNull.Value) {
					_output.TX_Description_isNull = true;
				} else {
					_output.TX_Description = (long)_dataparameters[6].Value;
				}
				if (_dataparameters[7].Value == System.DBNull.Value) {
					_output.FileName = string.Empty;
				} else {
					_output.FileName = (string)_dataparameters[7].Value;
				}

				_output.haschanges_ = false;
				return _output;
			}

			return null;
		}
		public static long insObject(
			string sessionGuid_in,
			string ip_forLogPurposes_in, 

			SO_NWS_Attachment attachment_in,
			SO_DIC__TextLanguage[] tx_Name_in,
			SO_DIC__TextLanguage[] tx_Description_in,

			bool selectIdentity_in, 

			out string guid_out, 

			out int[] errors_out
		) {
			guid_out = "";
			long _output = -1L;

			Guid _sessionguid;
			Sessionuser _sessionuser;

			#region check...
			List<int> _errorlist;
			if (!check(
				sessionGuid_in,
				ip_forLogPurposes_in, 

				ref attachment_in, 

				out _sessionguid,
				out _sessionuser,
				out _errorlist
			)) {
				errors_out = _errorlist.ToArray();
				return _output;
			} 
			#endregion
			#region check Existence . . .
			if (
				(attachment_in.IFContent <= 0)
				||
				!DO_NWS_Content.isObject(attachment_in.IFContent)
			) {
				_errorlist.Add(ErrorType.data__not_found);
				errors_out = _errorlist.ToArray();
				return _output;
			}
			#endregion

			// ToDos: here! should mark Content to be re-Approved!
			// ToDos: here! or not allow if no approve permition

			attachment_in.GUID
				= guid_out
				= Guid.NewGuid().ToString("N");
			attachment_in.OrderNum = DateTime.Now.Ticks;

			Exception _exception = null;
			#region DBConnection _con = DO__utils.DBConnection_createInstance(...);
			DBConnection _con = DO__utils.DBConnection_createInstance(
				DO__utils.DBServerType,
				DO__utils.DBConnectionstring,
				DO__utils.DBLogfile
			); 
			#endregion
			try {
				//if (
				//    (
				//        (tx_Name_in != null) 
				//        && 
				//        (tx_Name_in.Length != 0)) 
				//    ||
				//    (
				//        (tx_Description_in != null) 
				//        && 
				//        (tx_Description_in.Length != 0)
				//    )
				//) {
				_con.Open();
				_con.Transaction.Begin();
				//}

				#region content_in.TX_Name = ...;
				if (
					(tx_Name_in == null)
					||
					(tx_Name_in.Length == 0)
				) {
					attachment_in.TX_Name_isNull = true;
				} else {
					attachment_in.TX_Name = SBO_DIC_Dic.insObject(
						_con,

						_sessionuser.IDApplication,
						OGen.NTier.Kick.lib.businesslayer.shared.TableFieldSource.NWS_ATTACHMENT__TX_NAME,

						tx_Name_in
					);
				}
				#endregion
				#region content_in.TX_Description = ...;
				if (
					(tx_Description_in == null)
					||
					(tx_Description_in.Length == 0)
				) {
					attachment_in.TX_Description_isNull = true;
				} else {
					attachment_in.TX_Description = SBO_DIC_Dic.insObject(
						_con,

						_sessionuser.IDApplication,
						OGen.NTier.Kick.lib.businesslayer.shared.TableFieldSource.NWS_ATTACHMENT__TX_DESCRIPTION,

						tx_Description_in
					);
				}
				#endregion

				_output = DO_NWS_Attachment.insObject(
					attachment_in,
					selectIdentity_in,

					_con
				);
				_errorlist.Add(ErrorType.news__attachment__successfully_created__WARNING);

				#region _con.Transaction.Commit();
				if (
					_con.isOpen
					&&
					_con.Transaction.inTransaction
				) {
					_con.Transaction.Commit();
				}
				#endregion
			} catch (Exception _ex) {
				#region _con.Transaction.Rollback();
				if (
					_con.isOpen
					&&
					_con.Transaction.inTransaction
				) {
					_con.Transaction.Rollback();
				}
				#endregion

				_exception = _ex;
			} finally {
				#region _con.Transaction.Terminate(); _con.Close(); _con.Dispose();
				if (_con.isOpen) {
					if (_con.Transaction.inTransaction) {
						_con.Transaction.Terminate();
					}
					_con.Close();
				}

				_con.Dispose();
				#endregion
			}
			if (_exception != null) {
				#region SBO_LOG_Log.Log(ErrorType.data);
				OGen.NTier.Kick.lib.businesslayer.SBO_LOG_Log.log(
					_sessionuser,
					LogType.error,
					ErrorType.data,
					-1L, 
					_sessionuser.IDApplication,
					"{0}",
					new string[] {
			            _exception.Message
			        }
				);
				#endregion
				_errorlist.Add(ErrorType.data);
			}

			errors_out = _errorlist.ToArray();
			return _output;
		} 
		private static SO_NWS_Attachment[] getRecord(
			DataTable dataTable_in
		) {
			DataColumn _dc_idattachment = null;
			DataColumn _dc_ifcontent = null;
			DataColumn _dc_guid = null;
			DataColumn _dc_ordernum = null;
			DataColumn _dc_isimage = null;
			DataColumn _dc_tx_name = null;
			DataColumn _dc_tx_description = null;
			DataColumn _dc_filename = null;

			SO_NWS_Attachment[] _output 
				= new SO_NWS_Attachment[dataTable_in.Rows.Count];
			for (int r = 0; r < dataTable_in.Rows.Count; r++) {
				if (r == 0) {
					_dc_idattachment = dataTable_in.Columns["IDAttachment"];
					_dc_ifcontent = dataTable_in.Columns["IFContent"];
					_dc_guid = dataTable_in.Columns["GUID"];
					_dc_ordernum = dataTable_in.Columns["OrderNum"];
					_dc_isimage = dataTable_in.Columns["isImage"];
					_dc_tx_name = dataTable_in.Columns["TX_Name"];
					_dc_tx_description = dataTable_in.Columns["TX_Description"];
					_dc_filename = dataTable_in.Columns["FileName"];
				}

				_output[r] = new SO_NWS_Attachment();
				if (dataTable_in.Rows[r][_dc_idattachment] == System.DBNull.Value) {
					_output[r].idattachment_ = 0L;
				} else {
					_output[r].idattachment_ = (long)dataTable_in.Rows[r][_dc_idattachment];
				}
				if (dataTable_in.Rows[r][_dc_ifcontent] == System.DBNull.Value) {
					_output[r].ifcontent_ = 0L;
				} else {
					_output[r].ifcontent_ = (long)dataTable_in.Rows[r][_dc_ifcontent];
				}
				if (dataTable_in.Rows[r][_dc_guid] == System.DBNull.Value) {
					_output[r].guid_ = string.Empty;
				} else {
					_output[r].guid_ = (string)dataTable_in.Rows[r][_dc_guid];
				}
				if (dataTable_in.Rows[r][_dc_ordernum] == System.DBNull.Value) {
					_output[r].OrderNum_isNull = true;
				} else {
					_output[r].ordernum_ = (long)dataTable_in.Rows[r][_dc_ordernum];
				}
				if (dataTable_in.Rows[r][_dc_isimage] == System.DBNull.Value) {
					_output[r].isimage_ = false;
				} else {
					_output[r].isimage_ = (bool)dataTable_in.Rows[r][_dc_isimage];
				}
				if (dataTable_in.Rows[r][_dc_tx_name] == System.DBNull.Value) {
					_output[r].TX_Name_isNull = true;
				} else {
					_output[r].tx_name_ = (long)dataTable_in.Rows[r][_dc_tx_name];
				}
				if (dataTable_in.Rows[r][_dc_tx_description] == System.DBNull.Value) {
					_output[r].TX_Description_isNull = true;
				} else {
					_output[r].tx_description_ = (long)dataTable_in.Rows[r][_dc_tx_description];
				}
				if (dataTable_in.Rows[r][_dc_filename] == System.DBNull.Value) {
					_output[r].filename_ = string.Empty;
				} else {
					_output[r].filename_ = (string)dataTable_in.Rows[r][_dc_filename];
				}

				_output[r].haschanges_ = false;
			}

			return _output;
		}
		/// <summary>
		/// Updates NWS_Attachment values on Database.
		/// </summary>
		/// <param name="forceUpdate_in">assign with True if you wish to force an Update (even if no changes have been made since last time getObject method was run) and False if not</param>
		/// <param name="dbConnection_in">Database connection, making the use of Database Transactions possible on a sequence of operations across the same or multiple DataObjects</param>
		public static void updObject(
			SO_NWS_Attachment NWS_Attachment_in, 
			bool forceUpdate_in, 
			DBConnection dbConnection_in
		) {
			if (forceUpdate_in || NWS_Attachment_in.haschanges_) {
				DBConnection _connection = (dbConnection_in == null)
					? DO__utils.DBConnection_createInstance(
						DO__utils.DBServerType,
						DO__utils.DBConnectionstring,
						DO__utils.DBLogfile
					) 
					: dbConnection_in;

				IDbDataParameter[] _dataparameters = new IDbDataParameter[] {
					_connection.newDBDataParameter("IDAttachment_", DbType.Int64, ParameterDirection.Input, NWS_Attachment_in.IDAttachment, 0), 
					_connection.newDBDataParameter("IFContent_", DbType.Int64, ParameterDirection.Input, NWS_Attachment_in.IFContent, 0), 
					_connection.newDBDataParameter("GUID_", DbType.AnsiString, ParameterDirection.Input, NWS_Attachment_in.GUID, 50), 
					_connection.newDBDataParameter("OrderNum_", DbType.Int64, ParameterDirection.Input, NWS_Attachment_in.OrderNum_isNull ? null : (object)NWS_Attachment_in.OrderNum, 0), 
					_connection.newDBDataParameter("isImage_", DbType.Boolean, ParameterDirection.Input, NWS_Attachment_in.isImage, 0), 
					_connection.newDBDataParameter("TX_Name_", DbType.Int64, ParameterDirection.Input, NWS_Attachment_in.TX_Name_isNull ? null : (object)NWS_Attachment_in.TX_Name, 0), 
					_connection.newDBDataParameter("TX_Description_", DbType.Int64, ParameterDirection.Input, NWS_Attachment_in.TX_Description_isNull ? null : (object)NWS_Attachment_in.TX_Description, 0), 
					_connection.newDBDataParameter("FileName_", DbType.AnsiString, ParameterDirection.Input, NWS_Attachment_in.FileName, 255)
				};
				_connection.Execute_SQLFunction(
					"sp0_NWS_Attachment_updObject", 
					_dataparameters
				);
				if (dbConnection_in == null) { _connection.Dispose(); }
				NWS_Attachment_in.haschanges_ = false;
			}
		}
		/// <summary>
		/// Updates NWS_Attachment values on Database.
		/// </summary>
		/// <param name="forceUpdate_in">assign with True if you wish to force an Update (even if no changes have been made since last time getObject method was run) and False if not</param>
		public static void updObject(
			SO_NWS_Attachment NWS_Attachment_in, 
			bool forceUpdate_in
		) {
			updObject(
				NWS_Attachment_in, 
				forceUpdate_in, 
				null
			);
		}
		/// <summary>
		/// Inserts NWS_Attachment values into Database.
		/// </summary>
		/// <param name="selectIdentity_in">assign with True if you wish to retrieve insertion sequence/identity seed and with False if not</param>
		/// <param name="dbConnection_in">Database connection, making the use of Database Transactions possible on a sequence of operations across the same or multiple DataObjects</param>
		/// <returns>insertion sequence/identity seed</returns>
		public static long insObject(
			SO_NWS_Attachment NWS_Attachment_in, 
			bool selectIdentity_in, 
			DBConnection dbConnection_in
		) {
			DBConnection _connection = (dbConnection_in == null)
				? DO__utils.DBConnection_createInstance(
					DO__utils.DBServerType,
					DO__utils.DBConnectionstring,
					DO__utils.DBLogfile
				) 
				: dbConnection_in;
			IDbDataParameter[] _dataparameters = new IDbDataParameter[] {
				_connection.newDBDataParameter("IDAttachment_", DbType.Int64, ParameterDirection.Output, null, 0), 
				_connection.newDBDataParameter("IFContent_", DbType.Int64, ParameterDirection.Input, NWS_Attachment_in.IFContent, 0), 
				_connection.newDBDataParameter("GUID_", DbType.AnsiString, ParameterDirection.Input, NWS_Attachment_in.GUID, 50), 
				_connection.newDBDataParameter("OrderNum_", DbType.Int64, ParameterDirection.Input, NWS_Attachment_in.OrderNum_isNull ? null : (object)NWS_Attachment_in.OrderNum, 0), 
				_connection.newDBDataParameter("isImage_", DbType.Boolean, ParameterDirection.Input, NWS_Attachment_in.isImage, 0), 
				_connection.newDBDataParameter("TX_Name_", DbType.Int64, ParameterDirection.Input, NWS_Attachment_in.TX_Name_isNull ? null : (object)NWS_Attachment_in.TX_Name, 0), 
				_connection.newDBDataParameter("TX_Description_", DbType.Int64, ParameterDirection.Input, NWS_Attachment_in.TX_Description_isNull ? null : (object)NWS_Attachment_in.TX_Description, 0), 
				_connection.newDBDataParameter("FileName_", DbType.AnsiString, ParameterDirection.Input, NWS_Attachment_in.FileName, 255), 

				_connection.newDBDataParameter("SelectIdentity_", DbType.Boolean, ParameterDirection.Input, selectIdentity_in, 1)
			};
			_connection.Execute_SQLFunction(
				"sp0_NWS_Attachment_insObject", 
				_dataparameters
			);
			if (dbConnection_in == null) { _connection.Dispose(); }

			NWS_Attachment_in.IDAttachment = (long)_dataparameters[0].Value;NWS_Attachment_in.haschanges_ = false;
			

			return NWS_Attachment_in.IDAttachment;
		}
		/// <summary>
		/// Inserts NWS_Attachment values into Database.
		/// </summary>
		/// <param name="selectIdentity_in">assign with True if you wish to retrieve insertion sequence/identity seed and with False if not</param>
		/// <returns>insertion sequence/identity seed</returns>
		public static long insObject(
			SO_NWS_Attachment NWS_Attachment_in, 
			bool selectIdentity_in
		) {
			return insObject(
				NWS_Attachment_in, 
				selectIdentity_in, 
				null
			);
		}