Exemple #1
0
        private AdministrationServiceResult CreatePageFromReference(WhoWeAreInputModel inputModel, WhoWeArePage referencePage)
        {
            AdministrationServiceResult result = new AdministrationServiceResult();
            var specification = new WhoWeAreValidInputModelWIthReferencePageSpecification(referencePage);
            var brokenRules   = specification.brokenRules(inputModel);

            result.Errors.AddRange(brokenRules);

            if (result.IsValid)
            {
                var page = inputModel.page;
                if (page.Equals(referencePage) == false)
                {
                    var fileService    = new FileService();
                    var processedFIles = fileService.processFiles(inputModel.uploadedFiles, "~/UploadedFiles");
                    fileService.mapFilesToSectionForCreateOrUpdate(page.HeadImages, referencePage.HeadImages, processedFIles);
                    fileService.mapFilesToSectionForCreateOrUpdate(page.ValuesSection, referencePage.ValuesSection, processedFIles);
                    fileService.mapFilesToSectionForCreateOrUpdate(page.HistoryImages, referencePage.HistoryImages, processedFIles);
                    var adFileName = page.AdSection.ImageFileName;
                    page.AdSection.ImageFileName = (String.IsNullOrEmpty(adFileName) == false && processedFIles.ContainsKey(adFileName)) ? processedFIles[adFileName] : referencePage.AdSection.ImageFileName;
                    page.CreationDate            = DateTime.Now;
                    result.ResultObject          = page;
                }
                else
                {
                    result.Errors.Add("Esta página ya se encuentra en el catálogo");
                }
            }

            return(result);
        }
Exemple #2
0
        public AdministrationServiceResult CreateOrUpdate(WhoWeAreInputModel inputModel, bool setAsActivePage = false)
        {
            AdministrationServiceResult result;

            var referencePage = this.getPage(inputModel.page.Id);

            if (referencePage != null)
            {
                result = CreatePageFromReference(inputModel, referencePage);
                if (result.IsValid == true)
                {
                    WhoWeArePage page = result.ResultObject as WhoWeArePage;
                    page.Active = false;
                    context.WhoWeArePages.Add(page);
                    context.SaveChanges();

                    if (setAsActivePage == true)
                    {
                        this.ActivatePage(page, referencePage);
                    }
                }
            }
            else
            {
                result = new AdministrationServiceResult();
                result.Errors.Add("Pagina no válida");
            }
            return(result);
        }
Exemple #3
0
        public AdministrationServiceResult PreviewPage(WhoWeAreInputModel inputModel)
        {
            AdministrationServiceResult result;

            var referencePage = this.getPage(inputModel.page.Id);

            if (referencePage != null)
            {
                result = CreatePageFromReference(inputModel, referencePage);
                if (result.IsValid == true)
                {
                    WhoWeArePage page = result.ResultObject as WhoWeArePage;
                    result.ResultObject = page;

                    IFormatter   formatter = new BinaryFormatter();
                    MemoryStream stream    = new MemoryStream();
                    formatter.Serialize(stream, page);
                    stream.Close();

                    var storedPagePreview = context.PagePreviews.Find("WhoWeAre");
                    if (storedPagePreview != null)
                    {
                        context.PagePreviews.Remove(storedPagePreview);
                    }

                    context.PagePreviews.Add(new PagePreview {
                        PageName = "WhoWeAre", PageValue = stream.GetBuffer()
                    });
                    context.SaveChanges();
                }
            }
            else
            {
                result = new AdministrationServiceResult();
                result.Errors.Add("Pagina no válida");
            }
            return(result);
        }