private void AddNewGoalRecord() { if (isInEditMode) { using (var db = new GoalMasterDatabaseContext()) { var result = db.GoalRecords.FirstOrDefault(x => x.ID == existingGoalRecord.ID); if (_goalTypeID == 1) { result.Value = TrueOption.Value ? 1 : 0; } else { if (NumericHelper.isLastLetterDotOrComma(Value)) { ErrorMessage = "Invalid numeric value!"; return; } result.Value = Double.Parse(Value.Replace('.', ',')); } result.Note = Note; db.SaveChanges(); } } else { var goalRecord = new GoalRecord(); goalRecord.Date = SelectedDate; goalRecord.Note = Note; if (_goalTypeID == 1) { goalRecord.Value = TrueOption.Value ? 1 : 0; } else { if (NumericHelper.isLastLetterDotOrComma(Value)) { ErrorMessage = "Invalid numeric value!"; return; } goalRecord.Value = Double.Parse(Value.Replace('.', ',')); } using (var db = new GoalMasterDatabaseContext()) { db.GoalRecords.Add(goalRecord); goalRecord.User = db.Users.FirstOrDefault(x => x.ID == User.ID); goalRecord.GoalDefinition = db.GoalDefinitions.FirstOrDefault(x => x.ID == GoalDefinition.ID); db.SaveChanges(); } } if (CloseWindowEvent != null) { CloseWindowEvent(this, null); } }
public AddGoalRecordViewModel(User user, GoalDefinition goalDefinition, DateTime dateTime) { SelectedDate = dateTime; ActivityBtnMessage = "Add activity"; using (var db = new GoalMasterDatabaseContext()) { var goalDef = db.GoalDefinitions.FirstOrDefault( x => x.ID == goalDefinition.ID); existingGoalRecord = db.GoalRecords.FirstOrDefault(x => x.Date == SelectedDate && x.GoalDefinition.ID == goalDefinition.ID && x.User.ID == user.ID); if (existingGoalRecord != null) { isInEditMode = true; ActivityBtnMessage = "Edit activity"; editModeValue = existingGoalRecord.Value; Note = existingGoalRecord.Note; } GoalDefinition = goalDef; GoalDefinition.GoalType = goalDef.GoalType; } User = user; AddNewGoalRecordCommand = new RelayCommand(AddNewGoalRecord); DeleteGoalRecordCommand = new RelayCommand(DeleteGoalRecord); _goalTypeID = GoalDefinition.GoalType.ID; if (GoalDefinition.GoalType.ID == 1)//DoneOrNotDone { VisibilityValueBox = Visibility.Hidden; VisibilityBoolBox = Visibility.Visible; TrueFalseOptions = new ObservableCollection <BoolHelper>(); TrueFalseOptions.Add(new BoolHelper(true, "Done")); TrueFalseOptions.Add(new BoolHelper(false, "Not done")); if (isInEditMode) { TrueOption = TrueFalseOptions.FirstOrDefault(x => x.Value == Convert.ToBoolean(editModeValue));//editModeValue ? 1 : 0; } else { TrueOption = TrueFalseOptions.First(); } } else//Numeric values { VisibilityValueBox = Visibility.Visible; VisibilityBoolBox = Visibility.Hidden; if (isInEditMode) { _value = editModeValue.ToString(); } } }
private void GotoRecord(GoalRecord goal) { if (lvLogView.Items.Count <= 0) { return; } var item = goal == GoalRecord.FirstRecord ? lvLogView.Items[0] : lvLogView.Items[lvLogView.Items.Count - 1]; item.Selected = true; lvLogView.FocusedItem = item; item.EnsureVisible(); }
private void GotoRecord(GoalRecord goal) { if (lvLogView.Items.Count > 0) { ListViewItem item; if (goal == GoalRecord.FirstRecord) { item = lvLogView.Items[0]; } else { item = lvLogView.Items[lvLogView.Items.Count - 1]; } item.Selected = true; lvLogView.FocusedItem = item; item.EnsureVisible(); } }
private void LoadLog(int pos, int count, GoalRecord goal, bool print = false) { if (_busy) { return; } if (pos < 0) { return; } var dateBefore = DateTime.Now.AddYears(-1); CalcRowsCount(lvLogView); if (count <= 0) { return; } _busy = true; tsbAnchor.Enabled = false; tsbBackward.Enabled = false; tsbFilterEdit.Enabled = false; _lastForwardState = tsbForward.Enabled; tsbForward.Enabled = false; tsbEnd.Enabled = false; ThreadPool.QueueUserWorkItem(arg => { int linescount; var results = Data.GetSysLogRecords(pos, count, dateBefore, out linescount, true); var method = new MethodInvoker(() => { _reportrows.Clear(); var row = 0; foreach (string[] rec in results) { if (rec.Length != 12) { continue; } var item = new ListViewItem(rec[0]); if (row % 2 != 0) { item.BackColor = Color.FromKnownColor(KnownColor.WhiteSmoke); } var overpass = rec[2]; var way = rec[3]; var product = Data.GetFineProductName(rec[4]); var riser = rec[5]; var addr = string.Join("", rec, 1, 5).Trim().Length > 0 ? string.Format("Эстакада {0}. Путь {1}. {2}. Стояк {3}", overpass, way, product, riser) : ""; item.SubItems.Add(addr); var mess = rec[6]; item.SubItems.Add(mess); var waggon = rec[7]; item.SubItems.Add(waggon); var type = rec[8]; item.SubItems.Add(type); var maxheight = rec[9]; item.SubItems.Add(maxheight); var setpoint = rec[10]; item.SubItems.Add(setpoint); var filled = rec[11]; item.SubItems.Add(filled); _reportrows.Add(item); row++; } UpdateColumnWidths(lvLogView); if (print) { return; } lvLogView.BeginUpdate(); try { lvLogView.Items.Clear(); lvLogView.Items.AddRange(_reportrows.ToArray()); } finally { lvLogView.EndUpdate(); } tsbForward.Enabled = _lastForwardState; switch (goal) { case GoalRecord.FirstRecord: GotoRecord(GoalRecord.FirstRecord); tsbBackward.Enabled = lvLogView.Items.Count >= _viewCount; tsbForward.Enabled = true; tsbEnd.Enabled = true; break; case GoalRecord.NextRecord: GotoRecord(GoalRecord.LastRecord); tsbEnd.Enabled = tsbForward.Enabled; tsbBackward.Enabled = lvLogView.Items.Count >= _viewCount; break; default: GotoRecord(GoalRecord.LastRecord); tsbForward.Enabled = false; tsbEnd.Enabled = false; tsbBackward.Enabled = lvLogView.Items.Count >= _viewCount; break; } _busy = false; tsbAnchor.Enabled = true; tsbFilterEdit.Enabled = true; } ); if (InvokeRequired) { BeginInvoke(method); } else { method(); } }); }