public ActionResult EditPlayerImage(int?id, PlayerImageBindingModel model) { if (this.ModelState.IsValid) { var player = this.db.Players.Find(id); if (player == null) { return(this.HttpNotFound()); } var hasUrl = !string.IsNullOrEmpty(model.Url); if (player.PlayerImage != null && hasUrl) { this.db.Entry(player.PlayerImage).State = EntityState.Deleted; this.db.SaveChanges(); } if (hasUrl) { model.Url = Constants.PlayerImagesFolderPath + model.Url; var playerImage = Mapper.Map <PlayerImageBindingModel, PlayerImage>(model); player.PlayerImage = playerImage; this.db.SaveChanges(); } return(this.RedirectToAction("Index")); } return(this.View(model)); }
public ActionResult EditPlayerImageLocal(int?id, PlayerImageBindingModel model) { if (this.ModelState.IsValid) { var player = this.db.Players.Find(id); if (player == null) { return(this.HttpNotFound()); } var hasUrl = !string.IsNullOrEmpty(model.Url); if (player.PlayerImage != null && hasUrl) { this.db.Entry(player.PlayerImage).State = EntityState.Deleted; this.db.SaveChanges(); } var image = Request.Files["Url"]; if (image == null) { return(this.View()); } var photo = new WebImage(image.InputStream); if (model.X > 0) { ImageHelper.CropCanvasImage(photo, model.X, model.Y, model.Width, model.Height); } ImageHelper.CropPlayerImage(photo); if (hasUrl) { var directory = $"{Server.MapPath("~")}{Constants.PlayerImagesMapPath}"; photo.Save(Path.Combine(directory, image.FileName)); model.Url = Constants.PlayerImagesFolderPath + image.FileName; var playerImage = Mapper.Map <PlayerImageBindingModel, PlayerImage>(model); player.PlayerImage = playerImage; this.db.SaveChanges(); } this.ViewBag.Alias = player.Alias; return(this.RedirectToAction("Index")); } return(this.View(model)); }