Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.09 KB | None | 0 0
  1.         [HttpGet]
  2.         [Route("[controller]/Project/Create")]
  3.         public IActionResult CreateProjectTemplate()
  4.         {
  5.             var templateProjectVM = new TemplateProjectViewModel();
  6.             templateProjectVM.TemplateSections = _mapper.Map<List<TemplateSectionViewModel>>( _uow.Repository<TemplateSection>().GetAll());
  7.             return View(templateProjectVM);
  8.         }
  9.  
  10.         [HttpPost]
  11.         [Route("[controller]/Project/Create")]
  12.         public async Task<IActionResult> CreateProjectTemplate(TemplateProjectViewModel model , List<TemplateSectionViewModel> sections)
  13.         {
  14.             model.TemplateSections = sections.Where(s => s.Selected == true).ToList();
  15.             // TODO : Enable ModelState
  16.             //if (!ModelState.IsValid)return View(model);
  17.             var item = _mapper.Map<TemplateProject>(model);
  18.             await _uow.Repository<TemplateProject>().AddAsync(item);
  19.             return View(model);
  20.         }
  21.         [HttpGet]
  22.         [Route("[controller]/Project/details/{id?}")]
  23.         public async Task<IActionResult> DetailsProjectTemplate(int id)
  24.         {
  25.             var projectTemplate = await _uow.Repository<TemplateProject>().FilterAsync(filter: tp =>tp.Id==id,includeProperties: "ProjectSectionTemplates.TemplateSection");
  26.             var model = _mapper.Map<TemplateProjectViewModel>(projectTemplate.ToList().FirstOrDefault());
  27.             return View(model);
  28.         }
  29.  
  30.         [HttpGet]
  31.         [Route("[controller]/Project/Edit/{id?}")]
  32.         public async Task<IActionResult> EditProjectTemplate(int id)
  33.         {
  34.             var projectTemplate = await _uow.Repository<TemplateProject>().FilterAsync(filter: tp => tp.Id == id, includeProperties: "ProjectSectionTemplates.TemplateSection");
  35.             var allSectionTemplate = _mapper.Map<List<TemplateSectionViewModel>>(await _uow.Repository<TemplateSection>().GetAllAsync());
  36.             var model = _mapper.Map<TemplateProjectViewModel>(projectTemplate.ToList().FirstOrDefault());
  37.             foreach (var st in model.TemplateSections)allSectionTemplate.Single(s => s.Id == st.Id).Selected = true;
  38.             model.TemplateSections = allSectionTemplate;
  39.             return View(model);
  40.         }
  41.  
  42.         [HttpPost]
  43.         [Route("[controller]/Project/Edit/{id?}")]
  44.         public async Task<IActionResult> EditProjectTemplate(TemplateProjectViewModel model, List<TemplateSectionViewModel> sections)
  45.         {
  46.             var selectedSections = sections.Where(s => s.Selected == true);
  47.             // model.TemplateSections = selectedSections.ToList();
  48.            
  49.             var templatProject = _mapper.Map<TemplateProject>(model);
  50.             await _uow.Repository<TemplateProject>().UpdateAsync(templatProject);
  51.             var projectTemplate = await _uow.Repository<TemplateProject>().FilterAsync(filter: tp => tp.Id == templatProject.Id, includeProperties: "ProjectSectionTemplates.TemplateSection");
  52.             _templateProjectService.UpdateProjectTemplateSections(_mapper.Map<List<TemplateSection>>(selectedSections), templatProject);
  53.             return View(model);
  54.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement