public async Task <IActionResult> Edit(FullPortfolio fullPortfolio, IFormFileCollection files) { int idCookie = 0; string statusPassword = ""; if (Request.Cookies.ContainsKey("IdUser") && Request.Cookies.ContainsKey("UserPassword")) { idCookie = int.Parse(Request.Cookies["IdUser"]); statusPassword = Request.Cookies["UserPassword"]; } if (statusPassword == "true" && idCookie > 0) { if (ModelState.IsValid) { if (fullPortfolio.OnePortfolio != null) { fullPortfolio.OnePortfolio.IdUser = idCookie; } _context.Update(fullPortfolio.OnePortfolio); await _context.SaveChangesAsync(); } else { return(View(fullPortfolio)); } ImgPortfolio img = new ImgPortfolio(); foreach (var file in files) { if (file != null) { byte[] imageData = null; using (var fileStream = file.OpenReadStream()) using (var ms = new MemoryStream()) { fileStream.CopyTo(ms); imageData = ms.ToArray(); } string type = file.ContentType; img.IdUser = idCookie; img.IdPortfolio = fullPortfolio.OnePortfolio.IdPortfolio; img.IdImg = 0; img.DataImg = imageData; img.TypeImg = type; _context.Add(img); } await _context.SaveChangesAsync(); var portfolio = _context.UserPortfolio.Find(fullPortfolio.OnePortfolio.IdPortfolio); try { var imgMain = _context.ImgPortfolio.Find(portfolio.MainImg); } catch (NullReferenceException) { var findImg = _context.ImgPortfolio.Where(p => p.IdPortfolio == fullPortfolio.OnePortfolio.IdPortfolio).Max(p => p.IdImg); if (findImg > 1) { portfolio.MainImg = findImg; _context.Update(portfolio); await _context.SaveChangesAsync(); } else { portfolio.MainImg = 2; } } } return(RedirectToRoute(new { controller = "UserPortfolio", action = "Details", id = fullPortfolio.OnePortfolio.IdPortfolio })); } else { return(Redirect("/UserAuthorization/Index")); } }
public async Task <IActionResult> Create(UserPortfolio userPortfolio, IFormFileCollection files) { int id = 0; string statusPassword = ""; if (Request.Cookies.ContainsKey("IdUser") && Request.Cookies.ContainsKey("UserPassword")) { id = int.Parse(Request.Cookies["IdUser"]); statusPassword = Request.Cookies["UserPassword"]; } if (statusPassword == "true" && id > 0) { if (ModelState.IsValid) { userPortfolio.DatePortfolio = DateTime.Now; userPortfolio.IdUser = id; _context.Add(userPortfolio); await _context.SaveChangesAsync(); } else { return(View(userPortfolio)); } ImgPortfolio img = new ImgPortfolio(); int count = 0; count = _context.UserPortfolio.Max(p => p.IdPortfolio); foreach (var file in files) { if (file != null) { byte[] imageData = null; using (var fileStream = file.OpenReadStream()) using (var ms = new MemoryStream()) { fileStream.CopyTo(ms); imageData = ms.ToArray(); } string type = file.ContentType; img.IdPortfolio = count; img.IdImg = 0; img.DataImg = imageData; img.IdUser = id; img.TypeImg = type; _context.Add(img); } await _context.SaveChangesAsync(); int lastIdImg = _context.ImgPortfolio.Max(p => p.IdImg); int lastPortfolio = _context.UserPortfolio.Max(p => p.IdPortfolio); var portfolio = _context.UserPortfolio.Find(lastPortfolio); portfolio.MainImg = lastIdImg; _context.Update(portfolio); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } else { return(Redirect("/UserAuthorization/Index")); } }