예제 #1
0
        private void UpdateLogoImage(Team oldTeam, TeamViewModel newViewModel)
        {
            if (newViewModel.NewLogoImage == null)
            {
                return;
            }

            using (var stream = newViewModel.NewLogoImage.OpenReadStream())
            {
                var extension = newViewModel.NewLogoImage.FileName.Split('.').Last();
                var fileName  = string.Format("logo-{0}.{1}", newViewModel.Id, extension);
                var oldFile   = _dbContext.Teams.Include(t => t.LogoImage).Single(t => t.Id == newViewModel.Id).LogoImage;

                if (oldFile == null)
                {
                    var category = ViewHelpers.GetFileCategoryForProperty <Team>(t => t.LogoImage);
                    oldTeam.LogoImage = _storage.Value.Create(
                        category,
                        fileName,
                        stream
                        );
                }
                else
                {
                    oldTeam.LogoImage = _storage.Value.Replace(
                        oldFile,
                        fileName,
                        stream
                        );
                }
                oldTeam.LogoImage.Name    = string.Format("{0}.{1}", newViewModel.Name, extension);
                newViewModel.LogoImageUrl = oldTeam.LogoImage.Url;
            }
        }