/// <summary> /// This method gets current page "View" actions of all modules /// </summary> /// <param name="actionContext"></param> /// <returns></returns> public async Task <Dictionary <string, List <ContentResult> > > GetPageModuleResults(ActionContext actionContext) { Dictionary <string, List <ContentResult> > actionResults = new Dictionary <string, List <ContentResult> >(); Page currentPage = _scopeService.PageContext.CurrentPage; if (currentPage.PageModule != null && currentPage.PageModule.Count > 0) { currentPage.PageModule = currentPage.PageModule.Where(pm => !pm.IsDeleted).ToList(); foreach (var pageModule in currentPage.PageModule) { Module module = _moduleRepository.Get(pageModule.ModuleId); ModuleAction moduleAction = module.ModuleAction.FirstOrDefault(ma => ma.Id == pageModule.ModuleActionId); ModuleContext moduleContext = new ModuleContext(); moduleContext.ModuleInfo = module; moduleContext.PageModuleId = pageModule.Id; if (module != null && moduleAction != null) { List <ContentResult> contentResults; string containerId = pageModule.ContainerId.ToString(); //Prepare the result object if (actionResults.ContainsKey(containerId)) { contentResults = actionResults[containerId]; } else { contentResults = new List <ContentResult>(); actionResults.Add(containerId, contentResults); } try { IHtmlContent actionResult = await ExecuteModuleController(actionContext, moduleContext, moduleAction); IHtmlContent moduleResult = GetModuleResult(actionResult, moduleContext); contentResults.Add(new ContentResult { HtmlResult = moduleResult, SortOrder = pageModule.SortOrder }); } catch (Exception ex) { var actionResult = "Module load exception has been occured"; contentResults.Add(new ContentResult { //Result = actionResult, HtmlResult = new HtmlString(actionResult), SortOrder = pageModule.SortOrder }); _logger.LogError("Module load exception has been occured", ex); } } } } return(actionResults); }
public Module Create(Module module) { using var context = new DeviserDbContext(_dbOptions); var dbModule = _mapper.Map <Entities.Module>(module); dbModule.CreatedDate = dbModule.LastModifiedDate = DateTime.Now; var result = context.Module.Add(dbModule).Entity; context.SaveChanges(); return(_mapper.Map <Module>(result)); }
public IActionResult Post([FromBody] Module module) { try { var result = _moduleRepository.Create(module); if (result != null) { return(Ok(result)); } return(NotFound()); } catch (Exception ex) { _logger.LogError(string.Format("Error occured while creating a Module"), ex); return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } }
public Module Create(Module module) { try { using (var context = new DeviserDbContext(DbOptions)) { var dbModule = Mapper.Map <Entities.Module>(module); dbModule.CreatedDate = dbModule.LastModifiedDate = DateTime.Now; var result = context.Module.Add(dbModule).Entity; context.SaveChanges(); return(Mapper.Map <Module>(result)); } } catch (Exception ex) { _logger.LogError("Error occured while calling Create", ex); } return(null); }
public Module Update(Module module) { try { using (var context = new DeviserDbContext(DbOptions)) { var dbModule = Mapper.Map <Entities.Module>(module); var moduleActions = dbModule.ModuleAction; dbModule.ModuleAction = null; foreach (var moduleAction in moduleActions) { if (context.ModuleAction.Any(pc => pc.Id == moduleAction.Id)) { UpdateModuleActionProperties(context, moduleAction); //content exist, therefore update the content context.ModuleAction.Update(moduleAction); } else { moduleAction.ModuleId = dbModule.Id; context.ModuleAction.Add(moduleAction); } } //No need to delte a row from dbo.ModuleAction since the key s referred in dbo.pagemodule. //var toDelete = context.ModuleAction.Where(dbModuleAction => dbModuleAction.ModuleId == dbModule.Id && //!moduleActions.Any(moduleAction => moduleAction.Id != dbModuleAction.Id)).ToList(); //context.ModuleAction.RemoveRange(toDelete); var result = context.Module.Update(dbModule).Entity; context.SaveChanges(); return(Mapper.Map <Module>(result)); } } catch (Exception ex) { _logger.LogError("Error occured while calling Update", ex); } return(null); }
public Module UpdateModule(Module module) { using var context = new DeviserDbContext(_dbOptions); var dbModule = _mapper.Map <Entities.Module>(module); var moduleViews = dbModule.ModuleView; dbModule.ModuleView = null; foreach (var moduleView in moduleViews) { if (moduleView.ModuleViewType != null) { moduleView.ModuleViewTypeId = moduleView.ModuleViewType.Id; moduleView.ModuleViewType = null; } if (context.ModuleView.Any(pc => pc.Id == moduleView.Id)) { UpdateModuleViewProperties(context, moduleView); moduleView.ModuleId = dbModule.Id; //content exist, therefore update the content context.ModuleView.Update(moduleView); } else { moduleView.ModuleId = dbModule.Id; context.ModuleView.Add(moduleView); } } //No need to delete a row from dbo.ModuleView since the key is referred in dbo.PageModule. //var toDelete = context.ModuleView.Where(dbModuleView => dbModuleView.ModuleId == dbModule.Id && //!moduleViews.Any(moduleView => moduleView.Id != dbModuleView.Id)).ToList(); //context.ModuleView.RemoveRange(toDelete); var result = context.Module.Update(dbModule).Entity; context.SaveChanges(); return(_mapper.Map <Module>(result)); }