public IActionResult Create(int pageRouteVersionId)
        {
            PageContactEditViewModel viewModel = new PageContactEditViewModel();

            viewModel.PageRouteVersionId = pageRouteVersionId;
            return(View(viewModel));
        }
        public async Task <IActionResult> CreateAsync(PageContactEditViewModel pageMinistryViewModel)
        {
            if (ModelState.IsValid)
            {
                PageContact sectionCardVersion = pageMinistryViewModel.MapToPageContact();

                var user = await _userManager.GetUserAsync(HttpContext.User);

                sectionCardVersion.CreatedById  = user.Id;
                sectionCardVersion.CreationDate = DateTime.Now;


                PageContact newPageSectionCardVersion = _pageContactRepository.Add(sectionCardVersion);
                if (newPageSectionCardVersion != null)
                {
                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Add, "Contact Us > Page Contact Details > Add", pageMinistryViewModel.EnPageName);
                    _toastNotification.AddSuccessToastMessage(ToasrMessages.AddSuccess);
                    return(RedirectToAction("Index", new { id = newPageSectionCardVersion.PageRouteVersionId }));
                }
                else
                {
                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Warning, "Contact Us > Page Contact Details > Add", pageMinistryViewModel.EnPageName);
                    _toastNotification.AddWarningToastMessage(ToasrMessages.warning);
                }
            }
            return(View(pageMinistryViewModel));
        }
Beispiel #3
0
        public static PageContactEditViewModel MapToPageContactViewModel(this PageContact pageContactCreateViewModel)
        {
            PageContactEditViewModel viewModel = new PageContactEditViewModel()
            {
                Id                    = pageContactCreateViewModel.Id,
                IsActive              = pageContactCreateViewModel.IsActive,
                IsDeleted             = pageContactCreateViewModel.IsDeleted,
                Order                 = pageContactCreateViewModel.Order,
                PageRouteVersionId    = pageContactCreateViewModel.PageRouteVersionId,
                EnPageName            = pageContactCreateViewModel.EnPageName,
                ArPageName            = pageContactCreateViewModel.ArPageName,
                EnMapTitle            = pageContactCreateViewModel.EnMapTitle,
                ArMapTitle            = pageContactCreateViewModel.ArMapTitle,
                ArParticipateTitle    = pageContactCreateViewModel.ArParticipateTitle,
                EnParticipateTitle    = pageContactCreateViewModel.EnParticipateTitle,
                ArAddress             = pageContactCreateViewModel.ArAddress,
                EnAddress             = pageContactCreateViewModel.EnAddress,
                MapUrl                = pageContactCreateViewModel.MapUrl,
                PhoneNumber           = pageContactCreateViewModel.PhoneNumber,
                FaxNumber             = pageContactCreateViewModel.FaxNumber,
                EmailParticipateEmail = pageContactCreateViewModel.EmailParticipateEmail,
                FormParticipateActive = pageContactCreateViewModel.FormParticipateActive,

                SeoTitleEN       = pageContactCreateViewModel.SeoTitleEN,
                SeoTitleAR       = pageContactCreateViewModel.SeoTitleAR,
                SeoDescriptionEN = pageContactCreateViewModel.SeoDescriptionEN,
                SeoDescriptionAR = pageContactCreateViewModel.SeoDescriptionAR,
                SeoOgTitleEN     = pageContactCreateViewModel.SeoOgTitleEN,
                SeoOgTitleAR     = pageContactCreateViewModel.SeoOgTitleAR,
                SeoTwitterCardEN = pageContactCreateViewModel.SeoTwitterCardEN,
                SeoTwitterCardAR = pageContactCreateViewModel.SeoTwitterCardAR
            };

            return(viewModel);
        }
        public async Task <IActionResult> Edit(PageContactEditViewModel ViewModel)
        {
            ViewModel.SeoDescriptionAR.ValidateHtml("SeoDescriptionAR", ModelState);
            ViewModel.SeoDescriptionEN.ValidateHtml("SeoDescriptionEN", ModelState);

            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (ModelState.IsValid)
            {
                var pcv = _pageContactVersionRepository.GetByPageContactId(ViewModel.Id);
                var pageContactVersion = ViewModel.MapToPageContactVersionModel();

                if (pcv == null || ViewModel.VersionStatusEnum == VersionStatusEnum.Approved || ViewModel.VersionStatusEnum == VersionStatusEnum.Ignored)
                {
                    pageContactVersion.CreatedById       = user.Id;
                    pageContactVersion.CreationDate      = DateTime.Now;
                    pageContactVersion.VersionStatusEnum = VersionStatusEnum.Draft;
                    pageContactVersion.ChangeActionEnum  = ChangeActionEnum.Update;
                    pageContactVersion.Id                 = 0;
                    pageContactVersion.PageContactId      = ViewModel.Id;
                    pageContactVersion.PageRouteVersionId = ViewModel.PageRouteVersionId != 0 ? (int?)ViewModel.PageRouteVersionId : null;
                    _pageContactVersionRepository.Add(pageContactVersion);
                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Contact Us > Page Contact Details > Edit", ViewModel.EnPageName);

                    return(RedirectToAction(nameof(Details)));
                }

                pageContactVersion.CreationDate       = DateTime.Now;
                pageContactVersion.Id                 = pcv.Id;
                pageContactVersion.VersionStatusEnum  = VersionStatusEnum.Draft;
                pageContactVersion.ChangeActionEnum   = ChangeActionEnum.Update;
                pageContactVersion.ApprovalDate       = pcv.ApprovalDate;
                pageContactVersion.ApprovedById       = pcv.ApprovedById;
                pageContactVersion.CreatedById        = pcv.CreatedById;
                pageContactVersion.CreationDate       = pcv.CreationDate;
                pageContactVersion.ModificationDate   = pcv.ModificationDate;
                pageContactVersion.ModifiedById       = pcv.ModifiedById;
                pageContactVersion.PageContactId      = pcv.PageContactId;
                pageContactVersion.PageRouteVersionId = pcv.PageRouteVersionId;
                var update = _pageContactVersionRepository.Update(pageContactVersion);
                if (update)
                {
                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Contact Us > Page Contact Details > Edit", ViewModel.EnPageName);
                    _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess);
                    return(RedirectToAction(nameof(Details)));
                }
                else
                {
                    _toastNotification.AddErrorToastMessage(ToasrMessages.warning);
                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Warning, "Contact Us > Page Contact Details > Edit", ViewModel.EnPageName);
                    return(View(ViewModel));
                }
            }
            return(View(ViewModel));
        }
Beispiel #5
0
        public static PageContactVersions MapToPageContactVersionModel(this PageContactEditViewModel pgMinisty)
        {
            PageContactVersions viewModel = new PageContactVersions()
            {
                Id                    = pgMinisty.PageContactId ?? 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,
                PageContactId         = pgMinisty.PageContactId,
                ArAddress             = pgMinisty.ArAddress,
                ArMapTitle            = pgMinisty.ArMapTitle,
                PhoneNumber           = pgMinisty.PhoneNumber,
                Order                 = pgMinisty.Order,
                MapUrl                = pgMinisty.MapUrl,
                FaxNumber             = pgMinisty.FaxNumber,
                ArPageName            = pgMinisty.ArPageName,
                ArParticipateTitle    = pgMinisty.ArParticipateTitle,
                EmailParticipateEmail = pgMinisty.EmailParticipateEmail,
                EnAddress             = pgMinisty.EnAddress,
                EnMapTitle            = pgMinisty.EnMapTitle,
                EnPageName            = pgMinisty.EnPageName,
                EnParticipateTitle    = pgMinisty.EnParticipateTitle,
                FormParticipateActive = pgMinisty.FormParticipateActive,
                SeoDescriptionAR      = pgMinisty.SeoDescriptionAR,
                SeoTwitterCardEN      = pgMinisty.SeoTwitterCardEN,
                SeoTwitterCardAR      = pgMinisty.SeoTwitterCardAR,
                SeoTitleEN            = pgMinisty.SeoTitleEN,
                SeoTitleAR            = pgMinisty.SeoTitleAR,
                SeoOgTitleEN          = pgMinisty.SeoOgTitleEN,
                SeoOgTitleAR          = pgMinisty.SeoOgTitleAR,
                SeoDescriptionEN      = pgMinisty.SeoDescriptionEN,
                PageRouteVersionId    = pgMinisty.PageRouteVersionId
            };

            return(viewModel);
        }
Beispiel #6
0
        public static PageContact MapToPageContact(this PageContactEditViewModel pageContactCreateViewModel)
        {
            PageContact pageContact = new PageContact();

            pageContact.EnMapTitle         = pageContactCreateViewModel.EnMapTitle;
            pageContact.ArMapTitle         = pageContactCreateViewModel.ArMapTitle;
            pageContact.ArParticipateTitle = pageContactCreateViewModel.ArParticipateTitle;
            pageContact.EnParticipateTitle = pageContactCreateViewModel.EnParticipateTitle;

            pageContact.ArAddress             = pageContactCreateViewModel.ArAddress;
            pageContact.EnAddress             = pageContactCreateViewModel.EnAddress;
            pageContact.MapUrl                = pageContactCreateViewModel.MapUrl;
            pageContact.PhoneNumber           = pageContactCreateViewModel.PhoneNumber;
            pageContact.FaxNumber             = pageContactCreateViewModel.FaxNumber;
            pageContact.EmailParticipateEmail = pageContactCreateViewModel.EmailParticipateEmail;
            pageContact.FormParticipateActive = pageContactCreateViewModel.FormParticipateActive;
            pageContact.IsActive              = pageContactCreateViewModel.IsActive;
            pageContact.IsDeleted             = pageContactCreateViewModel.IsDeleted;

            pageContact.Order            = pageContactCreateViewModel.Order;
            pageContact.SeoTitleEN       = pageContactCreateViewModel.SeoTitleEN;
            pageContact.SeoTitleAR       = pageContactCreateViewModel.SeoTitleAR;
            pageContact.SeoDescriptionEN = pageContactCreateViewModel.SeoDescriptionEN;
            pageContact.SeoDescriptionAR = pageContactCreateViewModel.SeoDescriptionAR;
            pageContact.SeoOgTitleEN     = pageContactCreateViewModel.SeoOgTitleEN;
            pageContact.SeoOgTitleAR     = pageContactCreateViewModel.SeoOgTitleAR;
            pageContact.SeoTwitterCardEN = pageContactCreateViewModel.SeoTwitterCardEN;
            pageContact.SeoTwitterCardAR = pageContactCreateViewModel.SeoTwitterCardAR;

            pageContact.EnPageName = pageContactCreateViewModel.EnPageName;
            pageContact.ArPageName = pageContactCreateViewModel.ArPageName;


            pageContact.PageRouteVersionId = pageContactCreateViewModel.PageRouteVersionId;
            if (pageContactCreateViewModel.Id > 0)
            {
                pageContact.Id = pageContactCreateViewModel.Id;
            }
            return(pageContact);
        }