private ProviderFollowing MappingData(FollowingProviderServiceViewModel vm)
        {
            ProviderFollowing providerFollowing = new ProviderFollowing();

            providerFollowing.UserId         = Guid.Parse(vm.UserId);
            providerFollowing.ProviderId     = Guid.Parse(vm.ProviderId);
            providerFollowing.IsReceiveEmail = vm.IsReceiveEmail;
            providerFollowing.DateCreated    = DateTime.Now;
            return(providerFollowing);
        }
Beispiel #2
0
        public async Task <IActionResult> UnFollowProviders(FollowingProviderServiceViewModel vm)
        {
            var model = await _unFollowProviderServiceCommand.ExecuteAsync(vm);

            return(new OkObjectResult(model));
        }
Beispiel #3
0
        public async Task <CommandResult <FollowingProviderServiceViewModel> > ExecuteAsync(FollowingProviderServiceViewModel vm)
        {
            var userId   = _httpContextAccessor.HttpContext.User.Identity.Name;
            var userName = await _userManager.FindByIdAsync(userId);

            try
            {
                var checkUserHasBeenFollow = await _providerFollowingRepository.FindAllAsync(x =>
                                                                                             x.ProviderId == Guid.Parse(vm.ProviderId) &&
                                                                                             x.UserId == Guid.Parse(vm.UserId));

                if (checkUserHasBeenFollow.Count() == 0)
                {
                    await Logging <UnFollowProviderServiceCommand> .ErrorAsync(ActionCommand.COMMAND_DELETE, userName.UserName, "You has not register this service");

                    return(new CommandResult <FollowingProviderServiceViewModel>
                    {
                        isValid = false,
                        errorMessage = "You has not register this service"
                    });
                }
                _providerFollowingRepository.RemoveMultiple(checkUserHasBeenFollow.ToList());
                await _providerFollowingRepository.SaveAsync();

                await Logging <UnFollowProviderServiceCommand> .
                InformationAsync(ActionCommand.COMMAND_DELETE, userName.UserName, "Unfollow Service:" + JsonConvert.SerializeObject(vm));

                return(new CommandResult <FollowingProviderServiceViewModel>
                {
                    isValid = true,
                    errorMessage = "You had delete"
                });
            }
            catch (Exception ex)
            {
                await Logging <UnFollowProviderServiceCommand> .ErrorAsync(ex, ActionCommand.COMMAND_DELETE, userName.UserName, "Has error");

                return(new CommandResult <FollowingProviderServiceViewModel>
                {
                    isValid = false,
                    errorMessage = ex.InnerException.Message.ToString()
                });
            }
        }
        public async Task <CommandResult <FollowingProviderServiceViewModel> > ExecuteAsync(FollowingProviderServiceViewModel vm)
        {
            var userId   = _httpContextAccessor.HttpContext.User.Identity.Name;
            var userName = await _userManager.FindByIdAsync(userId);

            try
            {
                var checkUserHasFollowProvider = await _providerFollowingRepository.FindAllAsync(x =>
                                                                                                 x.ProviderId == Guid.Parse(vm.ProviderId) && x.UserId == Guid.Parse(vm.UserId));

                if (checkUserHasFollowProvider.Count() != 0)
                {
                    await Logging <FollowProviderServiceCommand> .
                    ErrorAsync(ActionCommand.COMMAND_ADD, userName.UserName, userName.UserName + "had follow provider");

                    return(new CommandResult <FollowingProviderServiceViewModel>
                    {
                        isValid = false,
                        errorMessage = "You had follow this provider"
                    });
                }
                var getProvider = await _providerRepository.FindByIdAsync(Guid.Parse(vm.ProviderId));

                if (getProvider == null)
                {
                    await Logging <FollowProviderServiceCommand> .
                    ErrorAsync(ActionCommand.COMMAND_ADD, userName.UserName, ErrorMessageConstant.ERROR_CANNOT_FIND_ID);

                    return(new CommandResult <FollowingProviderServiceViewModel>
                    {
                        isValid = false,
                        errorMessage = ErrorMessageConstant.ERROR_CANNOT_FIND_ID
                    });
                }
                var data = MappingData(vm);
                await _providerFollowingRepository.Add(data);

                await _providerFollowingRepository.SaveAsync();

                await LoggingUser <FollowProviderServiceCommand> .
                InformationAsync(getProvider.UserId.ToString(), userName.UserName, userName.UserName + " đã theo dõi provider của bạn");

                await Logging <FollowProviderServiceCommand> .InformationAsync(ActionCommand.COMMAND_ADD, userName.UserName, JsonConvert.SerializeObject(data));

                return(new CommandResult <FollowingProviderServiceViewModel>
                {
                    isValid = true,
                    myModel = vm
                });
            }
            catch (Exception ex)
            {
                await Logging <FollowProviderServiceCommand> .ErrorAsync(ex, ActionCommand.COMMAND_ADD, userName.UserName, "Has error:");

                return(new CommandResult <FollowingProviderServiceViewModel>
                {
                    isValid = false,
                    errorMessage = ex.InnerException.Message.ToString()
                });
            }
        }