public bool DeleteOneTimeExpense(string expenseId, OneTimeExpense oneTimeExpense) { var lessonUserId = GetUserLessonId(); if (!lessonUserId.HasValue) { return(false); } lock (_lockObject) { var oneTimeExpenses = SaltServiceAgent.GetUserLesson2Results(lessonUserId.Value, LessonSteps.Lesson2.OneTimePurchases).ToDomainObject().OneTimeExpenses.ToList(); oneTimeExpenses.Remove(oneTimeExpenses.First(e => e.Equals(oneTimeExpense))); SaltServiceAgent.PostLesson2( new Lesson2() { OneTimeExpenses = new List <OneTimeExpense>(oneTimeExpenses), User = new User() { UserId = lessonUserId.Value } }.ToDataContract()).ToDomainObject(); } return(true); }
public OneTimeExpense PostOneTimeExpense(OneTimeExpense oneTimeExpense) { var lessonUserId = GetUserLessonId(); if (!lessonUserId.HasValue || oneTimeExpense.Value <= 0) { return(null); } lock (_lockObject) { var result = SaltServiceAgent.PostLesson2( new Lesson2() { OneTimeExpenses = new List <OneTimeExpense>(SaltServiceAgent.GetUserLesson2Results(lessonUserId.Value, LessonSteps.Lesson2.OneTimePurchases) .ToDomainObject() .OneTimeExpenses) { oneTimeExpense }, User = new User() { UserId = lessonUserId.Value } }.ToDataContract()).ToDomainObject(); return(result.OneTimeExpenses.First(oe => oe.Equals(oneTimeExpense))); } }
/// <summary> /// To the data contract. /// </summary> /// <param name="oneTimeExpense">The one time expense.</param> /// <returns></returns> public static ExpenseContract ToDataContract(this OneTimeExpense oneTimeExpense) { return(new ExpenseContract() { Name = oneTimeExpense.Name, ExpenseAmount = oneTimeExpense.Value, ExpenseDate = oneTimeExpense.Month > 0? new DateTime(DateTime.Now.Year, oneTimeExpense.Month, 1) : DateTime.MinValue, Id = oneTimeExpense.OneTimeExpenseId, LessonUserId = oneTimeExpense.UserId }); }
public bool UpdateOneTimeExpense(string id, OneTimeExpense oneTimeExpense) { return(PostOneTimeExpense(oneTimeExpense) != null); }