Как посмотреть, совпадает ли День с днем ​​недели и как превратить его в таблицу - PullRequest
0 голосов
/ 04 апреля 2019

Я пытался создать календарь с MVC (нужны классы для этого проекта) и c #, и я не смог сопоставить день месяца с днем ​​недели для других месяцев.

Я пробовал ответ от этого .

Класс моей модели -

    public class DayOfMonthViewModel
    {
        public DateTime LastDayOfLastMonth { get; set; }
        public DateTime FirstDayOfNextMonth { get; set; }
        public DateTime FirstDayOfTheMonth { get; set; }
        public int LastDayOfTheMonth { get; set; }
        public int DayOfMonth { get; set; }
        public DayOfWeek DayOfWeek { get; set; }
    }
    public class PresenceRecordViewModel
    {
        public List<DayOfMonthViewModel> DaysOfMonth { get; set; }
    }

Контроллер -

            int days = 0;
            int month = DateTime.UtcNow.Month;
            int year = DateTime.UtcNow.Year;
            var DaysInMonth = DateTime.DaysInMonth(year, month);

            switch (month)
            {
                case 1:
            }

            PresenceRecordViewModel prv = new PresenceRecordViewModel()
            {
                DaysOfMonth = new List<DayOfMonthViewModel>()

            };
            for (int i = 1; i <= days; i++)
            {
                DayOfMonthViewModel dom = new DayOfMonthViewModel()
                {

                    LastDayOfLastMonth = new DateTime(year, month, 1).AddDays(-1),
                    FirstDayOfTheMonth = new DateTime(year, month, 1),
                    LastDayOfTheMonth = DaysInMonth,
                    DayOfMonth = i,
                    AfternoonEndHour = "18:00",
                    AfternoonStartHour = "14:00",
                    ExternalService = false,
                    ExtraHoursList = new List<ExtraHoursViewModel>(),
                    MorningEndHour = "13:00",
                    MorningStartHour = "9:00",
                    DayOfWeek = new DateTime(year, month, i).DayOfWeek,
                    FirstDayOfNextMonth = new DateTime(year, 1, 1).AddMonths(1),

                };
                prv.DaysOfMonth.Add(dom);
            }
            return View(prv);

Просмотр-

        <table class="table color-table info-table table-bordered">

            <thead align="center">
                <tr><h1>Mês : @DateTime.UtcNow.Month.ToString("d")</h1></tr>
                <tr>
                    <th height="55" style="text-align:center">DOM</th>
                    <th style="text-align:center">SEG</th>
                    <th style="text-align:center">TER</th>
                    <th style="text-align:center">QUA</th>
                    <th style="text-align:center">QUI</th>
                    <th style="text-align:center">SEX</th>
                    <th style="text-align:center">SÁB</th>
                </tr>
            </thead>

    <td bgcolor="#666666"><h3>style="color:black">@Model.DaysOfMonth[1].LastDayOfLastMonth.Day.ToString("d")</h3>
                </td>
                @for (int i = Model.DaysOfMonth[0].DayOfMonth; i < Model.DaysOfMonth.Count(); i++)
                {

                    if (i % 7 == 0 && i > 0)
                    {
                    @:<tr></tr>
                    }

                    if (Model.DaysOfMonth[i].DayOfWeek == DayOfWeek.Monday || Model.DaysOfMonth[i].DayOfWeek == DayOfWeek.Sunday)
                    {
                    <td bgcolor="#666666">
                        <h3 align="right" style="color:black">@i</h3>
                    </td>
                    }
                    else
                    {
                    <td bgcolor="#ffffff">
                        <h3 align="right" style="color:black">@i</h3>
                    </td>
                    }
                }
                <td bgcolor="#ffffff">
                    <h3 align="right" style="color:black">@Model.DaysOfMonth[1].LastDayOfTheMonth</h3>
                </td>
                <td bgcolor="#ffffff">
                    <h3 align="right" style="color:black">@Model.DaysOfMonth[1].FirstDayOfNextMonth.Day.ToString("d")</h3>
                </td>
            </table>

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

...