Pole wyliczeniowe

0

Witam,
Mam prośbę o pomoc w być może trywialnym problemem, ale przeszukuje internet bez skutku. Chodzi mi o wyliczenie różnicy między dwoma datami i wyświetlenie tej różnicy w widoku. Aplikację piszę w Asp.Net Core. Poniżej część kodu:
Model:
public class Ecp

    {
        [Key]
        public int Id { get; set; }
        [Display(Name = "Imię")]
        public string Name { get; set; }
        [Display(Name = "Nazwisko")]
        public string Surname { get; set; }

        [DataType(DataType.DateTime)]
        [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
        [Display(Name = "Data")]
        public DateTime StartJobDate { get; set; }

        [DataType(DataType.DateTime)]
        [DisplayFormat(DataFormatString = "{0:HH:mm}", ApplyFormatInEditMode = true)]
        [Display(Name = "Godzina rozpoczęcia")]
        public DateTime StartJobHour { get; set; }


        [DataType(DataType.DateTime)]
        [DisplayFormat(DataFormatString = "{0:HH:mm}", ApplyFormatInEditMode = true)]
        [Display(Name = "Godzina zakończenia")]
        public DateTime EndJobHour { get; set; }

    }

Kontroler:

public class HomeController : Controller
    {
        private readonly EcpDbContext _context;
        public HomeController(EcpDbContext context)
        {
            _context = context;
        }

        public string GetName()
        {
            string login = WindowsIdentity.GetCurrent().Name;
            var name = _context.appUsers
                .Where(n => n.LoginWindows == login)
                .Select(n => n.Name)
                .FirstOrDefault();
            return name;
        }

        public string GetSurname()
        {
            string login = WindowsIdentity.GetCurrent().Name;
            var surname = _context.appUsers
                 .Where(n => n.LoginWindows == login)
                 .Select(n => n.Surname)
                 .FirstOrDefault();
            return surname;
        }
       //Moja próba wyliczenia róznicy w metodzie, ale nie potrafię przekazać tej metody do widoku :(
        public double JobTime(double startJob, double endJob)
        {
            return endJob - startJob;
        }


        public async Task<IActionResult> Index()
        {
            string name = GetName();
            string surname = GetSurname();
            ViewBag.fullName = name + ' ' + surname;


            return View(await _context.Ecps.ToListAsync());
        }

Widok:

 @foreach (var item in Model)
            {
            <tr>
                <td>
                    @Html.DisplayFor(modelItem => item.Name)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.Surname)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.StartJobDate)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.StartJobHour)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.EndJobHour)
                </td>
                <td>
                    //Jak wyświetlić różnicę EndJobHour - StartJobHour
                </td>
            </tr>

Gorąca prośba o jakiekolwiek porady czy wskazówki.
Pozdrawiam

0

Chodzi ci o takie coś public static TimeSpan operator - (DateTime d1, DateTime d2); ?

0

No dokładnie, tylko nie potrafię przekazać tej metody do widoku, gdzie parametry są pobierane w pętli foreach...:(

1 użytkowników online, w tym zalogowanych: 0, gości: 1