예제 #1
0
        public async Task <IActionResult> AddCharts(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var performanceToUpdate = await _context.Performances
                                      .Include(p => p.ConcertProgramme)
                                      .SingleOrDefaultAsync(p => p.ID == id);

            var chartList = new HashSet <int>(performanceToUpdate.ConcertProgramme.Select(c => c.ChartID));


            foreach (var item in cart.ChartsPool)
            {
                if (!chartList.Contains(item.ID))
                {
                    var newPerfChart = new PerformanceChart
                    {
                        PerformanceID = (int)id,
                        ChartID       = item.ID
                    };
                    performanceToUpdate.ConcertProgramme.Add(newPerfChart);
                }
            }
            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Details), new { id = performanceToUpdate.ID }));
        }
예제 #2
0
        public async Task <IActionResult> Create([Bind("ChartName,Minutes,Seconds," +
                                                       "Composer,Arranger,RecordingUrl,Note,ShelfNumber")] Chart chart)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var defaultInstruments = Request.Form["ChartInstruments"];
                    chart.Instrumentation = new List <ChartInstrument>();

                    foreach (var item in defaultInstruments)
                    {
                        chart.Instrumentation.Add(new ChartInstrument
                        {
                            ChartID      = chart.ID,
                            InstrumentID = int.Parse(item)
                        });
                    }
                    _context.Add(chart);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Details), new { id = chart.ID }));
                }
            }
            catch (Exception)
            {
                ModelState.AddModelError("", "Unable to save changes. " +
                                         "Try again, and if the problem persists " +
                                         "see your system administrator.");
            }
            PopulateDefaultInstrumentationList();

            return(View(chart));
        }
예제 #3
0
        public async Task <IActionResult> Create([Bind("LastName,FirstName,Address,Email,Phone,Note,IsFullTime")]
                                                 Person person)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _context.Add(person);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
            }
            catch (Exception)
            {
                ModelState.AddModelError("", "Unable to save changes. " +
                                         "Try again, and if the problem persists " +
                                         "see your system administrator.");
            }
            return(View(person));
        }
예제 #4
0
        public async Task <IActionResult> Create([Bind("VenueName,City,Contact,Comments")] Venue venue)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _context.Add(venue);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
            }
            catch (Exception /*ex*/)
            {
                //Log the error (unkomment ex variable name and write a log.)
                ModelState.AddModelError("", "Unable to save changes. " +
                                         "Try again, and if the problem persists " +
                                         "see your system administrator.");
            }
            return(View(venue));
        }