public async Task DeleteAsync_given_non_existing_sessionId_returns_false()
        {
            using (var connection = await this.CreateConnectionAsync())
                using (var context = await this.CreateContextAsync(connection))
                {
                    var repository = new SessionRepository(context);

                    var deleted = await repository.DeleteAsync(42);

                    Assert.False(deleted);
                }
        }
        public async Task DeleteAsync_given_existing_sessionId_deletes_and_returns_true()
        {
            using (var connection = await this.CreateConnectionAsync())
                using (var context = await this.CreateContextAsync(connection))
                {
                    var entity = this.CreateDummySessionEntity();
                    context.Sessions.Add(entity);
                    context.SaveChanges();

                    var id = entity.Id;

                    var repository = new SessionRepository(context);

                    var deleted = await repository.DeleteAsync(id);

                    Assert.True(deleted);
                }
        }
示例#3
0
        private async Task <OperationResult <int> > Delete(CreateSession item)
        {
            using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                var session = await sessionRepo.GetByIdAsync(item.id);

                if (session == null)
                {
                    return new OperationResult <int>()
                           {
                               Success = false, Message = Messages.SESSION_NOT_EXIST
                           }
                }
                ;
                if ([email protected](elem => elem.id == item.userId))
                {
                    return new OperationResult <int>()
                           {
                               Success = false, Message = Messages.USER_NO_PERMISSION
                           }
                }
                ;

                try
                {
                    var id = await sessionRepo.DeleteAsync(session);

                    scope.Complete();
                    return(new OperationResult <int>()
                    {
                        Success = true, Message = Messages.SESSION_DELETED_SUCCESS, Result = id
                    });
                }
                catch (Exception ex)
                {
                    return(new OperationResult <int>()
                    {
                        Success = false, Message = ex.InnerException.Message
                    });
                }
            }
        }
    }
}
示例#4
0
        public void CreateSession()
        {
            int newSessionID = 0;

            try
            {
                newSessionID = sessionRepo.PostAsync(new CreateSession()
                {
                    eventId = 1, title = "sessao fixe", description = "sessao muita fixe", initialDate = DateTime.Now, endDate = DateTime.Now.AddHours(5), speakerName = "Raposo", lastName = "lugar", linkOfSpeaker = "www.google.com"
                }).Result;
            }
            catch (Exception ex)
            {
                Assert.IsInstanceOfType(ex.InnerException, typeof(ArgumentException));
            }
            var res = sessionRepo.GetByIdAsync(newSessionID).Result;

            Assert.AreEqual(res.title, "sessao fixe");
            var id = sessionRepo.DeleteAsync(res).Result;
        }