Example #1
0
        public WhoWeArePage getPage(int?id)
        {
            WhoWeArePage result         = null;
            var          pagesQueryable = context.WhoWeArePages.AsQueryable();

            if (id != null && id > 0)
            {
                pagesQueryable = pagesQueryable.Where(p => p.Id == id);
            }
            else
            {
                pagesQueryable = context.WhoWeArePages.Where(p => p.Active == true);
            }

            result = pagesQueryable.Include(p => p.HistoryImages)
                     .Include(p => p.HeadImages)
                     .Include(p => p.ValuesSection)
                     .Include(p => p.AdSection)
                     .FirstOrDefault();

            if (result != null)
            {
                result.HistoryImages.Sort();
            }

            return(result);
        }
Example #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);
        }
Example #3
0
        private AdministrationServiceResult ActivatePage(WhoWeArePage targetPage, WhoWeArePage activePage)
        {
            AdministrationServiceResult result = new AdministrationServiceResult();

            if (activePage != null && targetPage != null)
            {
                activePage.Active = false;
                targetPage.Active = true;
                context.SaveChanges();
            }
            else
            {
                result.Errors.Add("Parámetros no válidos");
            }

            return(result);
        }
        public ActionResult PreviewPage(WhoWeArePage page)
        {
            WhoWeAreService service         = new WhoWeAreService(context);
            var             operationResult = service.PreviewPage(new WhoWeAreInputModel()
            {
                page = page, uploadedFiles = Request.Files
            });

            if (operationResult.IsValid)
            {
                return(Json(new AjaxResponse {
                    Success = true, Message = "Success"
                }, JsonRequestBehavior.AllowGet));
            }

            string errorMessage = "";

            operationResult.Errors.ForEach(e => errorMessage += ("\n" + e));
            return(Json(new AjaxResponse {
                Success = true, Message = errorMessage
            }, JsonRequestBehavior.AllowGet));
        }
Example #5
0
        public AdministrationServiceResult PreviewPage(DoctorsOfficeInputModel 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("DoctorsOffice");
                    if (storedPagePreview != null)
                    {
                        context.PagePreviews.Remove(storedPagePreview);
                    }

                    context.PagePreviews.Add(new PagePreview {
                        PageName = "DoctorsOffice", PageValue = stream.GetBuffer()
                    });
                    context.SaveChanges();
                }
            }
            else
            {
                result = new AdministrationServiceResult();
                result.Errors.Add("Pagina no válida");
            }
            return(result);
        }
        public ActionResult AddOrEdit(WhoWeArePage page)
        {
            HttpFileCollectionBase files   = Request.Files;
            WhoWeAreService        service = new WhoWeAreService(context);
            var operationResult            = service.CreateOrUpdate(new WhoWeAreInputModel()
            {
                page = page, uploadedFiles = Request.Files
            }, true);

            if (operationResult.IsValid)
            {
                return(Json(new AjaxResponse {
                    Success = true, Message = "Los cambios se aplicaron correctamente en el servidor"
                }, JsonRequestBehavior.AllowGet));
            }

            string errorMessage = "";

            operationResult.Errors.ForEach(e => errorMessage += ("\n" + e));

            return(Json(new AjaxResponse {
                Success = false, Message = errorMessage
            }, JsonRequestBehavior.AllowGet));
        }
 public WhoWeAreValidInputModelWIthReferencePageSpecification(WhoWeArePage referencePage)
 {
     this.referencePage = referencePage;
 }
Example #8
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);
        }