Example #1
0
 public RP(RPList list, int id, string name, string address, int count, Rabbit.SexType sex, int age, string breedName, int parent)
     : this(list, id, name, address, count, sex, age, breedName)
 {
     Younger     = true;
     this.Parent = parent;
     NewParent   = parent;
 }
Example #2
0
 public RabNetEngRabbit(RabNetEngine dl, Rabbit.SexType sx)
 {
     _id       = 0;
     _eng      = dl;
     _sex      = sx;
     _youngers = new YoungRabbitList();
 }
Example #3
0
        public static int GetAliveChildrenCount(MySqlConnection sql, int rid, Rabbit.SexType parentSex)
        {
            MySqlCommand cmd = new MySqlCommand(String.Format("SELECT COALESCE(SUM(r_group), 0) FROM rabbits WHERE {0:s} = {1:d}",
                                                              parentSex == Rabbit.SexType.FEMALE ? "r_mother" : "r_father",
                                                              rid
                                                              ), sql);

            return(Convert.ToInt32(cmd.ExecuteScalar()));
        }
Example #4
0
 public RabName Search(string name, Rabbit.SexType sex)
 {
     foreach (RabName rn in this)
     {
         if (rn.Name == name && rn.Sex == sex)
         {
             return(rn);
         }
     }
     return(null);
 }
Example #5
0
 private void updateNewNames(Rabbit.SexType sex)
 {
     cbNewName.Items.Clear();
     cbNewName.Items.Add("");
     foreach (RabName b in _names)
     {
         if (b.Sex == sex && b.Use == 0)
         {
             cbNewName.Items.Add(b.Name);
         }
     }
 }
Example #6
0
        public static int AddName(MySqlConnection sql, Rabbit.SexType sex, String name, String surname)
        {
            MySqlCommand cmd = new MySqlCommand(String.Format(@"INSERT INTO names(n_sex, n_name, n_surname, n_block_date) 
VALUES('{0:s}','{1:s}','{2:s}',NULL);", (sex == Rabbit.SexType.FEMALE) ? "female" : "male", name, surname), sql);

            cmd.ExecuteNonQuery();
            if (cmd.LastInsertedId > int.MaxValue)  ///it can't be
            {
                throw new RabNetException("ID нового имени больше максимально допустимого значения");
            }
            return((int)cmd.LastInsertedId);
        }
Example #7
0
 public static String SexToRU(Rabbit.SexType s)
 {
     if (s == Rabbit.SexType.FEMALE)
     {
         return("ж");
     }
     if (s == Rabbit.SexType.MALE)
     {
         return("м");
     }
     return("?");
 }
Example #8
0
            public RP(RP fromrp, int count)
                : this(fromrp.List, /*fromrp.ID*/ -1, fromrp.Name, fromrp.CurAddress, count, fromrp.Sex, fromrp.Age, fromrp.BreedName, fromrp.Parent)
            {
                MadeFrom         = fromrp;
                fromrp.NewCount -= count;
                NewSex           = fromrp.NewSex;
                int idx = List.IndexOf(fromrp);

                List.Insert(idx + 1, this);
                fromrp.Clones.Add(this);
                Younger = false;
            }
Example #9
0
        public static String SexToString(Rabbit.SexType s)
        {
            String res = "void";

            if (s == Rabbit.SexType.FEMALE)
            {
                res = "female";
            }
            if (s == Rabbit.SexType.MALE)
            {
                res = "male";
            }
            return(res);
        }
Example #10
0
 public RP(RPList list, int id, string name, string address, int count, Rabbit.SexType sex, int age, string breedName)
 {
     this.List        = list;
     this.ID          = id;
     SName            = name;
     this.Address     = address;
     this.Count       = count;
     NewCount         = count;
     this.Sex         = sex;
     NewSex           = sex;
     this.Age         = age;
     this.CanHaveNest = canTierHaveNest(address);
     this.BreedName   = breedName;
 }
Example #11
0
 public RabName(int id, String name, String surname, String sex, int use, DateTime dt)
 {
     this.ID      = id;
     this.Name    = name;
     this.Surname = surname;
     this.Sex     = Rabbit.GetSexType(sex);
     //this.sex = sex;
     //if (sex == "male")
     //    this.Sex = "м";
     //else
     //    this.Sex = "ж";
     this.Use         = use;
     this.ReleaseDate = dt;
 }
Example #12
0
 private void button1_Click(object sender, EventArgs e)
 {
     try {
         if (button1.Text == btext[0])
         {
             Rabbit.SexType sx = Rabbit.SexType.MALE;
             if (tabControl1.SelectedIndex == 1)
             {
                 sx = Rabbit.SexType.FEMALE;
             }
             Engine.get().db().AddName(sx, textBox1.Text.Trim(), textBox2.Text.Trim());
         }
         else
         {
             Engine.get().db().changeName(this.originName, textBox1.Text.Trim(), textBox2.Text.Trim());
         }
         load();
     } catch (Exception) {
         MessageBox.Show("Ошибка: Такое имя уже существует");
     }
 }
Example #13
0
        public Rabbit(int id, string rabname, string sex, DateTime born, string breedname, int group, String bon, string rawAddress, string notes)
        {
            _id       = id;
            _nameFull = rabname;
            _sex      = Rabbit.SexType.VOID;
            if (sex == "male")
            {
                _sex = Rabbit.SexType.MALE;
            }
            if (sex == "female")
            {
                _sex = Rabbit.SexType.FEMALE;
            }
            _birthDay  = born;
            _breedName = breedname;
            _group     = group;

            _bon        = bon;
            _rawAddress = rawAddress;
            _notes      = notes;
        }
Example #14
0
        public static int cloneRabbit(MySqlConnection sql, int rabFromID, int count, Rabbit.SexType sex, int mom)
        {
            MySqlCommand cmd = new MySqlCommand(String.Format(@"INSERT INTO rabbits
    (r_parent, r_father, r_mother, r_name, r_surname, r_secname, r_sex, r_bon, r_okrol, r_breed, r_rate, r_group, r_flags, r_zone, r_born, r_genesis, r_status, r_last_fuck_okrol, r_event, r_event_date, r_notes, r_farm, r_tier, r_tier_id, r_area) 
SELECT {1:d}, r_father, r_mother, NULL, r_surname, r_secname, r_sex, r_bon, r_okrol, r_breed, r_rate, {2:d}, r_flags, r_zone, r_born, r_genesis, r_status, r_last_fuck_okrol, r_event, r_event_date, r_notes, r_farm, r_tier, r_tier_id, r_area
FROM rabbits 
WHERE r_id={0:d};", rabFromID, DBHelper.Nullable(mom), count), sql);

            cmd.ExecuteNonQuery();
            int cloneID = (int)cmd.LastInsertedId;

            cmd.CommandText = String.Format("UPDATE rabbits SET r_group=r_group-{0:d} WHERE r_id={1:d};", count, rabFromID);
            cmd.ExecuteNonQuery();
            //клонируем прививки
            cmd.CommandText = String.Format("INSERT INTO rab_vac(r_id,v_id,`date`,unabled) SELECT {0:d},v_id,`date`,unabled FROM rab_vac WHERE r_id={1:d};", cloneID, rabFromID);
            cmd.ExecuteNonQuery();
            if (sex != Rabbit.SexType.VOID)
            {
                setRabbitSex(sql, rabFromID, sex);
            }
            return(cloneID);
        }
Example #15
0
 public void clear()
 {
     NewAddress = "";
     PlaceTo    = null;
     PlaceWith  = null;
     foreach (RP r in List)
     {
         if (r.Parent == ID)
         {
             r.Address = Address;
         }
     }
     while (Clones.Count > 0)
     {
         RP f = Clones[0];
         f.clear();
         Clones.RemoveAt(0);
         List.Remove(f);
     }
     NewCount  = Count;
     NewSex    = Sex;
     NewParent = Parent;
 }
Example #16
0
        private void sex_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (!_manual)
            {
                return;
            }

            if (MessageBox.Show(this, "Сменить пол?", "Смена пола", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                Rabbit.SexType sx = Rabbit.SexType.VOID;
                if (sex.SelectedIndex == 1)
                {
                    sx = Rabbit.SexType.MALE;
                }
                if (sex.SelectedIndex == 2)
                {
                    sx = Rabbit.SexType.FEMALE;
                }
                _rab.SetSex(sx);
                updateData();
            }
            else
            {
                if (_rab.Sex == Rabbit.SexType.VOID)   //todo switch
                {
                    setSex(0);
                }
                else if (_rab.Sex == Rabbit.SexType.MALE)
                {
                    setSex(1);
                }
                else if (_rab.Sex == Rabbit.SexType.FEMALE)
                {
                    setSex(2);
                }
            }
        }
Example #17
0
 public RP(RPList list, int id, string name, string address, int count, Rabbit.SexType sex, int age, string breedName, bool nest)
     : this(list, id, name, address, count, sex, age, breedName)
 {
     this.SetNest = nest;
 }
Example #18
0
        internal static void AdaptExportedAscendant(MySqlConnection sql, int oldId, int clientId, int newId, Rabbit.SexType sex)
        {
            Import.AscendantDelete(sql, oldId, clientId);
            string query = String.Format("UPDATE {4:s} SET r_{0:s}={1:d} WHERE r_{0:s}={2:d} AND r_birthplace={3:d}",
                                         sex == Rabbit.SexType.FEMALE?"mother":"father", newId, oldId, clientId, "{0:s}");
            MySqlCommand cmd = new MySqlCommand(String.Format(query, "import_ascendants"), sql);

            cmd.ExecuteNonQuery();

            cmd.CommandText = String.Format(query, "rabbits");
            cmd.ExecuteNonQuery();
        }
Example #19
0
 public Dictionary <string, int> GetDeadChildrenCount(int rid, Rabbit.SexType parentSex)
 {
     return(RabbitGetter.GetDeadChildrenCount(sql, rid, parentSex));
 }
Example #20
0
 public int GetAliveChildrenCount(int rid, Rabbit.SexType parentSex)
 {
     return(RabbitGetter.GetAliveChildrenCount(sql, rid, parentSex));
 }
Example #21
0
 public int CloneRabbit(int rid, int count, Rabbit.SexType sex, int mom)
 {
     return(RabbitGetter.cloneRabbit(sql, rid, count, sex, mom));
 }
Example #22
0
 public void setRabbitSex(int rid, Rabbit.SexType sex)
 {
     RabbitGetter.setRabbitSex(sql, rid, sex);
 }
Example #23
0
 public int AddName(Rabbit.SexType sex, string name, string surname)
 {
     return(Names.AddName(sql, sex, name, surname));
 }
Example #24
0
        //public ICatalog getVaccines()
        //{
        //    return new Vaccines(sql);
        //}

        public string makeName(int nm, int sur, int sec, int grp, Rabbit.SexType sex)
        {
            return(RabbitGetter.makeName(sql, nm, sur, sec, grp, sex));
        }
Example #25
0
        //public static void replaceYounger(MySqlConnection sql, int rabbit, int farm, int tier_id, int sec)
        //{
        //    removeParent(sql, rabbit);
        //    placeRabbit(sql, rabbit, farm, tier_id, sec);
        //}

        public static void setRabbitSex(MySqlConnection sql, int rabbit, Rabbit.SexType sex)
        {
            MySqlCommand cmd = new MySqlCommand(String.Format(@"UPDATE rabbits SET r_sex='{0:s}' WHERE r_id={1:d};", Rabbit.SexToString(sex), rabbit), sql);

            cmd.ExecuteNonQuery();
        }
Example #26
0
        public static Dictionary <string, int> GetDeadChildrenCount(MySqlConnection sql, int rid, Rabbit.SexType parentSex)
        {
            Dictionary <string, int> result = new Dictionary <string, int>();
            MySqlCommand             cmd    = new MySqlCommand(String.Format(@"SELECT dr.d_name, SUM(d.r_group) 
                FROM dead d                
                INNER JOIN deadreasons dr ON dr.d_id = d.d_reason                
                WHERE {0:s} = {1:d} 
                GROUP BY d_reason",
                                                                             parentSex == Rabbit.SexType.FEMALE ? "r_mother" : "r_father",
                                                                             rid
                                                                             ), sql);
            MySqlDataReader rd = cmd.ExecuteReader();

            while (rd.Read())
            {
                result.Add(rd.GetString(0), rd.GetInt32(1));
            }
            rd.Close();
            return(result);
        }
Example #27
0
        public static String makeName(MySqlConnection con, int nm, int sur, int sec, int grp, Rabbit.SexType sex)
        {
            MySqlCommand    cmd = new MySqlCommand(String.Format(@"SELECT
(SELECT CONCAT(n_name,' ') FROM names WHERE n_id={0:d}) name,
(SELECT n_surname FROM names WHERE n_id = {1:d}) surname,
(SELECT n_surname FROM names WHERE n_id = {2:d}) secname;
", nm, sur, sec), con);
            MySqlDataReader rd  = cmd.ExecuteReader();
            String          res = "";

            if (rd.Read())
            {
                res = rd.IsDBNull(0) ? "" : rd.GetString(0);
                String ssur = rd.IsDBNull(1) ? "" : rd.GetString(1);
                String ssec = rd.IsDBNull(2) ? "" : rd.GetString(2);
                if (grp > 1)
                {
                    if (ssur != "")
                    {
                        ssur += 'ы';
                    }
                    if (ssec != "")
                    {
                        ssec += 'ы';
                    }
                }
                else if (sex == Rabbit.SexType.FEMALE)
                {
                    if (ssur != "")
                    {
                        ssur += 'а';
                    }
                    if (ssec != "")
                    {
                        ssec += 'а';
                    }
                }
                res += ssur;
                if (ssec != "")
                {
                    res += "-" + ssec;
                }
            }
            rd.Close();
            return(res);
        }
Example #28
0
 /// <summary>
 /// Установить пол
 /// </summary>
 /// <param name="sex">Новый пол</param>
 public void SetSex(Rabbit.SexType sex)
 {
     _eng.logs().log(LogType.SET_SEX, _id, 0, "", "", Rabbit.SexToRU(sex));
     _eng.db().setRabbitSex(_id, sex);
 }