Exemplo n.º 1
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            JObject jsonObject = JObject.Load(reader);

            bool isIncome = jsonObject["IncomeOrOutcome"].Equals(IncomeOutcomeEnum.Income);

            // Using Constructors with default values to create a default object
            ABudgetItem item;

            if (isIncome)
            {
                IncomeCategoryEnum category = Enum.Parse <IncomeCategoryEnum>(jsonObject["Category"].ToString());
                item = new IncomeBudgetItem(category, default(decimal), default(string), default(DateTime));
            }
            else
            {
                OutcomeCategoryEnum category = Enum.Parse <OutcomeCategoryEnum>(jsonObject["Category"].ToString());
                item = new OutcomeBudgetItem(category, default(decimal), default(string), default(DateTime));
            }


            serializer.Populate(jsonObject.CreateReader(), item);

            return(item);
        }
        internal IncomeBudgetItem CreateIncomeBudgetItem()
        {
            DateTime itemDate    = ConsoleHelper.GetDateTimeInput("Enter item date");
            string   description = ConsoleHelper.GetStringInput("Enter an Item Description");
            decimal  value       = ConsoleHelper.GetDecimalInput("Enter the Value:");

            IncomeCategoryEnum category = ConsoleHelper.GetEnumValueFromConsoleInput <IncomeCategoryEnum>("Enter an Income Category:");

            return(new IncomeBudgetItem(category, value, description, itemDate));
        }
Exemplo n.º 3
0
 public void AddIncomeCategoryTotal(IncomeCategoryEnum category, decimal value)
 {
     IncomeCategoryTotals.Add(category, value);
 }
Exemplo n.º 4
0
 public void UpdateCategory(IncomeCategoryEnum category)
 {
     Category = category;
 }
Exemplo n.º 5
0
 public IncomeBudgetItem(IncomeCategoryEnum category, decimal value, string description, DateTime itemDate)
     : base(IncomeOutcomeEnum.Income, value, description, itemDate)
 {
     Category = category;
 }