powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как реализовать вычисление дохода?
3 сообщений из 3, страница 1 из 1
Как реализовать вычисление дохода?
    #38536647
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть 2 таблицы. Связь 1:М.
1)Торговая точка: Поля-Тип тарифа (выбирается из таблицы-справочникаТипыТарифа), Тариф.
2)Явочная карточка:Поля-Год, Месяц, Кол-во заездов (вычисляемое), Перевезенная сумма(вычисляемое), Полученный доход (вычисляемое).
И нужно вычислить доход по текущей карточке в зависимости от типа тарифа.
Ну по логике вроде нужно применить switch… case. А если потом в справочник добавляем новую строку с ТипомТарифа? Не понятно, как в таком случае будет выбираться новое значение?
На всякий случай выкладываю скрин, чтобы понятнее было.
...
Рейтинг: 0 / 0
Как реализовать вычисление дохода?
    #38549568
Фотография Выcпрошайка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что, неужели нет никаких способов если добавляется новая запись ТипТарифа выполнить, исходя из нужной логики, вычисление?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
partial void TotalVisitQuantity_Compute(ref int result)
        {
            // Подсчитываем количество заездов в месяце
            result = this.InkasControlCardVisits.Count();

        }

        partial void TotalEncashSumma_Compute(ref decimal? result)
        {
            // Вычисляем общую сумму превезенной денежной наличности за месяц

            { 
                result = this.InkasControlCardVisits.Sum(s =>(decimal) s.CashingSumma);
            }
        }

        partial void RevenueServicePoint_Compute(ref decimal? result)
        {
            // Перебираем записи явочной карточки и вычисляем доход
           foreach(var controlcard in this.ServicePointCustomer.InkasControlCards)
           {
               if (controlcard.ServicePointCustomer.TariffType.Id == 1) // с одной тысячи рублей
               {
                  result = (controlcard.ServicePointCustomer.Tariff * TotalEncashSumma)/1000;
               }
               if (controlcard.ServicePointCustomer.TariffType.Id == 2) // за одну торговую точку в месяц
               {
                   result = (controlcard.ServicePointCustomer.Tariff);
               }
               if (controlcard.ServicePointCustomer.TariffType.Id == 3) // за один заезд
               {
                   result = (controlcard.ServicePointCustomer.Tariff * TotalVisitQuantity);
               }
           }
         } 
...
Рейтинг: 0 / 0
Как реализовать вычисление дохода?
    #38559624
orehov_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один вопрос по вычислению. Мне нужно суммировать доход по всем торговым точкам клиента. Для этого мы суммируем поле "Полученный Доход" у торговых точек. Как я думал, что код, который приводиться ниже, просуммирует доход торговых точек. Но я ошибся. Выводится только сумма одного клиента. Вот код:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
partial void RevenueCalculate_Execute()
        {
            // Вычисляем общую сумму дохода клиента за месяц по всем точкам обслуживания
            Customer cust = this.Customers.SelectedItem;// выбранный клиент

            foreach(ServicePointCustomer servpoint in cust.ServicePointCustomers)

            {
               this.RevenueCustomers.SelectedItem.AmountRevenue = servpoint.InkasControlCards.Sum(s => (decimal)s.RevenueServicePoint);
               
            }


Как я понимаю код: В выбранном Клиенте, мы перебираем его торговые точки. Потом присваиваем полю "Сумма Дохода" во вкладке Доход, сумму доходов торговых точек (поле таблицы RevenueServicePoint).
На скрине видно что у Маг.№1 одна сумма полученного дохода(112,98 руб), а у общий доход Клиента по двум магазинам показывает 6000 руб. (это сумма дохода по Маг.№2)
Объясните, что у меня не так? Или может нужно фильтры какие?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как реализовать вычисление дохода?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]