public List <Language> FromProfileLanguagesJsonModel(int profileId, ProfileLanguagesJson profileLanguagesJson)
        {
            List <Language> languages = profileLanguagesJson.Languages
                                        .Select(language => FromViewModel(profileId, language))
                                        .ToList();

            return(languages);
        }
        public ProfileLanguagesJson ToProfileLanguagesJsonModel(int profileId, List <Language> languages)
        {
            ProfileLanguagesJson profileLanguagesJson = new ProfileLanguagesJson
            {
                ProfileId = profileId,
                Languages = languages.Select(ToViewModel).ToList()
            };

            return(profileLanguagesJson);
        }
        public JsonResult EditLanguages(ProfileLanguagesJson jsonProfileLanguages)
        {
            jsonProfileLanguages.TrimAndUppercaseFirst();

            var updatingLanguages = _languageMapper.FromProfileLanguagesJsonModel(jsonProfileLanguages.ProfileId, jsonProfileLanguages);

            var updatedLanguages = _languageProvider.UpdateLanguages(updatingLanguages);

            ProfileLanguagesJson updatedLanguagesJson = _languageMapper.ToProfileLanguagesJsonModel(jsonProfileLanguages.ProfileId, updatedLanguages);

            return(Json(updatedLanguagesJson, JsonRequestBehavior.AllowGet));
        }