/// <summary> /// Populate business objects from the data reader /// </summary> /// <param name="dataReader">data reader</param> /// <returns>list of CArea</returns> internal List <CArea> PopulateObjectsFromReader(IDataReader dataReader) { List <CArea> list = new List <CArea>(); while (dataReader.Read()) { CArea businessObject = new CArea(); PopulateBusinessObjectFromReader(businessObject, dataReader); list.Add(businessObject); } return(list); }
/// <summary> /// Populate business object from data reader /// </summary> /// <param name="businessObject">business object</param> /// <param name="dataReader">data reader</param> internal void PopulateBusinessObjectFromReader(CArea businessObject, IDataReader dataReader) { businessObject.Cod_area = dataReader.GetString(dataReader.GetOrdinal(CArea.CAreaFields.Cod_area.ToString())); if (!dataReader.IsDBNull(dataReader.GetOrdinal(CArea.CAreaFields.Nom_area.ToString()))) { businessObject.Nom_area = dataReader.GetString(dataReader.GetOrdinal(CArea.CAreaFields.Nom_area.ToString())); } if (!dataReader.IsDBNull(dataReader.GetOrdinal(CArea.CAreaFields.Description.ToString()))) { businessObject.Description = dataReader.GetString(dataReader.GetOrdinal(CArea.CAreaFields.Description.ToString())); } }
/// <summary> /// Select by primary key /// </summary> /// <param name="keys">primary keys</param> /// <returns>CArea business object</returns> public CArea SelectByPrimaryKey(CAreaKeys keys) { NpgsqlCommand sqlCommand = new NpgsqlCommand(); sqlCommand.CommandText = "public.sp_area_SelectByPrimaryKey"; sqlCommand.CommandType = CommandType.StoredProcedure; // Use connection object of base class sqlCommand.Connection = MainConnection; try { sqlCommand.Parameters.Add(new NpgsqlParameter("p_cod_area", NpgsqlDbType.Varchar, 4, "", ParameterDirection.Input, false, 0, 0, DataRowVersion.Proposed, keys.Cod_area)); MainConnection.Open(); NpgsqlDataReader dataReader = sqlCommand.ExecuteReader(); if (dataReader.Read()) { CArea businessObject = new CArea(); PopulateBusinessObjectFromReader(businessObject, dataReader); return(businessObject); } else { return(null); } } catch (Exception ex) { throw new Exception("CArea::SelectByPrimaryKey::Error occured.", ex); } finally { MainConnection.Close(); sqlCommand.Dispose(); } }
/// <summary> /// update row in the table /// </summary> /// <param name="businessObject">business object</param> /// <returns>true for successfully updated</returns> public bool Update(CArea businessObject) { NpgsqlCommand sqlCommand = new NpgsqlCommand(); sqlCommand.CommandText = "public.sp_area_Update"; sqlCommand.CommandType = CommandType.StoredProcedure; // Use connection object of base class sqlCommand.Connection = MainConnection; try { sqlCommand.Parameters.AddWithValue("p_cod_area", businessObject.Cod_area); sqlCommand.Parameters["p_cod_area"].NpgsqlDbType = NpgsqlDbType.Varchar; sqlCommand.Parameters.AddWithValue("p_nom_area", businessObject.Nom_area); sqlCommand.Parameters["p_nom_area"].NpgsqlDbType = NpgsqlDbType.Varchar; sqlCommand.Parameters.AddWithValue("p_description", businessObject.Description); sqlCommand.Parameters["p_description"].NpgsqlDbType = NpgsqlDbType.Varchar; MainConnection.Open(); if (Convert.ToInt32(sqlCommand.ExecuteScalar()) > 0) { return(true); } return(false); } catch (Exception ex) { throw new Exception("CArea::Update::Error occured.", ex); } finally { MainConnection.Close(); sqlCommand.Dispose(); } }
/// <summary> /// insert new row in the table /// </summary> /// <param name="businessObject">business object</param> /// <returns>true of successfully insert</returns> public bool Insert(CArea businessObject) { NpgsqlCommand sqlCommand = new NpgsqlCommand(); sqlCommand.CommandText = "public.sp_area_Insert"; sqlCommand.CommandType = CommandType.StoredProcedure; // Use connection object of base class sqlCommand.Connection = MainConnection; try { sqlCommand.Parameters.AddWithValue("p_cod_area", businessObject.Cod_area); sqlCommand.Parameters["p_cod_area"].NpgsqlDbType = NpgsqlDbType.Varchar; sqlCommand.Parameters.AddWithValue("p_nom_area", businessObject.Nom_area); sqlCommand.Parameters["p_nom_area"].NpgsqlDbType = NpgsqlDbType.Varchar; sqlCommand.Parameters.AddWithValue("p_description", businessObject.Description); sqlCommand.Parameters["p_description"].NpgsqlDbType = NpgsqlDbType.Varchar; MainConnection.Open(); sqlCommand.ExecuteNonQuery(); return(true); } catch (Exception ex) { throw new Exception("CArea::Insert::Error occured.", ex); } finally { MainConnection.Close(); sqlCommand.Dispose(); } }
/// <summary> /// 矢量:毫米转化为英寸 /// </summary> /// <param name="temPt"></param> /// <returns></returns> public static CArea MMToFeet(CArea area) { area.ScaleBy(1.0 / kFeetToMM); return(area); }
/// <summary> /// 坐标点:英寸转化为毫米 /// </summary> /// <param name="area"></param> public static void FeetToMM(ref CArea area) { area.ScaleBy(kFeetToMM); }
private void ParseInput(string cmd) { Variables.cmdCount++; // if any BeforeCommand present, then use it HandleResult res = (CArea != null) ? CArea.BeforeCommand(CArea, Variables, cmd) : HandleResult.Continue; if (res != HandleResult.Continue) { return; } res = CRoom.BeforeCommand(CRoom, Variables, cmd); if (res != HandleResult.Continue) { return; } // as direction ... Direction?dir = null; if (cmd == "上" || cmd == "上去" || cmd == "上楼") { dir = Direction.Up; } else if (cmd == "下" || cmd == "下去" || cmd == "下楼") { dir = Direction.Down; } else { string[] dirs = new[] { "东", "南", "西", "北", "东北", "西北", "东南", "西南" }; for (int i = 0; i < 8; i++) { if (dirs[i] == cmd) { dir = (Direction)i; } } } if (dir != null) { if (!GoDirection((Direction)dir)) { return; } // only look at PostCommand if succeeded res = (CArea != null) ? CArea.PostCommand(CArea, Variables, cmd) : HandleResult.Continue; if (res != HandleResult.Continue) { return; } CRoom.PostCommand(CRoom, Variables, cmd); return; } // as command ... foreach (var x in SingleObjVerbs) { // FIXME: what System.StringComparison should be used? if (cmd.StartsWith(x.Key, System.StringComparison.Ordinal)) { x.Value.Invoke(cmd.Substring(x.Key.Length)); res = (CArea != null) ? CArea.PostCommand(CArea, Variables, cmd) : HandleResult.Continue; if (res != HandleResult.Continue) { return; } res = CRoom.PostCommand(CRoom, Variables, cmd); if (res != HandleResult.Continue) { return; } return; } } Print("我不理解这个,请尝试不同的表达方法。\n\n"); }