Пример #1
0
        public ApiResult Execute(AddExpenseDto dto)
        {
            ApiResult result = new ApiResult {
                Status = true, Message = Messages.Success,
            };
            var     now = DateTime.Now.ToUnix();
            Expense ex  = new Expense
            {
                UserId    = dto.UserId,
                StatusId  = Enums.EntityStatus.Deactive.ToInt(),
                Lon       = dto.Lon,
                Lat       = dto.Lat,
                CreatedAt = now,
                Amount    = dto.Amount,
                Name      = dto.Name
            };

            unit.Expense.Add(ex);
            unit.Complete();

            List <StoreCategory> cat = new List <StoreCategory>();

            if (dto.Categories != null)
            {
                cat = dto.Categories.Where(p => p.Id == null).Select(p => new StoreCategory {
                    CreatedAt = now, Name = p.Name
                }).ToList();
                unit.StoreCategory.AddRange(cat);
                unit.Complete();
            }
            List <ExpenseCategory> ec = new List <ExpenseCategory>();

            if (dto.Categories != null)
            {
                var validCat = dto.Categories.Where(p => p.Id != null).Select(p => p.Id).ToList();
                validCat.ForEach(p => ec.Add(new ExpenseCategory {
                    CreatedAt = now, ExpenseId = ex.Id, StoreCategoryId = p.Value
                }));
                cat.ForEach(p => ec.Add(new ExpenseCategory {
                    CreatedAt = now, ExpenseId = ex.Id, StoreCategoryId = p.Id
                }));
                unit.ExpenseCategory.AddRange(ec);
                unit.Complete();
            }
            ex.Categories = ec;
            result.Object = Agent.ToJson(ex);
            return(result);
        }
Пример #2
0
 public ActionResult <ApiResult> AddExpense([FromBody] AddExpenseDto dto)
 {
     return(addExpense.Execute(dto));
 }