Des c: В контроллере я загружаю список сверхурочных из базы данных (SQL Server / Entity Framework) и суммирую его до одной переменной (она работает сейчас).
Проблема: Мне нужно выбрать данные из базы данных (списка) из столбца «Минус», но только в том случае, если в столбце «выпадающий список» выбран параметр «2».
И вычтите сумму загруженных данных из моей текущей общей суммы.
Контроллер:
var userName = "MIPA";
var numberYear = 2020;
var numberMonth = 6;
// downloading the overtime list from each previous month from the database
var overtimeListVariable = _ecpContext.Card
.Where(x => x.Login == userName &&
x.Year == numberYear &&
x.Month < numberMonth)
.Select(b => string.IsNullOrEmpty(b.overtimeList) ? TimeSpan.Zero : TimeSpan.Parse(b.overtimeList))
.ToList();
// Calculate sum
var sumOvertimeListVariable = overtimeListVariable.Aggregate(TimeSpan.Zero, (t1, t2) => t1 + t2);
SQL Сервер:
Id | Login | Year | Month | Day | Overtime |selectboxlist| Minus |
---+-------+------+-------+-----+----------+-------------+-------+
1 | MIPA | 2020 | 1 | 1 | 3:00 | 2 | 1:00 |
33 | MIPA | 2020 | 1 | 30 | 1:00 | null | 1:30 |
44 | MIPA | 2020 | 2 | 1 | 4:00 | 2 | 2:00 |
77 | MIPA | 2020 | 2 | 30 | 2:00 | null | 2:30 |
Вид:
@Html.DropDownListFor(m => m.Model1[nr_rows].DropdownClassList, new SelectList(Enum.GetValues(typeof(enumDropDown))), " ", new { @class = "selectboxlist" })
@Html.TextBoxFor(m => m.Model1[nr_rows].overtimeList , new { @class = "overtime", @type = "time"})
@Html.TextBoxFor(m => m.Model1[nr_rows].minusList, new { @class = "minus", @type = "time"})
Модель:
public partial class modelCard
{
public string overtimeList { get; set; }
public string minusList { get; set; }
public enumDropDown? DropdownClassList{ get; set; }
}
public enum enumDropDown
{
test1 = 1,
test2 = 2,
test3 =3
}