Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
        }