Как организовать таблицу программно - PullRequest
0 голосов
/ 26 октября 2018

мне нужно организовать таблицу посещаемости времени от этой

+--------+-----------+-----------+
| userId | CheckTime | CheckType |
+--------+-----------+-----------+
| 1      | 09:10     | In        |
+--------+-----------+-----------+
| 1      | 16:02     | In        |
+--------+-----------+-----------+
| 1      | 19:50     | Out       |
+--------+-----------+-----------+

до этой

+--------+---------+----------+
| userId | CheckIn | CheckOut |
+--------+---------+----------+
| 1      | 09:10   |          |
+        +---------+----------+
|        | 16:02   | 19:50    |
+        +---------+----------+
|        |         |          |
+--------+---------+----------+

в Razor Engine. Я попытался решить следующую проблему:

<table class="table table-bordered table-striped">
            @foreach (var usergroup in Model.Usersquery.GroupBy(g => g.UserId))
            {

                foreach (var checkin in Model.Attendancequery.Where(a => a.UserId == usergroup.Key && a.CheckType == "In"))
                {
                    var checkout = @Model.Attendancequery.Where(a => a.UserId == usergroup.Key && a.CheckType == "Out" && a.CheckTime > checkin.CheckTime).Select(d => (DateTime?)d.CheckTime).DefaultIfEmpty().FirstOrDefault();
                    var hours = checkout - checkin.CheckTime;
            <tr>
                <th>@usergroup.FirstOrDefault(f => f.UserId == usergroup.Key).Name</th>
                <td>@checkin.CheckTime.ToShortTimeString()</td>
                @if (checkout.HasValue)
                {
                    var cc = (DateTime)checkout;
                <td>@cc.ToShortTimeString()</td>
                } else{<td>@checkout</td>}
                <td>@hours</td>
            </tr>
                }

            }
        </table>

это то, что он рассчитывает одну и ту же проверку для каждой регистрации. Я был бы рад за любую помощь ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...