//Should implement manual mapper internal static async Task <XmlFile> MapFromXmlFileAddViewModelAsync(XmlFileAddViewModel xmlFileAddViewModel) { XmlFile xmlFile = new XmlFile(); if (xmlFileAddViewModel.PreviousFileId != null) { xmlFile.PreviousFileId = xmlFileAddViewModel.PreviousFileId; } if (xmlFileAddViewModel.XmlFile.Length > 0) { xmlFile.FileContent = await Adapter.ReadAsStringAsync(xmlFileAddViewModel.XmlFile); xmlFile.FileRealName = xmlFileAddViewModel.XmlFile.FileName; return(xmlFile); } else { return(null); } }
public async Task <IActionResult> Create(XmlFileAddViewModel xmlFileAddViewModel) { if (ModelState.IsValid) { //Convert to xmlfiile model with mapper, then save the model to db XmlFile xmlFile = await XmlFileMapper.MapFromXmlFileAddViewModelAsync(xmlFileAddViewModel); if (xmlFile.PreviousFileId != null) { xmlFile.PreviousSignedFile = await _context.XmlFiles.FindAsync(xmlFile.PreviousFileId); } xmlFile.Signer = await _userManager.GetUserAsync(User); _context.XmlFiles.Add(xmlFile); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["PreviousFileId"] = new SelectList(_context.XmlFiles, "Id", "FileContent", xmlFileAddViewModel.PreviousFileId); return(View(xmlFileAddViewModel)); }