コード例 #1
0
        public ActionResult Politician(HttpPostedFileBase mainPic, HttpPostedFileBase listButtonPic, HttpPostedFileBase smallButtonPic, PersonDto personDto)
        {
            var    personRepo        = new PersonRepository();
            var    languageManager   = new LanguageManager();
            var    parliamentManager = new ParliamentManager();
            Person person;

            if (personDto.Id == 0)
            {
                if (personDto.GenericName.Trim() == personDto.GenericPost.Trim())
                {
                    TempData["Notifications"] = $"Please select different strings for post and name.";
                    return(View("Politician", personDto));
                }

                if (LanguageHelper.IsInUse(personDto.GenericName))
                {
                    TempData["Notifications"] = $"Name {personDto.GenericName} is already used in dictionary. Please select another one.";
                    return(View("Politician", personDto));
                }

                if (LanguageHelper.IsInUse(personDto.GenericPost))
                {
                    TempData["Notifications"] = $"Post {personDto.GenericPost} is already used in dictionary. Please select another one.";
                    return(View("Politician", personDto));
                }

                person = new Person();
                var firstPersonInList = personRepo.GetAll().OrderByDescending(p => p.Id).FirstOrDefault();
                if (firstPersonInList == null)
                {
                    personDto.Id = 1;
                }
                else
                {
                    personDto.Id = firstPersonInList.Id + 1;
                }

                TempData["Notifications"] = "Added new politician...";
            }
            else
            {
                person = personRepo.Get(personDto.Id);
                TempData["Notifications"] = "Saved...";
            }

            parliamentManager.FillImages(mainPic, listButtonPic, smallButtonPic, personDto, person);

            personDto.Tracks = person.Tracks;
            var updatedPerson = PersonMapper.MapPersonDto(personDto);

            languageManager.SaveTranslations(personDto);
            personRepo.Upsert(updatedPerson);

            return(RedirectToAction("Politician", new { id = personDto.Id }));
        }
コード例 #2
0
        public ActionResult Track(HttpPostedFileBase audioFile, TrackDto trackDto)
        {
            var personRepo        = new PersonRepository();
            var parliamentManager = new ParliamentManager();
            var person            = personRepo.GetAll().FirstOrDefault(p => p.Id == trackDto.PoliticianId);

            if (person == null)
            {
                ViewBag.Error = "Person wasn't found";
                Response.RedirectToRoute("/Error");
                return(null);
            }

            trackDto.PoliticianName = person.Name;
            trackDto = parliamentManager.FillAudioFile(audioFile, trackDto);
            var trackToUpdate = TrackMapper.MapTrackDto(trackDto);
            var updatedTrack  = personRepo.UpsertTrack(trackDto.PoliticianId, trackToUpdate);

            TempData["Notifications"] = "Added...";
            return(RedirectToAction("Track", new { politicianId = person.Id, trackId = updatedTrack.Id }));
        }