public AdministrationServiceResult CreateOrUpdate(DoctorsOfficeInputModel inputModel, bool setAsActivePage = false) { AdministrationServiceResult result; var referencePage = this.getPage(inputModel.page.Id); if (referencePage != null) { result = CreatePageFromReference(inputModel, referencePage); if (result.IsValid == true) { DoctorsOfficePage page = result.ResultObject as DoctorsOfficePage; page.Active = false; context.DoctorsOfficePages.Add(page); context.SaveChanges(); if (setAsActivePage == true) { this.ActivatePage(page, referencePage); } } } else { result = new AdministrationServiceResult(); result.Errors.Add("Pagina no válida"); } return(result); }
public DoctorsOfficePage getActivePage() { DoctorsOfficePage result = null; result = context.DoctorsOfficePages.Where(p => p.Active == true) .Include(p => p.HeadImages) .Include(p => p.ServicesSection) .FirstOrDefault(); return(result); }
private AdministrationServiceResult ActivatePage(DoctorsOfficePage targetPage, DoctorsOfficePage 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 DoctorsOfficePage getPage(int?id) { DoctorsOfficePage result = null; var pagesQueryable = context.DoctorsOfficePages.AsQueryable(); if (id != null && id > 0) { pagesQueryable = pagesQueryable.Where(p => p.Id == id); } else { pagesQueryable = context.DoctorsOfficePages.Where(p => p.Active == true); } result = pagesQueryable.Include(p => p.HeadImages) .Include(p => p.ServicesSection) .FirstOrDefault(); return(result); }
public ActionResult PreviewPage(DoctorsOfficePage page) { var operationResult = service.PreviewPage(new DoctorsOfficeInputModel() { 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)); }
public ActionResult AddOrEdit(DoctorsOfficePage page) { HttpFileCollectionBase files = Request.Files; var operationResult = service.CreateOrUpdate(new DoctorsOfficeInputModel() { 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)); }
private AdministrationServiceResult CreatePageFromReference(DoctorsOfficeInputModel inputModel, DoctorsOfficePage referencePage) { AdministrationServiceResult result = new AdministrationServiceResult(); var specification = new DoctorsOfficeValidInputModelSpecification(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.ServicesSection, referencePage.ServicesSection, processedFIles); page.CreationDate = DateTime.Now; result.ResultObject = page; } else { result.Errors.Add("Esta página ya se encuentra en el catálogo"); } } return(result); }
public DoctorsOfficeValidInputModelSpecification(DoctorsOfficePage referencePage) { this.referencePage = referencePage; }