Example #1
0
        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));
        }
Example #2
0
        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));
        }