예제 #1
0
        public ActionResult AddDeveloper(AddDeveloperViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                viewModel = this.FillDataSources(viewModel);

                return(View(viewModel));
            }
            // Generate the token and send it
            var developerToAddResult = this.MapDeveloper(viewModel);

            if (developerToAddResult.IsError)
            {
                ModelState.AddModelError("", $"Error: { developerToAddResult.Message }");
                viewModel = this.FillDataSources(viewModel);

                return(View(viewModel));
            }

            AddDeveloperDto developerToAdd = developerToAddResult.Data;

            Result <AddDeveloperDto> result = this.service.AddDeveloper(developerToAdd);

            if (result.IsError)
            {
                viewModel = this.FillDataSources(viewModel);
                ModelState.AddModelError("", $"Error: { result.Message }");

                return(View(viewModel));
            }

            return(RedirectToAction("Developers", "Developer"));
        }
예제 #2
0
        public ActionResult AddDeveloper()
        {
            AddDeveloperViewModel viewModel = new AddDeveloperViewModel();

            viewModel = this.FillDataSources(viewModel);

            return(View(viewModel));
        }
예제 #3
0
        private Result <AddDeveloperDto> MapDeveloper(AddDeveloperViewModel viewModel)
        {
            Result <AddDeveloperDto> result = new Result <AddDeveloperDto>();

            try
            {
                AddDeveloperDto dto = Mapper.Map <AddDeveloperViewModel, AddDeveloperDto>(viewModel);
                if (viewModel.FirstKnownLanguage != null &&
                    viewModel.FirstKnownLanguage.LanguageID != ProgrammingLanguage.Select &&
                    viewModel.FirstKnownLanguage.SeniorityLevel != SeniorityLevel.Select)
                {
                    dto.KnownLanguages.Add(Mapper.Map <AddLanguageLearntViewModel, AddLanguageLearntDto>(viewModel.FirstKnownLanguage));
                }
                if (viewModel.SecondKnownLanguage != null &&
                    viewModel.SecondKnownLanguage.LanguageID != ProgrammingLanguage.Select &&
                    viewModel.SecondKnownLanguage.SeniorityLevel != SeniorityLevel.Select)
                {
                    dto.KnownLanguages.Add(Mapper.Map <AddLanguageLearntViewModel, AddLanguageLearntDto>(viewModel.SecondKnownLanguage));
                }
                if (viewModel.ThirdKnownLanguage != null &&
                    viewModel.ThirdKnownLanguage.LanguageID != ProgrammingLanguage.Select &&
                    viewModel.ThirdKnownLanguage.SeniorityLevel != SeniorityLevel.Select)
                {
                    dto.KnownLanguages.Add(Mapper.Map <AddLanguageLearntViewModel, AddLanguageLearntDto>(viewModel.ThirdKnownLanguage));
                }
                if (viewModel.FourthKnownLanguage != null &&
                    viewModel.FourthKnownLanguage.LanguageID != ProgrammingLanguage.Select &&
                    viewModel.FourthKnownLanguage.SeniorityLevel != SeniorityLevel.Select)
                {
                    dto.KnownLanguages.Add(Mapper.Map <AddLanguageLearntViewModel, AddLanguageLearntDto>(viewModel.FourthKnownLanguage));
                }
                if (viewModel.FifthKnownLanguage != null &&
                    viewModel.FifthKnownLanguage.LanguageID != ProgrammingLanguage.Select &&
                    viewModel.FifthKnownLanguage.SeniorityLevel != SeniorityLevel.Select)
                {
                    dto.KnownLanguages.Add(Mapper.Map <AddLanguageLearntViewModel, AddLanguageLearntDto>(viewModel.FifthKnownLanguage));
                }

                if (dto.KnownLanguages.Count == 0)
                {
                    result.SetError("Select at least one language!");

                    return(result);
                }

                return(result.SetData(dto));
            }
            catch (Exception ex)
            {
                result.SetError(ex.Message);

                return(result);
            }
        }
예제 #4
0
        private AddDeveloperViewModel FillDataSources(AddDeveloperViewModel viewModel)
        {
            IList <DataSourceDto> languagesDataSource = this.dataSourceService.GetLanguagesDataSource();

            viewModel.Languages = Mapper.Map <IList <DataSourceDto>, IList <DataSourceViewModel> >(languagesDataSource);

            IList <DataSourceDto> seniorityLevelsDataSource = this.dataSourceService.GetSeniorityLevelsDataSource();

            viewModel.SeniorityLevels = Mapper.Map <IList <DataSourceDto>, IList <DataSourceViewModel> >(seniorityLevelsDataSource);

            return(viewModel);
        }
예제 #5
0
        public IActionResult ProcessAddDeveloperForm(AddDeveloperViewModel addDeveloperViewModel)
        {
            if (ModelState.IsValid)
            {
                Developer developer = new Developer
                {
                    Name = addDeveloperViewModel.Name
                };

                context.Developers.Add(developer);
                context.SaveChanges();

                return(Redirect("Index"));
            }
            return(View("Add", addDeveloperViewModel));
        }
예제 #6
0
        public IActionResult Add()
        {
            AddDeveloperViewModel addDeveloperViewModel = new AddDeveloperViewModel();

            return(View(addDeveloperViewModel));
        }