Пример #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,StartTime,EndTime,ApplicationDeadline,Openings,OpportunityId")] Occurrence occurrence)
        {
            if (id != occurrence.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(OccurrenceTimeZoneConverter.ConvertToUtc().Invoke(occurrence));
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!OccurrenceExists(occurrence.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["OpportunityId"] = new SelectList(_context.Opportunities, "Id", "Name", occurrence.OpportunityId);
            return(View(occurrence));
        }
Пример #2
0
        public async Task <IActionResult> Index()
        {
            List <Occurrence> occurrences = await _context.Occurrences
                                            .Include(o => o.Opportunity)
                                            .ToListAsync();

            return(View(occurrences.Select(OccurrenceTimeZoneConverter.ConvertFromUtc()).ToList()));
        }
Пример #3
0
        public async Task <IActionResult> Create([Bind("Id,StartTime,EndTime,ApplicationDeadline,Openings,OpportunityId")] Occurrence occurrence)
        {
            if (ModelState.IsValid)
            {
                _context.Add(OccurrenceTimeZoneConverter.ConvertToUtc().Invoke(occurrence));
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["OpportunityId"] = new SelectList(_context.Opportunities, "Id", "Name", occurrence.OpportunityId);
            return(View(occurrence));
        }
Пример #4
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var occurrence = await _context.Occurrences.SingleOrDefaultAsync(m => m.Id == id);

            if (occurrence == null)
            {
                return(NotFound());
            }
            ViewData["OpportunityId"] = new SelectList(_context.Opportunities, "Id", "Name", occurrence.OpportunityId);
            return(View(OccurrenceTimeZoneConverter.ConvertFromUtc().Invoke(occurrence)));
        }
Пример #5
0
        public async Task <IActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var occurrence = await _context.Occurrences
                             .Include(o => o.Opportunity)
                             .SingleOrDefaultAsync(m => m.Id == id);

            if (occurrence == null)
            {
                return(NotFound());
            }

            return(View(OccurrenceTimeZoneConverter.ConvertFromUtc().Invoke(occurrence)));
        }
Пример #6
0
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var opportunity = await _context.Opportunities
                              .Include(o => o.Category)
                              .Include(o => o.Organization)
                              .Include(o => o.Community)
                              .Include(o => o.OpportunityImages)
                              .Include(o => o.Occurrences)
                              .ThenInclude(occ => occ.Applications)
                              .AsNoTracking()
                              .SingleOrDefaultAsync(m => m.Id == id);

            if (opportunity == null)
            {
                return(NotFound());
            }

            List <Occurrence> occurrences = opportunity.Occurrences
                                            .Where(o => o.ApplicationDeadline > DateTime.Now && o.Openings > o.Applications.Count)
                                            .Select(occ => OccurrenceTimeZoneConverter.ConvertFromUtc().Invoke(occ))
                                            .ToList();

            ApplyModel applyModel = new ApplyModel()
            {
                OpportunityId = opportunity.Id,
                Opportunity   = opportunity,
                Occurrences   = new SelectList(occurrences, "Id", "StartTime")
            };

            ViewData["Message"] = Message;
            return(View(applyModel));
        }