예제 #1
0
        public ActionResult WriterArchive(RenderModel model, int id, string name, FILTER filter = FILTER.Recommendations, int page = 1)
        {
            IPublishedContent recommendationsRespository = Helper.TypedContentAtRoot().FirstOrDefault()
                                                           .FirstChild(x => x.DocumentTypeAlias == Constants.NodeAlias.RECOMMENDATIONS_REPOSITORY);

            IPublishedContent articleRespository = Helper.TypedContentAtRoot().FirstOrDefault()
                                                   .FirstChild(x => x.DocumentTypeAlias == Constants.NodeAlias.ARTICLE_REPOSISTORY);

            IPublishedContent locationRespository = Helper.TypedContentAtRoot().FirstOrDefault()
                                                    .FirstChild(x => x.DocumentTypeAlias == Constants.NodeAlias.LOCATION_REPOSITORY);

            WriterModel writerModel = WriterFactory
                                      .Create(model.Content, recommendationsRespository, articleRespository, locationRespository, Site.IsEnglish, false, Services.ContentService, filter, page);

            string expectedName = writerModel.Name.ToSeoUrl();

            string actualName = (name ?? "").ToLower();

            // permanently redirect to the correct URL
            if (expectedName != actualName)
            {
                return(RedirectToActionPermanent(Constants.Controllers.WriterArchive.NAME,
                                                 Constants.Controllers.WriterArchive.Actions.INDEX,
                                                 new
                {
                    id = writerModel.Id,
                    name = expectedName,
                    filter
                }));
            }

            return(CurrentTemplate(writerModel));
        }
예제 #2
0
        public void WriterFactory_MobileWriter()
        {
            Writer w = WriterFactory.Create(OutputDeviceType.Mobile);

            //assert
            Assert.IsInstanceOfType(w, typeof(MobileWriter));
        }
예제 #3
0
        public void WriterFactory_DatabaseWriter()
        {
            Writer w = WriterFactory.Create(OutputDeviceType.Database);

            //assert
            Assert.IsInstanceOfType(w, typeof(DatabaseWriter));
        }
예제 #4
0
        public void HelloWorldFactory_HelloWorldWriter()
        {
            //arange
            Writer w = WriterFactory.Create(OutputDeviceType.Console);
            //act
            IHelloWriter writer = IHelloWorldWriterFactory.Create(w);

            //assert
            Assert.IsInstanceOfType(writer, typeof(HelloWorldWriter));
        }
예제 #5
0
        public static void InitiateConversion(string originalPath, string destinationPath, string outputFormat)
        {
            string    originalTypeStr = GetExtension(originalPath);
            ImageType originalType;
            ImageType finalType;

            try
            {
                originalType = (ImageType)Enum.Parse(typeof(ImageType), originalTypeStr, true);
                finalType    = (ImageType)Enum.Parse(typeof(ImageType), outputFormat, true);
            }
            catch (Exception)
            {
                throw new InvalidOperationException("Unsupported Image Type");
            }

            IFactory <IImageReader> readerFactory = new ReaderFactory();
            IFactory <IImageWriter> writerFactory = new WriterFactory();
            IImageReader            reader        = readerFactory.Create(originalType);
            IImageWriter            writer        = writerFactory.Create(finalType);

            var       image     = reader.Read(originalPath);
            Converter converter = new Converter(writer);

            converter.Convert(image, destinationPath);

            Bitmap pic = new Bitmap(image.Header.Width, image.Header.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);

            for (int i = 0; i < image.Header.Height; i++)
            {
                for (int j = 0; j < image.Header.Width; j++)
                {
                    Color c = Color.FromArgb(image.Bitmap[i, j].R, image.Bitmap[i, j].G, image.Bitmap[i, j].B);
                    pic.SetPixel(j, i, c);
                }
            }

            pic.Save("testcow.bmp");

            string GetExtension(string path)
            {
                return(path.Substring(path.LastIndexOf('.') + 1));
            }
        }