示例#1
0
        /// <summary>
        /// Add a picture of a kitten on the site (Create two photo: first is standart for slider and second is small for slider)
        /// </summary>
        /// <param name="file">Memory stream of image</param>
        /// <param name="kittenName">Name of kitten which picture we want to add</param>
        private void AddPhoto(MemoryStream file, string kittenName)
        {
            lock (_lockObj)
            {
                var    smallPictureStream      = new MemoryStream();
                string kittenNameNumbered      = _picturesRepository.GetNewNumberOfImage(kittenName);
                string kittenNameNumberedSmall = _picturesRepository.GetNewNumberOfImage(kittenName, true);
                string dirPath       = Server.MapPath(PicturesLinksConstructor.KittensImageDirectoryPath + "/" + kittenName);
                string linkPath      = PicturesLinksConstructor.KittensImageDirectoryPath + "/" + kittenName + "/" + kittenNameNumbered;
                string smallLinkPath = PicturesLinksConstructor.KittensImageDirectoryPath + "/" + kittenName + "/" + kittenNameNumberedSmall;

                if (!Directory.Exists(dirPath))
                {
                    Directory.CreateDirectory(dirPath);
                }

                file.Position = 0;
                file.CopyTo(smallPictureStream);

                WebImage savedImage      = SaveImage(dirPath + "\\" + kittenNameNumbered, file, PictureSizes.StandartSliderPicture);
                WebImage savedSmallImage = SaveImage(dirPath + "\\" + kittenNameNumberedSmall, smallPictureStream, PictureSizes.SmallSliderPicture);

                if (savedImage != null && savedSmallImage != null)
                {
                    _kittensRepository.AddPictureForTheKitten(kittenName, new Pictures()
                    {
                        Image      = linkPath,
                        ImageSmall = smallLinkPath,
                        CssClass   = savedImage.Width > savedImage.Height ? DBKittensRepository.SmallImageHorizontal : DBKittensRepository.SmallImageVertical
                    });

                    _kittensRepository.Save();
                }
            }
        }