private void fucks_SelectedIndexChanged(object sender, EventArgs e) { btChangeWorker.Enabled = changeFucker.Enabled = btGens.Enabled = btFuckHer.Enabled = false; if (lvFucks.SelectedItems.Count != 1) { return; } bool dead = (lvFucks.SelectedItems[0].SubItems[3].Text == RABDEAD); btGens.Enabled = true; btFuckHer.Enabled = (_rab.EventDate != DateTime.MinValue) && !dead; changeFucker.Enabled = lvFucks.SelectedItems[0].SubItems[3].Text == F**k.GetFuckEndTypeStr(FuckEndType.Sukrol, false);//todo не правильно btCancelFuckEnd.Enabled = lvFucks.SelectedItems[0].SubItems[3].Text != F**k.GetFuckEndTypeStr(FuckEndType.Sukrol, false) && (lvFucks.SelectedItems[0].Index == lvFucks.Items.Count - 1); btChangeWorker.Enabled = true; }
public void UpdateData() { if (_rab == null) { return; } ///Заполнение списка случек lvFucks.Items.Clear(); if (_rab.ID > 0) { foreach (F**k f in Engine.db().GetFucks(new Filters(Filters.RAB_ID + "=" + _rab.ID))) { ListViewItem li = lvFucks.Items.Add(f.EventDate == DateTime.MinValue ? "-" : f.EventDate.ToShortDateString()); li.SubItems.Add(F**k.GetFuckTypeStr(f.FType, false)); li.SubItems.Add(string.IsNullOrEmpty(f.PartnerName) ? "-" : f.PartnerName); li.SubItems.Add(F**k.GetFuckEndTypeStr(f.FEndType, false)); if (f.IsPartnerDead) { li.UseItemStyleForSubItems = false; li.SubItems[IND_PARTNER].ForeColor = Color.Brown; } li.SubItems.Add(f.EndDate == DateTime.MinValue ? "-" : f.EndDate.ToShortDateString()); li.SubItems.Add(f.Children.ToString()); li.SubItems.Add(f.Dead.ToString()); li.SubItems.Add(f.Killed.ToString()); li.SubItems.Add(f.Added.ToString()); li.SubItems.Add(f.Breed == _rab.BreedID ? "-" : "Да"); li.SubItems.Add(RabNetEngHelper.inbreeding(f.rGenom, _rab.Genoms) ? "Да" : "-"); li.SubItems.Add(f.Worker); li.Tag = f; } } changeFucker.Enabled = false; }
private void cancelFuckEnd_Click(object sender, EventArgs e) { if (lvFucks.SelectedItems.Count != 1) { return; } try { F**k f = (lvFucks.SelectedItems[0].Tag as F**k); if (!isLastEvent(f)) { throw new Exception("Отменить прохолостание можно лишь последней записи"); } if (MessageBox.Show(String.Format("Данная функция отменит {0:s} текущей крольчихи и восстановит сукрольность.{1:s}Продолжить?", F**k.GetFuckEndTypeStr(f.FEndType, false), Environment.NewLine), "Отмена прохолоста", MessageBoxButtons.YesNo) == DialogResult.No) { return; } _rab.CancelFuckEnd(f); cancelUnable(); this.updateData(); } catch (Exception exc) { MessageBox.Show(exc.Message); } }