public static MinistryVissionVersion MapToMinistryVissionVersionModel(this MinistrtVisionViewModel pgMinisty) { MinistryVissionVersion viewModel = new MinistryVissionVersion() { Id = pgMinisty.MinistrtVisionId ?? pgMinisty.Id, IsActive = pgMinisty.IsActive, IsDeleted = pgMinisty.IsDeleted, VersionStatusEnum = pgMinisty.VersionStatusEnum, ChangeActionEnum = pgMinisty.ChangeActionEnum, CreationDate = pgMinisty.CreationDate, ModificationDate = pgMinisty.ModificationDate, ModifiedById = pgMinisty.ModifiedById, ApprovalDate = pgMinisty.ApprovalDate, ApprovedById = pgMinisty.ApprovedById, CreatedById = pgMinisty.CreatedById, MinistryVissionId = pgMinisty.MinistrtVisionId, ArDescription = pgMinisty.ArDescription, EnDescription = pgMinisty.EnDescription, ArTitle = pgMinisty.ArTitle, EnTitle = pgMinisty.EnTitle, Link = pgMinisty.Link, BackGroundImage = pgMinisty.BackGroundImage }; return(viewModel); }
public async Task <IActionResult> Edit(MinistrtVisionViewModel ViewModel) { ViewModel.ArDescription.ValidateHtml("ArDescription", ModelState); ViewModel.EnDescription.ValidateHtml("EnDescription", ModelState); ModelState.Remove(nameof(ViewModel.BackGroundImageFile)); var user = await _userManager.GetUserAsync(HttpContext.User); if (ModelState.IsValid) { var mvv = _ministryVisionVersionRepository.GetByMinistryVessionId(ViewModel.Id); var minVersion = ViewModel.MapToMinistryVissionVersionModel(); //if ministryVisionVersion wasn't exist or MinistrtVisionViewModel approved or ignored then create new version if (mvv == null || ViewModel.VersionStatusEnum == VersionStatusEnum.Approved || ViewModel.VersionStatusEnum == VersionStatusEnum.Ignored) { minVersion.CreatedById = user.Id; minVersion.CreationDate = DateTime.Now; minVersion.VersionStatusEnum = VersionStatusEnum.Draft; minVersion.ChangeActionEnum = ChangeActionEnum.Update; minVersion.Id = 0; minVersion.MinistryVissionId = ViewModel.Id; if (ViewModel.BackGroundImageFile != null) { minVersion.BackGroundImage = _fileService.UploadImageUrlNew(ViewModel.BackGroundImageFile); } _ministryVisionVersionRepository.Add(minVersion); return(RedirectToAction(nameof(Index))); } if (ViewModel.BackGroundImageFile != null) { minVersion.BackGroundImage = _fileService.UploadImageUrlNew(ViewModel.BackGroundImageFile); } minVersion.CreationDate = DateTime.Now; minVersion.Id = mvv.Id; minVersion.VersionStatusEnum = VersionStatusEnum.Draft; minVersion.ChangeActionEnum = ChangeActionEnum.Update; minVersion.ApprovalDate = mvv.ApprovalDate; minVersion.ApprovedById = mvv.ApprovedById; minVersion.CreatedById = mvv.CreatedById; minVersion.CreationDate = mvv.CreationDate; minVersion.ModificationDate = mvv.ModificationDate; minVersion.ModifiedById = mvv.ModifiedById; minVersion.MinistryVissionId = mvv.MinistryVissionId; var update = _ministryVisionVersionRepository.Update(minVersion); if (update) { _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Home Page > Ministry Vision > Update", ViewModel.EnTitle); return(RedirectToAction(nameof(Index))); } else { _toastNotification.AddErrorToastMessage(ToasrMessages.warning); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Warning, "Home Page > Ministry Vision > Warning", ViewModel.EnTitle); return(View(ViewModel)); } } return(View(ViewModel)); }