/// <summary> /// Отметить прохолост (самка не окролилась) /// </summary> /// <param name="when">Дата установки прохолоста</param> public void ProholostIt(int daysPast) { if (Sex != Rabbit.SexType.FEMALE) { throw new ExNotFemale(this); } if (EventDate == DateTime.MinValue) { throw new ExNotFucked(this); } //if (when > DateTime.Now) throw new ExBadDate(when); if (daysPast < 0) { throw new ExBadPastDays(); } _eng.logs().log(LogType.PROHOLOST, ID, 0, AddressSmall, "", daysPast != 0 ? String.Format(" {0:d} дней назад", daysPast) : ""); _eng.db().makeProholost(this._id, daysPast); if (_eng.options().getBoolOption(Options.OPT_ID.NEST_OUT_IF_PROHOLOST)) { //todo пиздец и говнокод и опасно но... RabNetEngBuilding rnd = RabNetEngBuilding.FromPlace(this.RawAddress, _eng); rnd.RabbitNestOut(this.ID); } }
/// <summary> /// Установка гнездовья в клетку А /// </summary> /// <param name="value">установить или убрать</param> public void setNest(bool value, int sec) { char newValue = value ? '1' : '0'; if (b.Nests[sec] == newValue) { return; } _eng.logs().log(value ? LogType.NEST_ON : LogType.NEST_OFF, b.Busy[sec].ID, b.SmallName(sec)); char [] cNests = b.Nests.ToCharArray(); cNests[sec] = newValue; b.Nests = new String(cNests); this.commit(); if (!value && _eng.options().getBoolOption(Options.OPT_ID.NEST_OUT_WITH_HEATER)) { this.setHeater(HEATER_UNSET, sec); } }