static public bool Create(EGH01DB.IDBContext dbcontext, EcoObjectType ecoobject_type) { bool rc = false; using (SqlCommand cmd = new SqlCommand("EGH.CreateEcoObjectType", dbcontext.connection)) { cmd.CommandType = CommandType.StoredProcedure; { SqlParameter parm = new SqlParameter("@КодТипаПриродоохранногоОбъекта", SqlDbType.Int); int new_ecoobject_type_code = 0; if (GetNextCode(dbcontext, out new_ecoobject_type_code)) { ecoobject_type.type_code = new_ecoobject_type_code; } parm.Value = ecoobject_type.type_code; cmd.Parameters.Add(parm); } { SqlParameter parm = new SqlParameter("@НаименованиеТипаПриродоохранногоОбъекта", SqlDbType.VarChar); parm.Value = ecoobject_type.name; cmd.Parameters.Add(parm); } { SqlParameter parm = new SqlParameter("@КатегорияВодоохрТер", SqlDbType.Int); parm.IsNullable = true; parm.Value = ecoobject_type.waterprotectionarea.type_code; cmd.Parameters.Add(parm); } { SqlParameter parm = new SqlParameter("@exitrc", SqlDbType.Int); parm.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(parm); } try { cmd.ExecuteNonQuery(); rc = (int)cmd.Parameters["@exitrc"].Value == ecoobject_type.type_code; } catch (Exception e) { rc = false; }; } return(rc); }
static public bool GetByCode(EGH01DB.IDBContext dbcontext, int type_code, out EcoObjectType eco_object_type) { bool rc = false; eco_object_type = new EcoObjectType(); using (SqlCommand cmd = new SqlCommand("EGH.GetEcoObjectTypeByCode", dbcontext.connection)) { cmd.CommandType = CommandType.StoredProcedure; { SqlParameter parm = new SqlParameter("@КодТипаПриродоохранногоОбъекта", SqlDbType.Int); parm.Value = type_code; cmd.Parameters.Add(parm); } { SqlParameter parm = new SqlParameter("@exitrc", SqlDbType.Int); parm.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(parm); } try { SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) { int code = (int)reader["КодТипаПриродоохранногоОбъекта"]; string name = (string)reader["НаименованиеТипаПриродоохранногоОбъекта"]; int cat_water_name = (int)reader["КатегорияВодоохрТер"]; int category_code = (int)reader["КодТипаКатегории"]; string category_name = (string)reader["НаименованиеКатегории"]; WaterProtectionArea waterprotectionarea = new WaterProtectionArea(category_code, category_name); eco_object_type = new EcoObjectType(code, name, waterprotectionarea); } reader.Close(); rc = (int)cmd.Parameters["@exitrc"].Value > 0; } catch (Exception e) { rc = false; }; } return(rc); }