Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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();
        }
Beispiel #4
0
 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();
     }
 }
Beispiel #5
0
        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();
                }
            });
        }