Пример #1
0
        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);
        }
Пример #2
0
        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)));
            }
        }
Пример #3
0
 /// <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
     });
 }
Пример #4
0
 public bool UpdateOneTimeExpense(string id, OneTimeExpense oneTimeExpense)
 {
     return(PostOneTimeExpense(oneTimeExpense) != null);
 }