public void NotifyAbout(IViewElement message)
        {
            ViewExpensesInfo expensesInfo = (ViewExpensesInfo)message;

            if (expensesInfo != null)
            {
                expensesInfo.ExpensesType = EnumWorker.GetDescriptionFromValue(expensesInfo.ExpensesType);
                if (TabItemName == "Редактирование расхода")
                {
                    ExpensesInfos.Add(expensesInfo);
                    listOfViewObj.Add(expensesInfo);
                    var deleteItem = listOfViewObj.FirstOrDefault(exp => exp.Id == SelectedExpensesInfo.Id);
                    listOfViewObj.Remove(deleteItem);
                    ExpensesInfos.Remove(SelectedExpensesInfo);
                    SelectedExpensesInfo = expensesInfo;
                    SetMaxExpensesValue();
                    TabVisibility  = false;
                    DisplayXamlTab = false;
                }
                else
                {
                    ExpensesInfos.Add(expensesInfo);
                    listOfViewObj.Add(expensesInfo);
                    SetMaxExpensesValue();
                    TabVisibility  = false;
                    DisplayXamlTab = false;
                }
            }
            else
            {
                TabVisibility  = false;
                DisplayXamlTab = false;
            }
        }
        private void ChartContextChanged()
        {
            List <ViewExpensesInfo> orderedColl = new List <ViewExpensesInfo>();

            foreach (var item in listOfViewObj)
            {
                ViewExpensesInfo newItem = (ViewExpensesInfo)item.Clone();
                newItem.Expenditure = Math.Round(newItem.Expenditure, DefaultValuesForControllers.Instance.DefaultDecimals);
                orderedColl.Add(newItem);
            }

            orderedColl = orderedColl.Where(exp => (DateTime.Compare(DateTime.Parse(exp.CostsDate), FromExpensesDate) >= 0) &&
                                            (DateTime.Compare(DateTime.Parse(exp.CostsDate), ToExpensesDate) <= 0)).OrderBy(exp => DateTime.Parse(exp.CostsDate)).ToList();

            for (int i = 0; i < orderedColl.Count; i++)
            {
                if (orderedColl.Count - 1 == i)
                {
                    ChartWorker.isLastObjForChart = true;
                }
                Send(VVM.LineChart, orderedColl.ToArray()[i]);
                Send(VVM.PieChart, orderedColl.ToArray()[i]);
            }
            ChartWorker.isLastObjForChart = false;
        }
 private void EditExpenses()
 {
     if (SelectedExpensesInfo != null)
     {
         TabItemName    = "Редактирование расхода";
         TabVisibility  = true;
         DisplayXamlTab = true;
         ViewExpensesInfo editExpensesInfo = new ViewExpensesInfo(SelectedExpensesInfo.Id, SelectedExpensesInfo.Expenditure, SelectedExpensesInfo.Comment, SelectedExpensesInfo.CostsDate, SelectedExpensesInfo.ExpensesType);
         Send(VVM.AddOrEditExpenses, editExpensesInfo);
     }
 }
        public void NotifyAbout(IViewElement message)
        {
            ViewExpensesInfo expensesInfo = (ViewExpensesInfo)message;

            NewExpensesId      = expensesInfo.Id;
            NewExpensesValue   = expensesInfo.Expenditure;
            NewExpensesType    = EnumWorker.GetValueFromDescription(expensesInfo.ExpensesType);
            NewExpensesDate    = DateTime.Parse(expensesInfo.CostsDate);
            NewExpensesComment = expensesInfo.Comment;
            oldMoneyElement    = (ExpensesInfo)message.ConvertToBO();
        }
 private void SaveExpenses()
 {
     if (NewExpensesId != Guid.Empty)
     {
         ViewExpensesInfo exp = new ViewExpensesInfo(NewExpensesId, NewExpensesValue, NewExpensesComment, NewExpensesDate.ToShortDateString(), NewExpensesType.ToString());
         _jsonWorker.DeleteElement(oldMoneyElement);
         Send(VVM.ExpensesController, exp);
     }
     else
     {
         ViewExpensesInfo exp = new ViewExpensesInfo(NewExpensesValue, NewExpensesComment, NewExpensesDate.ToShortDateString(), NewExpensesType.ToString());
         Send(VVM.ExpensesController, exp);
     }
 }