public static void MakeFuck(MySqlConnection sql, int femaleId, int maleId, int daysPast, int worker, bool syntetic) { OneRabbit f = RabbitGetter.GetRabbit(sql, femaleId); String type = F**k.GetFuckTypeStr(FuckType.Sluchka); string when = DBHelper.DaysPastSqlDate(daysPast); if (syntetic) { type = F**k.GetFuckTypeStr(FuckType.Syntetic); } else if (f.Status > 0) { type = F**k.GetFuckTypeStr(FuckType.Vyazka); } MySqlCommand cmd = new MySqlCommand(String.Format("UPDATE f***s SET f_last=0 WHERE f_rabid={0:d};", femaleId), sql); cmd.ExecuteNonQuery(); cmd.CommandText = String.Format(@"INSERT INTO f***s(f_rabid,f_date,f_partner,f_state,f_type,f_last,f_notes,f_worker) VALUES({0:d},{1:s},{2:d},'sukrol','{3:s}',1,'',{4:d});", femaleId, when, maleId, type, worker); cmd.ExecuteNonQuery(); // cmd.CommandText = String.Format("SELECT r_status,TODAYS(r_last_fuck_okrol FROM rabbits WHERE r_id="); cmd.CommandText = String.Format("UPDATE rabbits SET r_event_date={0:s}, r_event='{1:s}', r_rate=r_rate+IF(MONTH(r_event_date) BETWEEN 8 AND 12,{3:d},0) WHERE r_id={2:d};", when, type, femaleId, Rate.AUTUMN_FUCK_RATE); cmd.ExecuteNonQuery(); if (!syntetic)///если ИО то не ставим, что самец работал { cmd.CommandText = String.Format("UPDATE rabbits SET r_last_fuck_okrol={0:s}, r_rate=r_rate+1 WHERE r_id={1:d};", when, maleId); cmd.ExecuteNonQuery(); } }
/// <summary> /// Отменяет Прохолост, т.е. продолжает сукрольность. /// </summary> public static void cancelFuckEnd(MySqlConnection sql, int fuckId) { MySqlCommand cmd = new MySqlCommand("", sql); /// достаем информацию, которую нужно востановить в таблице rabbits по данной крольчихе cmd.CommandText = String.Format("SELECT {0:s} FROM f***s f WHERE f_id={1:d};", fuckFields(true), fuckId); MySqlDataReader rd = cmd.ExecuteReader(); F**k f = null; if (rd.Read()) { f = fillFuck(rd); //rabID = rd.GetInt32("f_rabid"); //if (!rd.IsDBNull(rd.GetOrdinal("f_date"))) // ev_date = rd.GetDateTime("f_date"); //else // ev_date = DateTime.Now.AddDays(-30); //type = rd.GetString("f_type"); //status = F**k.ParceFuckEndType(rd.GetString("f_state")); } else { rd.Close(); return; } rd.Close(); int rate = 2; if (f.FEndType == FuckEndType.Sukrol) { return; } if (f.FEndType == FuckEndType.Okrol) { rate = -(Math.Abs(f.Children - 8) - f.Dead); cmd.CommandText = String.Format(@"UPDATE rabbits SET r_rate=r_rate+{0:d} WHERE r_id={1:d};", rate, f.PartnerId); cmd.ExecuteNonQuery(); } cmd.CommandText = String.Format("UPDATE f***s SET f_end_date=null, f_state='sukrol', f_notes='{1:s} cancel', f_children=0,f_dead=0,f_added=0,f_killed=0 WHERE f_id={0:#};", fuckId, F**k.GetFuckEndTypeStr(f.FEndType)); cmd.ExecuteNonQuery(); cmd.CommandText = String.Format("UPDATE rabbits SET r_event_date='{0}',r_event='{2}',r_rate=r_rate+{3:d} WHERE r_id={1:d};", f.EventDate.ToString("yyyy-MM-dd"), f.FemaleId, F**k.GetFuckTypeStr(f.FType), rate ); cmd.ExecuteNonQuery(); }