public async Task CreateReportAsync_CreateReport_ReportCreated(int userId1, int userId2, string report)
        {
            Mock <IFriendRequestListRepo> friendRequestListRepo = new Mock <IFriendRequestListRepo>( );
            Mock <IFriendBlockListRepo>   friendBlockListRepo   = new Mock <IFriendBlockListRepo>( );
            Mock <IFriendListRepo>        friendListRepo        = new Mock <IFriendListRepo>( );
            Mock <IUserReportsRepo>       userReportsRepo       = new Mock <IUserReportsRepo>( );



            Mock <IValidationService> validationService = new Mock <IValidationService>();

            IUserInteractionService userInteractionService = new UserInteractionService(friendBlockListRepo.Object, friendListRepo.Object, friendRequestListRepo.Object, userReportsRepo.Object, validationService.Object);


            UserReportsModel model = new UserReportsModel();

            model.ReportedId  = userId1;
            model.ReportingId = userId2;
            model.Report      = report;
            try
            {
                await userInteractionService.CreateReportAsync(model);

                Assert.IsTrue(true);
            }
            catch
            {
                Assert.IsTrue(false);
            }
        }
        public async Task CreateReportAsync_CreateReport_ReportCreated(int userId1, int userId2, string report)
        {
            IDataGateway           dataGateway           = new SQLServerGateway();
            IConnectionStringData  connectionString      = new ConnectionStringData();
            IFriendRequestListRepo friendRequestListRepo = new FriendRequestListRepo(dataGateway, connectionString);
            IFriendBlockListRepo   friendBlockListRepo   = new FriendBlockListRepo(dataGateway, connectionString);
            IFriendListRepo        friendListRepo        = new FriendListRepo(dataGateway, connectionString);
            IUserReportsRepo       userReportsRepo       = new UserReportsRepo(dataGateway, connectionString);
            IUserAccountRepository userAccountRepository = new UserAccountRepository(dataGateway, connectionString);

            IUserProfileRepository  userProfileRepository  = new UserProfileRepository(dataGateway, connectionString);
            IUserProfileService     userProfileService     = new UserProfileService(userProfileRepository);
            IUserAccountService     userAccountService     = new UserAccountService(userAccountRepository);
            IValidationService      validationService      = new ValidationService(userAccountService, userProfileService);
            IUserInteractionService userInteractionService = new UserInteractionService(friendBlockListRepo, friendListRepo, friendRequestListRepo, userReportsRepo, validationService);

            UserReportsModel model = new UserReportsModel();

            model.ReportedId  = userId1;
            model.ReportingId = userId2;
            model.Report      = report;
            try
            {
                await userInteractionService.CreateReportAsync(model);

                IEnumerable <UserReportsModel> userReports = await userReportsRepo.GetAllReports();

                if (userReports == null)
                {
                    Assert.IsTrue(false);
                }
                if (userReports.Count() == 0)
                {
                    Assert.IsTrue(false);
                }
                foreach (var userReport in userReports)
                {
                    if (userReport.Report == report && userReport.ReportedId == userId1 && userReport.ReportingId == userId2)
                    {
                        Assert.IsTrue(true);
                    }
                }
            }
            catch
            {
                Assert.IsTrue(false);
            }
        }
        public async Task <int> CreateReport(UserReportsModel model)
        {
            var storedProcedure = "dbo.UserReports_Create";

            DynamicParameters p = new DynamicParameters();

            p.Add("Report", model.Report);
            p.Add("ReportingId", model.ReportingId);
            p.Add("Date", model.Date);
            p.Add("ReportedId", model.ReportedId);


            p.Add("Id", DbType.Int32, direction: ParameterDirection.Output);

            await _dataGateway.Execute(storedProcedure, p, _connectionString.SqlConnectionString);

            return(p.Get <int>("Id"));
        }
示例#4
0
        private void FillDataGrid()
        {
            var entities = (from n in DataContext.LP_UserReports
                            where n.DateDeleted == null
                            orderby n.OrderIndex, n.DateCreated
                            select n).ToList();

            var converter = new UserReportEntityModelConverter(DataContext);

            var models = (from n in entities
                          let m = converter.Convert(n)
                                  select m).ToList();

            var model = new UserReportsModel();

            model.List = models;

            userReportsControl.Model = model;
        }
示例#5
0
        private void FillUserReports()
        {
            var parentID = DataConverter.ToNullableGuid(Request["ID"]);


            var currentLanguage = LanguageUtil.GetLanguage();

            var query = from n in DataContext.LP_UserReports
                        where n.DateDeleted == null && (n.Language == currentLanguage || n.Language == null || n.Language == "")
                        select n;

            if (parentID == null)
            {
                query = from n in query
                        where n.ParentID == null
                        select n;
            }
            else
            {
                query = from n in query
                        where n.ParentID == parentID
                        select n;
            }

            query = from n in query
                    orderby n.OrderIndex, n.DateCreated
            select n;

            var entities = query.ToList();

            var converter = new UserReportEntityModelConverter(DataContext);

            var models = (from n in entities
                          let m = converter.Convert(n)
                                  select m).ToList();

            var model = new UserReportsModel();

            model.List = models;

            userReportsControl.Model = model;
        }
        public async Task <bool> CreateReportAsync(UserReportsModel model)
        {
            if (_validationService.IsNull(model))
            {
                try
                {
                    model.Date = DateTime.UtcNow;
                    int result = await _userReportsRepo.CreateReport(model);

                    if (result != 1)
                    {
                        return(false);
                    }
                    return(true);
                }
                catch
                {
                    return(false);
                }
            }

            return(false);
        }
        public async Task RemoveReportAsync_RemoveReport_ReportRemoved(int userId1, int userId2, string report)
        {
            Mock <IDataGateway>           dataGateway           = new Mock <IDataGateway>();
            Mock <IConnectionStringData>  connectionString      = new Mock <IConnectionStringData>();
            Mock <IFriendRequestListRepo> friendRequestListRepo = new Mock <IFriendRequestListRepo>( );
            Mock <IFriendBlockListRepo>   friendBlockListRepo   = new Mock <IFriendBlockListRepo>( );
            Mock <IFriendListRepo>        friendListRepo        = new Mock <IFriendListRepo>( );
            Mock <IUserReportsRepo>       userReportsRepo       = new Mock <IUserReportsRepo>( );
            Mock <IUserAccountRepository> userAccountRepository = new Mock <IUserAccountRepository>( );

            Mock <IUserProfileRepository> userProfileRepository = new Mock <IUserProfileRepository>( );
            Mock <IUserProfileService>    userProfileService    = new Mock <IUserProfileService>();
            Mock <IUserAccountService>    userAccountService    = new Mock <IUserAccountService>();

            Mock <IValidationService> validationService = new Mock <IValidationService>();

            IUserInteractionService userInteractionService = new UserInteractionService(friendBlockListRepo.Object, friendListRepo.Object, friendRequestListRepo.Object, userReportsRepo.Object, validationService.Object);



            UserReportsModel model = new UserReportsModel();

            model.ReportedId  = userId1;
            model.ReportingId = userId2;
            model.Report      = report;
            try
            {
                await userInteractionService.CreateReportAsync(model);

                await userInteractionService.RemoveReportAsync(1);
            }
            catch
            {
                Assert.IsTrue(false);
            }
        }
示例#8
0
        public async Task <ActionResult <bool> > ReportUser([FromBody] UserReportsModel model)
        {
            try
            {
                var token  = ExtractHeader(HttpContext, "Authorization", ',', 1);
                var claims = new List <BusinessModels.UserAccessControl.UserClaimModel>();

                var accessPolicy = _authorizationPolicyManager.ConfigureCustomPolicy(new List <string>()
                {
                    "user_profile:report"
                }, claims);
                if (!_authorizationResolutionManager.Authorize(token, accessPolicy))
                {
                    return(StatusCode(403));
                }
                await _userInteractionService.CreateReportAsync(model);

                return(Ok(true));
            }
            catch
            {
                return(Ok(false));
            }
        }