Ejemplo n.º 1
0
 public IEnumerable <PayItem> GetPayItemsByDateWeb(DateTime date, IWorkingUser user)
 {
     try
     {
         return((from pItem in _pItemRepo.GetList()
                 where pItem.UserId == user.Id
                 select new PayItem()
         {
             AccountName = pItem.Account.AccountName,
             CategoryName = pItem.Category.Name,
             Comment = pItem.Comment,
             Summ = pItem.Summ,
             Date = pItem.Date,
             ItemId = pItem.ItemID
         })
                .Where(d => d.Date == date.Date)
                .ToList());
     }
     catch (DomainModelsException e)
     {
         throw new ServiceException(
                   $"Ошибка в сервисе {nameof(DbHelper)} в методе {nameof(GetPayingItemsByDateWeb)} при обращении к БД",
                   e);
     }
 }
Ejemplo n.º 2
0
 public IEnumerable <PayItem> GetCategoryPayItemsInDatesWeb(DateTime dateFrom, DateTime dateTo, int categoryId,
                                                            IWorkingUser user)
 {
     try
     {
         var items = _pItemRepo.GetList(p => p.CategoryID == categoryId && p.UserId == user.Id && (p.Date >= dateFrom.Date) && (p.Date <= dateTo.Date))
                     .Select(pItem => new PayItem()
         {
             AccountName  = pItem.Account.AccountName,
             CategoryName = pItem.Category.Name,
             Comment      = pItem.Comment,
             Summ         = pItem.Summ,
             Date         = pItem.Date,
             ItemId       = pItem.ItemID
         })
                     .OrderBy(d => d.Date);
         return(items
                .ToList());
     }
     catch (DomainModelsException e)
     {
         throw new ServiceException(
                   $"Ошибка в сервисе {nameof(ReportHelper)} в методе {nameof(GetCategoryPayItemsInDatesWeb)} при обращении к БД",
                   e);
     }
 }
Ejemplo n.º 3
0
 public IEnumerable <PayingItem> GetListByTypeOfFlow(IWorkingUser user, int typeOfFlow)
 {
     try
     {
         return(_repository.GetList(u => u.UserId == user.Id && u.Category.TypeOfFlowID == typeOfFlow));
     }
     catch (DomainModelsException e)
     {
         throw new ServiceException($"Ошибка в сервисе {nameof(PayingItemService)} в методе {nameof(GetListByTypeOfFlow)} при обращении к БД", e);
     }
 }
Ejemplo n.º 4
0
 public IEnumerable <PayingItem> GetPayingItemsByDateWeb(DateTime date, IWorkingUser user)
 {
     try
     {
         return(_pItemRepo.GetList(d => d.Date == date.Date && d.UserId == user.Id)
                .ToList());
     }
     catch (DomainModelsException e)
     {
         throw new ServiceException(
                   $"Ошибка в сервисе {nameof(ReportHelper)} в методе {nameof(GetPayingItemsByDateWeb)} при обращении к БД",
                   e);
     }
 }
Ejemplo n.º 5
0
 private Budget GetBudget(IWorkingUser user)
 {
     try
     {
         var budget = new Budget
         {
             BudgetInFact  = _dbHelper.GetBudgetInFactWeb(user).Result,
             BudgetOverAll = _dbHelper.GetBudgetOverAllWeb(user).Result
         };
         return(budget);
     }
     catch (ServiceException e)
     {
         throw new WebUiException($"Ошибка в контроллере {nameof(NavLeftController)} в методе {nameof(GetBudget)}", e);
     }
 }
Ejemplo n.º 6
0
 public Task <string> GetBudgetOverAllWeb(IWorkingUser user)
 {
     return(Task.Run(() =>
     {
         try
         {
             return _accRepo.GetList(i => i.UserId == user.Id)
             .Sum(s => s.Cash)
             .ToString("c");
         }
         catch (DomainModelsException e)
         {
             throw new ServiceException(
                 $"Ошибка в сервисе {nameof(ReportHelper)} в методе {nameof(GetBudgetOverAllWeb)} при обращении к БД",
                 e);
         }
     }));
 }
Ejemplo n.º 7
0
 public IEnumerable <PayingItem> GetPayingItemsInDatesWeb(DateTime dateFrom, DateTime dateTo, IWorkingUser user)
 {
     try
     {
         return(_pItemRepo.GetList()
                .Where(d => (d.Date >= dateFrom.Date) && (d.Date <= dateTo.Date) && d.UserId == user.Id)
                .OrderBy(d => d.Date)
                .ToList());
     }
     catch (DomainModelsException e)
     {
         throw new ServiceException(
                   $"Ошибка в сервисе {nameof(DbHelper)} в методе {nameof(GetPayingItemsInDatesWeb)} при обращении к БД",
                   e);
     }
 }
Ejemplo n.º 8
0
 public IEnumerable <PayItem> GetPayItemsInDatesByTypeOfFlowWeb(DateTime dateFrom, DateTime dateTo,
                                                                int typeOfFlowId, IWorkingUser user)
 {
     try
     {
         return((from pItem in _pItemRepo.GetList()
                 where pItem.Category.TypeOfFlowID == typeOfFlowId && pItem.UserId == user.Id
                 select new PayItem()
         {
             AccountName = pItem.Account.AccountName,
             CategoryName = pItem.Category.Name,
             Comment = pItem.Comment,
             Summ = pItem.Summ,
             Date = pItem.Date,
             ItemId = pItem.ItemID
         })
                .Where(d => (d.Date >= dateFrom.Date) && (d.Date <= dateTo.Date))
                .OrderBy(d => d.Date)
                .ToList());
     }
     catch (DomainModelsException e)
     {
         throw new ServiceException(
                   $"Ошибка в сервисе {nameof(DbHelper)} в методе {nameof(GetPayItemsInDatesByTypeOfFlowWeb)} при обращении к БД",
                   e);
     }
 }
 public IEnumerable <PayingItem> GetListByTypeOfFlow(IWorkingUser user, int typeOfFlow)
 {
     return(_payingItemService.GetListByTypeOfFlow(user, typeOfFlow));
 }
Ejemplo n.º 10
0
 public IEnumerable <PayItem> GetCategoryPayItemsByDateWeb(DateTime date, int categoryId, IWorkingUser user)
 {
     try
     {
         return(_pItemRepo.GetList(pItem => pItem.CategoryID == categoryId && pItem.UserId == user.Id && (pItem.Date == date.Date))
                .Select(pItem => new PayItem()
         {
             AccountName = pItem.Account.AccountName,
             CategoryName = pItem.Category.Name,
             Comment = pItem.Comment,
             Summ = pItem.Summ,
             Date = pItem.Date,
             ItemId = pItem.ItemID
         })
                .ToList());
     }
     catch (DomainModelsException e)
     {
         throw new ServiceException(
                   $"Ошибка в сервисе {nameof(ReportHelper)} в методе {nameof(GetCategoryPayItemsByDateWeb)} при обращении к БД",
                   e);
     }
 }
Ejemplo n.º 11
0
        public async Task <List <PayItemSubcategories> > GetPayItemsWithSubcategoriesInDatesWeb(DateTime dateFrom, DateTime dateTo,
                                                                                                IWorkingUser user, int typeOfFlowId)
        {
            try
            {
                var pItems = _payingItemService.GetList() //Отфильтрованный по дате,юзеру,типу список транзакций
                             .Where(x => x.UserId == user.Id && x.Date >= dateFrom.Date && (x.Date <= dateTo.Date) && x.Category.TypeOfFlowID == typeOfFlowId)
                             .ToList();

                var payItemSubcategoriesList = new List <PayItemSubcategories>();

                var ids = pItems.GroupBy(x => x.CategoryID)                               //Список ИД категорий за выбранный период
                          .ToList();
                ids.ForEach(id => payItemSubcategoriesList.Add(new PayItemSubcategories() //Наполняем у ViewModel свойства CategoryId
                {
                    CategoryId    = id.Key,
                    CategorySumm  = new OverAllItem(),
                    ProductPrices = new List <ProductPrice>()
                }));

                var catNameGrouping = pItems //Наполняем список View Model и заполняем у каждого итема свойство CategorySumm
                                      .Where(x => x.UserId == user.Id &&
                                             ((x.Date >= dateFrom.Date) && (x.Date <= dateTo.Date)) &&
                                             x.Category.TypeOfFlowID == typeOfFlowId)
                                      .GroupBy(x => x.Category.Name)
                                      .ToList();

                var i = 0;
                foreach (var item in payItemSubcategoriesList)
                {
                    item.CategorySumm.Category = catNameGrouping[i].Key;
                    item.CategorySumm.Summ     = catNameGrouping[i].Sum(x => x.Summ);
                    i++;
                }

                foreach (var item in payItemSubcategoriesList)
                {
                    item.ProductPrices = await FillProductPrices(item.CategoryId, dateFrom, dateTo).ConfigureAwait(false);
                }
                return(payItemSubcategoriesList);
            }
            catch (ServiceException e)
            {
                throw new WebUiHelperException($"Ошибка в сервисе {nameof(PayItemSubcategoriesHelper)} в методе {nameof(GetPayItemsWithSubcategoriesInDatesWeb)} при обращении к БД", e);
            }
        }