public async Task <IActionResult> Edit(int id, [Bind("TLMMaterialId,TLMMaterialCode,TLMMaterialName,Description,RefTLMMaterialTypeId,RefGradeLevelId,RefTLMLanguageId,RefTLMSubjectId,RefTLMGroupId,RefTLMMaterialSetId,RatioNumerator,RatioDenominator,Url,FileName,Barcode")] TLMMaterial tLMMaterial) { if (id != tLMMaterial.TLMMaterialId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(tLMMaterial); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TLMMaterialExists(tLMMaterial.TLMMaterialId)) { return(NotFound()); } else { throw; } } TempData["messageType"] = "success"; TempData["messageTitle"] = "RECORD UPDATED"; TempData["message"] = "Record successfully updated"; return(RedirectToAction(nameof(Index))); //return RedirectToAction(nameof(Index), new { id = tLMMaterial.ParentId }); } ViewData["RefGradeLevelId"] = new SelectList(_context.GradeLevels, "RefGradeLevelId", "GradeLevel", tLMMaterial.RefGradeLevelId); ViewData["RefTLMGroupId"] = new SelectList(_context.TLMGroups, "RefTLMGroupId", "TLMGroup", tLMMaterial.RefTLMGroupId); ViewData["RefTLMLanguageId"] = new SelectList(_context.TLMLanguages, "RefTLMLanguageId", "TLMLanguage", tLMMaterial.RefTLMLanguageId); ViewData["RefTLMMaterialSetId"] = new SelectList(_context.TLMMaterialSets, "RefTLMMaterialSetId", "TLMMaterialSet", tLMMaterial.RefTLMMaterialSetId); ViewData["RefTLMMaterialTypeId"] = new SelectList(_context.TLMMaterialTypes, "RefTLMMaterialTypeId", "TLMMaterialType", tLMMaterial.RefTLMMaterialTypeId); ViewData["RefTLMSubjectId"] = new SelectList(_context.TLMSubjects, "RefTLMSubjectId", "TLMSubject", tLMMaterial.RefTLMSubjectId); //ViewData["ParentId"] = tLMMaterial.ParentId; return(View(tLMMaterial)); }
public async Task <IActionResult> Create([Bind("TLMMaterialId,TLMMaterialCode,TLMMaterialName,Description,RefTLMMaterialTypeId,RefGradeLevelId,RefTLMLanguageId,RefTLMSubjectId,RefTLMGroupId,RefTLMMaterialSetId,RatioNumerator,RatioDenominator,Url,FileName,Barcode")] TLMMaterial tLMMaterial) { if (ModelState.IsValid) { _context.Add(tLMMaterial); await _context.SaveChangesAsync(); TempData["messageType"] = "success"; TempData["messageTitle"] = "RECORD CREATED"; TempData["message"] = "New record successfully created"; return(RedirectToAction(nameof(Index))); //return RedirectToAction(nameof(Index), new { id = tLMMaterial.ParentId }); } ViewData["RefGradeLevelId"] = new SelectList(_context.GradeLevels, "RefGradeLevelId", "GradeLevel", tLMMaterial.RefGradeLevelId); ViewData["RefTLMGroupId"] = new SelectList(_context.TLMGroups, "RefTLMGroupId", "TLMGroup", tLMMaterial.RefTLMGroupId); ViewData["RefTLMLanguageId"] = new SelectList(_context.TLMLanguages, "RefTLMLanguageId", "TLMLanguage", tLMMaterial.RefTLMLanguageId); ViewData["RefTLMMaterialSetId"] = new SelectList(_context.TLMMaterialSets, "RefTLMMaterialSetId", "TLMMaterialSet", tLMMaterial.RefTLMMaterialSetId); ViewData["RefTLMMaterialTypeId"] = new SelectList(_context.TLMMaterialTypes, "RefTLMMaterialTypeId", "TLMMaterialType", tLMMaterial.RefTLMMaterialTypeId); ViewData["RefTLMSubjectId"] = new SelectList(_context.TLMSubjects, "RefTLMSubjectId", "TLMSubject", tLMMaterial.RefTLMSubjectId); //ViewData["ParentId"] = tLMMaterial.ParentId; return(View(tLMMaterial)); }
public async Task <IActionResult> Upload(IFormFile file, int?id) { if (file == null) { return(NotFound()); } if (id == null) { return(NotFound()); } TLMMaterial tLMMaterial = await _context.TLMMaterials.FindAsync(id); if (tLMMaterial == null) { return(NotFound()); } long size = file.Length; // Get folder path URL = ~/wwwroot/uploads var filePath = Path.Combine(_environment.WebRootPath, "uploads"); if (size > 0) { // Limit file uploads to 50M if (size > 52428800) { TempData["messageType"] = "error"; TempData["messageTitle"] = "FILE NOT UPLOADED"; TempData["message"] = "File size exceeded the maximum size permitted (50MB)"; return(RedirectToAction("Details", "TLMDistributions", new { id })); } // Limit file types to .jpg, .jpeg, .png, .doc, and .pdf only if (!CheckFileType(file.FileName)) { TempData["messageType"] = "error"; TempData["messageTitle"] = "FILE NOT UPLOADED"; TempData["message"] = "File type not valid. Upload PDF, Documents, or Images"; return(RedirectToAction("Details", "TLMDistributions", new { id })); } // Current file extension string extension = Path.GetExtension(file.FileName); // Set Filename format (i.e. Document-20190815141805-{id}{.pdf}) var fileName = "Document" + DateTime.Now.ToString("-yyyyMMddHHmmss-") + id + extension; // Upload file to server using (var stream = new FileStream(Path.Combine(filePath, fileName), FileMode.Create)) { await file.CopyToAsync(stream); } // Build host URL and /uploads/ path var request = HttpContext.Request; var uriBuilder = new UriBuilder { Host = request.Host.Host, Scheme = request.Scheme, Path = "uploads/" + fileName }; if (request.Host.Port.HasValue) { uriBuilder.Port = request.Host.Port.Value; } var url = uriBuilder.ToString(); // Update database with FileName and URL try { tLMMaterial.FileName = fileName; tLMMaterial.Url = url; _context.Update(tLMMaterial); TempData["messageType"] = "success"; TempData["messageTitle"] = "RECORDS UPDATED"; TempData["message"] = "Records updated successfully"; await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TLMMaterialExists(tLMMaterial.TLMMaterialId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Details), new { id = tLMMaterial.TLMMaterialId })); } TempData["messageType"] = "error"; TempData["messageTitle"] = "FILE NOT UPLOADED"; TempData["message"] = "A file could not be uploaded error"; return(RedirectToAction("Details", "TLMMaterials", new { id })); }