public async Task <IActionResult> OnPostUpdateAsync(int id) { var devoteeToUpdate = await _context.DevoteeLanguageProficiencies.FirstOrDefaultAsync(x => x.DevoteeId == id); if (devoteeToUpdate == null) { return(NotFound()); } // var languages = Enum.GetNames(typeof(Language)); var count = languages.Length; List <string> speak = new List <string>(); List <string> read = new List <string>(); List <string> write = new List <string>(); List <string> translate = new List <string>(); for (var i = 0; i < count; i++) { var x = i.ToString(); if (Speaks[i]) { speak.Add(x); } if (Reads[i]) { read.Add(x); } if (Writes[i]) { write.Add(x); } if (Translatables[i]) { translate.Add(x); } } DevoteeLanguageProficiency devoteeLanguageProficiency = new DevoteeLanguageProficiency(); DevoteeLanguageProficiency = devoteeLanguageProficiency; DevoteeLanguageProficiency.DevoteeId = id; DevoteeLanguageProficiency.Speak = string.Join(',', speak); DevoteeLanguageProficiency.Read = string.Join(',', read); DevoteeLanguageProficiency.Write = string.Join(',', write); DevoteeLanguageProficiency.TranslatableFromEnglish = string.Join(',', translate); DevoteeLanguageProficiency.MotherTongue = MotherTongue; // if (await TryUpdateModelAsync <DevoteeLanguageProficiency>( devoteeToUpdate, "devotee", s => s.Speak, s => s.Read, s => s.Write, s => s.MotherTongue, s => s.TranslatableFromEnglish)) { await _context.SaveChangesAsync(); } return(await OnGetAsync(DevoteeLanguageProficiency.DevoteeId)); }
// To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://aka.ms/RazorPagesCRUD. public async Task <IActionResult> OnPostAsync(int id) { if (!ModelState.IsValid) { return(Page()); } var languages = Enum.GetNames(typeof(Language)); var count = languages.Length; List <string> speak = new List <string>(); List <string> read = new List <string>(); List <string> write = new List <string>(); List <string> translate = new List <string>(); for (var i = 0; i < count; i++) { var x = i.ToString(); if (Speaks[i]) { speak.Add(x); } if (Reads[i]) { read.Add(x); } if (Writes[i]) { write.Add(x); } if (Translatables[i]) { translate.Add(x); } } DevoteeLanguageProficiency devoteeLanguageProficiency = new DevoteeLanguageProficiency(); DevoteeLanguageProficiency = devoteeLanguageProficiency; DevoteeLanguageProficiency.DevoteeId = id; DevoteeLanguageProficiency.Speak = string.Join(',', speak); DevoteeLanguageProficiency.Read = string.Join(',', read); DevoteeLanguageProficiency.Write = string.Join(',', write); DevoteeLanguageProficiency.TranslatableFromEnglish = string.Join(',', translate); DevoteeLanguageProficiency.MotherTongue = MotherTongue; _context.DevoteeLanguageProficiencies.Add(DevoteeLanguageProficiency); await _context.SaveChangesAsync(); return(await OnGetAsync(DevoteeLanguageProficiency.DevoteeId)); }
public void SetAllLists(DevoteeLanguageProficiency dlp) { var languages = Enum.GetNames(typeof(Language)); var count = languages.Length; Speaks = new List <bool>(new bool[count]); Reads = new List <bool>(new bool[count]); Writes = new List <bool>(new bool[count]); Translatables = new List <bool>(new bool[count]); List <int> readList = dlp.Read.Length > 1 ? dlp.Read.Split(',').Select(Int32.Parse).ToList() : (dlp.Read == string.Empty ? null : new List <int> { Int32.Parse(dlp.Read) }); List <int> speakList = dlp.Speak.Length > 1 ? dlp.Speak.Split(',').Select(Int32.Parse).ToList() : (dlp.Speak == string.Empty ? null : new List <int> { Int32.Parse(dlp.Speak) }); List <int> writeList = dlp.Write.Length > 1 ? dlp.Write.Split(',').Select(Int32.Parse).ToList() : (dlp.Write == string.Empty ? null : new List <int> { Int32.Parse(dlp.Write) }); List <int> translateList = dlp.TranslatableFromEnglish.Length > 1 ? dlp.TranslatableFromEnglish.Split(',').Select(Int32.Parse).ToList() : (dlp.TranslatableFromEnglish == string.Empty ? null : new List <int> { Int32.Parse(dlp.TranslatableFromEnglish) }); if (speakList != null) { SetFlags(Speaks, speakList); } if (readList != null) { SetFlags(Reads, readList); } if (writeList != null) { SetFlags(Writes, writeList); } if (translateList != null) { SetFlags(Translatables, translateList); } MotherTongue = dlp.MotherTongue; }