public async Task <IActionResult> AddServiceGroup(ServiceGroupViewModel viewModel)
        {
            //clear error list
            errors.Clear();

            //Get CongregationID
            var userData = HttpContext.Session.GetObjectFromJson <LoginPassedDataViewModel>("userCredentials");
            //ServiceGroupListbyID
            var serviceGroupList = await _serviceGroups.GetServiceGroupsbyCongAsync(userData.CongregationId);

            //ViewModel Validation
            ServiceGroupValidator validator = new ServiceGroupValidator(serviceGroupList);
            var results = validator.Validate(viewModel);

            if (results.IsValid == true)
            {
                //Map model
                var serviceGroupListAdded = _mapper.Map <ServiceGroups>(viewModel);
                //Insert service group
                _serviceGroups.InsertAsync(serviceGroupListAdded);
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(View());
            }
        }
        public async Task <IActionResult> EditAsync(ServiceGroupViewModel viewModel)
        {
            //clear error list
            errors.Clear();

            //Get CongregationID
            var userData = HttpContext.Session.GetObjectFromJson <LoginPassedDataViewModel>("userCredentials");
            //ServiceGroupListbyID
            var serviceGroupList = await _serviceGroups.GetServiceGroupsbyCongAsync(userData.CongregationId);

            //ViewModel Validation
            ServiceGroupValidator validator = new ServiceGroupValidator(serviceGroupList);
            var results = validator.Validate(viewModel);

            if (results.IsValid == true)
            {
                //Use get congregation info from DB
                var serviceGroupUpdate = _mapper.Map <ServiceGroups>(viewModel);
                serviceGroupUpdate.FKCongregationId = userData.Id;
                //Use the created map
                _serviceGroups.UpdateAsync(serviceGroupUpdate);
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                foreach (ValidationFailure failure in results.Errors)
                {
                    errors.Add($"{failure.PropertyName}:{failure.ErrorMessage}");
                }
                return(View(viewModel));
            }
        }