예제 #1
0
 public IActionResult Edit(int id, ResolutionEditModel viewResolutionToEdit)
 {
     // finish this Put method
     if (ModelState.IsValid)
     {
         //reassign the values of the resolution's properties with the values we've received
         // in the view model
         var resolutionToUpdate = _resolutionService.GetResolutionToEdit(id, viewResolutionToEdit);
         _resolutionService.EditResolution(resolutionToUpdate);
         return(RedirectToAction("Index"));
     }
     else
     {
         return(View(viewResolutionToEdit));
     }
 }
예제 #2
0
        // get this working first and refactor later
        public Resolution GetResolutionToEdit(int id, ResolutionEditModel viewResolution)
        {
            var allResolutions      = _resolutionReader.GetAllResolutions();
            var resolutionToEdit    = _resolutionReader.GetResolutionById(id);
            var musicResolutions    = _resolutionReader.GetMusicResolutions().Where(m => m.Id.Equals(id));
            var healthResolutions   = _resolutionReader.GetHealthResolutions().Where(h => h.Id.Equals(id));
            var codingResolutions   = _resolutionReader.GetCodingResolutions().Where(c => c.Id.Equals(id));
            var languageResolutions = _resolutionReader.GetLanguageResolutions().Where(l => l.Id.Equals(id));

            var percentageWithoutPercentageSign = viewResolution.PercentageCompletion.RemovePercentageSign();
            var dateCompleted = viewResolution.ResolutionIsComplete ? DateTime.Parse(viewResolution.ResolutionDateCompleted) : resolutionToEdit.DateCompleted;

            // general properties that we can update regardless of specific type
            resolutionToEdit.Title               = viewResolution.ResolutionTitle;
            resolutionToEdit.Description         = viewResolution.ResolutionDescription;
            resolutionToEdit.Deadline            = DateTime.Parse(viewResolution.ResolutionDeadline);
            resolutionToEdit.DateCompleted       = dateCompleted;
            resolutionToEdit.PercentageCompleted = Int32.Parse(percentageWithoutPercentageSign);

            // abstract this into separate method
            if (musicResolutions.Any())
            {
                var musicResolutionToEdit = musicResolutions.Where(m => m.Id.Equals(id)).SingleOrDefault();
                musicResolutionToEdit.MusicGenre = viewResolution.MusicGenre;
                musicResolutionToEdit.Instrument = viewResolution.MusicalInstrument;
            }
            else if (healthResolutions.Any())
            {
                var healthResolutionToEdit = healthResolutions.Where(h => h.Id.Equals(id)).SingleOrDefault();
                healthResolutionToEdit.HealthArea = viewResolution.HealthArea;
            }
            else if (codingResolutions.Any())
            {
                var codingResolutionToEdit = codingResolutions.Where(c => c.Id.Equals(id)).SingleOrDefault();
                codingResolutionToEdit.Technology = viewResolution.CodingTechnology;
            }
            else
            {
                var languageResolutionToEdit = languageResolutions.Where(l => l.Id.Equals(id)).SingleOrDefault();
                languageResolutionToEdit.Language = viewResolution.Language;
                languageResolutionToEdit.Skill    = viewResolution.LanguageSkill;
            }

            return(resolutionToEdit);
        }
예제 #3
0
        // map a resolution to its view model equivalent
        public ResolutionEditModel GetResolutionEditObject(int id)
        {
            var resolutionToEdit = _resolutionReader.GetResolutionById(id);

            var viewResolutionToEdit = new ResolutionEditModel()
            {
                ResolutionId          = resolutionToEdit.Id.ToString(),
                ResolutionTitle       = resolutionToEdit.Title,
                ResolutionDescription = resolutionToEdit.Description,
                ResolutionDeadline    = resolutionToEdit.Deadline.ToString(),
                ResolutionType        = GetResolutionType(id),
                PercentageCompletion  = resolutionToEdit.PercentageCompleted.ToString(),
                MusicGenre            = _resolutionReader.GetMusicGenre(id),
                MusicalInstrument     = _resolutionReader.GetInstrument(id),
                HealthArea            = _resolutionReader.GetHealthArea(id),
                CodingTechnology      = _resolutionReader.GetTechnology(id),
                Language      = _resolutionReader.GetLanguage(id),
                LanguageSkill = _resolutionReader.GetSkill(id)
            };

            return(viewResolutionToEdit);
        }