Example #1
0
        public async Task <IActionResult> Create(CreateIdeaModel model)
        {
            if (ModelState.IsValid)
            {
                Idea i = _context.Idea.FirstOrDefault(temp => temp.Title.ToLower().Trim() == model.Title.Trim().ToLower());
                if (i == null)
                {
                    i             = new Idea();
                    i.Description = model.Description;
                    i.PostDate    = DateTime.UtcNow;
                    i.Video       = model.Video;
                    if (HttpContext.User.Identities.Any(u => u.IsAuthenticated))
                    {
                        Member m = _context.Member.FirstOrDefault(temp => temp.Phone == HttpContext.User.Identity.Name);
                        if (m != null)
                        {
                            i.PostedBy = m;
                        }
                    }
                    i.Status = StatusType.Active;
                    i.Title  = model.Title;
                    _context.Add(i);
                    await _context.SaveChangesAsync();

                    foreach (IFormFile file in Request.Form.Files)
                    {
                        string fileName = Path.GetFileName(file.FileName);
                        var    webRoot  = _env.WebRootPath;
                        //var PathWithFolderName = System.IO.Path.Combine(webRoot, "MyFolder");
                        var image = new IdeaImages();
                        fileName = string.Format("{0}-{1}", Guid.NewGuid(), fileName);

                        image.Image = fileName;
                        image.Id    = i.ID;
                        _context.IdeaImages.Add(image);

                        var filePath = Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\images", fileName);
                        using (var fileStream = new FileStream(filePath, FileMode.Create))
                        {
                            await file.CopyToAsync(fileStream);
                        }

                        _context.SaveChanges();
                    }


                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    ModelState.AddModelError("DuplicateTitle", "Another idea with same title is found.");
                }
            }
            return(View(model));
        }
Example #2
0
 public async Task CreateBackLogItemAsync(CreateIdeaModel createIdeaModel)
 {
     _context.Add(new BackLog
     {
         ProblemDescription = createIdeaModel.ProblemDescription,
         CustomerProblem    = createIdeaModel.CustomerProblem,
         RaisedBy           = createIdeaModel.RaisedBy,
         Status             = IdeaStatuses.IdeaPending
     });
     await _context.SaveChangesAsync();
 }
        //[ValidateAntiForgeryToken]
        //[Authorize]
        public async Task <IActionResult> Create([Bind("CustomerProblem,ProblemDescription")] CreateIdeaModel createIdeaModel)
        {
            if (ModelState.IsValid)
            {
                createIdeaModel.RaisedBy = User.Identity.Name;
                await _backlogUow.CreateBackLogItemAsync(createIdeaModel);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(createIdeaModel));
        }