public async Task <ActionResult> UploadVideo(FormCollection fc, IEnumerable <HttpPostedFileBase> files) { ReportVideo reportVideo = null; ManageMessageId?message; try { HtmlToText convert = new HtmlToText(); int reportId = Convert.ToInt32(fc["ReportId"]); var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); var userReport = _applicationDbContext.Reports.Where(m => m.ReportId == reportId).SingleOrDefault(); string loggedUserId = user.Id; string userrptId = userReport.UserId; string sm_titleC = userReport.CompanyorIndividual + " : " + convert.Convert(userReport.ReportText).Substring(0, 90); titleC = Regex.Replace(sm_titleC, "[^A-Za-z0-9]", "-"); iD = Guid.NewGuid().ToString(); var allowedExtensions = new[] { ".mp4", ".MP4" }; var isReportExist = _applicationDbContext.Reports.Where(m => m.ReportId == reportId).SingleOrDefault(); foreach (var file in files) { var ext = Path.GetExtension(file.FileName); if (file != null && file.ContentLength > 0 && isReportExist != null && loggedUserId.Equals(userrptId) && allowedExtensions.Contains(ext)) { // string filename = System.IO.Path.GetFileName(file.FileName); string filename = Guid.NewGuid() + Path.GetExtension(file.FileName); file.SaveAs(Path.Combine(Server.MapPath("~/VideoUpload"), filename)); reportVideo = new ReportVideo(); reportVideo.VideoName = filename; reportVideo.ReportId = Convert.ToInt32(fc["ReportId"]); reportVideo.VideoCaption = fc["vidCaption"].ToString(); reportVideo.DateCreated = DateTime.UtcNow; _applicationDbContext.ReportVideos.Add(reportVideo); await _applicationDbContext.SaveChangesAsync(); return(RedirectToAction("ReportDetails", new { Controller = "Report", action = "ReportDetails", title = titleC, page = Convert.ToInt32(fc["ReportId"]), id = iD })); } else { message = ManageMessageId.Error; return(RedirectToAction("FileUpload", new { Controller = "Report", action = "FileUpload", title = titleC, page = Convert.ToInt32(fc["ReportId"]), id = iD, Message = message })); } } return(RedirectToAction("ReportDetails", new { Controller = "Report", action = "ReportDetails", title = titleC, page = Convert.ToInt32(fc["ReportId"]), id = iD })); } catch (Exception ex) { message = ManageMessageId.Error; return(RedirectToAction("FileUpload", new { Controller = "Report", action = "FileUpload", title = titleC, page = Convert.ToInt32(fc["ReportId"]), id = iD, Message = message })); } //return View(); }
public async Task <int> Create(ReportVideoRequest request) { var report = new ReportVideo(); if (request != null) { report.Content = request.Content; report.UserId = request.UserId; report.VideoId = request.VideoId; report.CreateDate = new GetDateNow().DateNow; _context.ReportVideo.Add(report); return(await _context.SaveChangesAsync()); } return(-1); }