示例#1
0
文件: Database.cs 项目: tdkryger/APaF
 public bool UpdatePlant(PlantClass item)
 {
     throw new NotImplementedException();
 }
示例#2
0
文件: Database.cs 项目: tdkryger/APaF
        /// <summary>
        /// Reads a list of creature items from database
        /// </summary>
        /// <param name="search">The search pattern</param>
        /// <returns>A list of Creatures. Empty list if no Creatures was found</returns>
        public List<Creatures> Read(BasicSearch search)
        {
            List<Creatures> theList = new List<Creatures>();

            using (MySqlConnection conn = getAConnection())
            {
                if (conn.State != System.Data.ConnectionState.Open)
                {
                    using (MySqlCommand cmd = new MySqlCommand(SELECT_CREATURE, conn))
                    {
                        cmd.CommandText = SELECT_CREATURE + search.GetWhereClause();
                        try
                        {
                            using (MySqlDataReader reader = cmd.ExecuteReader())
                            {
                                while (reader.Read())
                                {
                                    Creatures item = null;
                                    CreatureTypes ct = (CreatureTypes)reader.GetInt32("creatuteType");
                                    switch(ct)
                                    {
                                        case CreatureTypes.Crustacean:
                                            item = new CrustaceanClass();

                                            break;
                                        case CreatureTypes.Fish:
                                            item = new FishClass();
                                            break;
                                        case CreatureTypes.Gastropoda:
                                            item = new GastropodaClass();
                                            break;
                                        case CreatureTypes.Plant:
                                            item = new PlantClass();
                                            break;
                                        case CreatureTypes.Reptile:
                                            item = new ReptileClass();
                                            break;
                                    }
                                    if (item != null)
                                    {
                                        //CreatureIdentification
                                        item.CurrentVersion = reader.GetDecimal("currentVersion");
                                        item.Description.Danish = reader.GetString("danishDescription");
                                        item.Description.English = reader.GetString("englishDescription");
                                        item.Description.German = reader.GetString("germanDescription");
                                        item.ID = reader.GetInt32("id");
                                        item.ScientificName = this.ReadLatinName(reader.GetInt32("scientificNameId"));
                                        item.Tradenames.Danish = reader.GetString("danishTradenames");
                                        item.Tradenames.English = reader.GetString("englishTradenames");
                                        item.Tradenames.German = reader.GetString("germanTradenames");
                                        //Creatures
                                        item.AquaLogCode = reader.GetString("aqualogCode");
                                        item.CreatedByUser = reader.GetString("createdUser");
                                        item.CreatedDateTime = reader.GetDateTime("createdDateTime");
                                        item.DataSource = (EnumDataSource)reader.GetInt32("dataSource");
                                        item.Family = this.ReadFamily(reader.GetInt32("familyId"));
                                        item.Group = this.ReadGroup(reader.GetInt32("groupTypeId"));
                                        item.Hardness.MaxValue = reader.GetDecimal("maxHardness");
                                        item.Hardness.MinValue = reader.GetDecimal("minHardness");
                                        item.Light.MaxLight = (EnumLight)reader.GetInt32("maxLight");
                                        item.Light.MinLight = (EnumLight)reader.GetInt32("minLight");
                                        item.OtherLiterature = this.ReadBook(item, BookListType.Other);
                                        item.PH.MaxValue = reader.GetDecimal("maxPh");
                                        item.PH.MinValue = reader.GetDecimal("minPh");
                                        item.Pictures = this.ReadPicture(item);
                                        item.Protected = this.ReadProtection(reader.GetInt32("protected"));
                                        item.ReferenceBooks = this.ReadBook(item, BookListType.Reference);
                                        item.Region = this.ReadRegion(reader.GetInt32("regionId"));
                                        //item.Synonyms = this.reads // Missing from IDatabase
                                        if (item is Animal)
                                        {
                                            //
                                        }
                                        theList.Add(item);
                                    }
                                }
                            }
                        }
                        catch (SqlException ex)
                        {
                            handleDBError(new Delegates.DatabaseArgs(ex));
                        }
                    }
                }
                else
                {
                    handleDBError(new Delegates.DatabaseArgs("Connection not open"));
                }
            }
            return theList;
        }
示例#3
0
文件: Database.cs 项目: tdkryger/APaF
 public PlantClass CreatePlant(PlantClass item)
 {
     item.ID = createCreature(item);
     return item;
 }
示例#4
0
文件: Database.cs 项目: tdkryger/APaF
 public bool DeletePlant(PlantClass item)
 {
     return deleteCreature(item);
 }
示例#5
0
文件: Database.cs 项目: tdkryger/APaF
        private void setValuesFromPlant(MySqlCommand cmd, PlantClass item)
        {
            setValuesFromCreatureIdentification(cmd, item);
            setValuesFromCreature(cmd, item);

            if (item.BottomType.ID == 0)
            {
                item.BottomType = this.CreateBottom(item.BottomType);
            }
            cmd.Parameters.AddWithValue("bottomTypeId", item.BottomType.ID);
            cmd.Parameters.AddWithValue("flowering", item.Flowering);
            if (item.GrowthSpeed.ID == 0)
            {
                item.GrowthSpeed = this.CreateGrowthSpeed(item.GrowthSpeed);
            }
            cmd.Parameters.AddWithValue("growthSpeedId", item.GrowthSpeed.ID);
            cmd.Parameters.AddWithValue("hardy", ((item.Hardy) ? 1 : 0));
            cmd.Parameters.AddWithValue("minHeight", item.Height.MinValue);
            cmd.Parameters.AddWithValue("maxHeight", item.Height.MaxValue);
            cmd.Parameters.AddWithValue("minWidth", item.Width.MinValue);
            cmd.Parameters.AddWithValue("maxWidth", item.Width.MaxValue);
            cmd.Parameters.AddWithValue("waterDepth", item.WaterDepth);
            if (item.Zone.ID == 0)
            {
                item.Zone = this.CreatePlantZone(item.Zone);
            }
            cmd.Parameters.AddWithValue("zone", item.Zone.ID);
        }