Example #1
0
 public TurmasController(WebApiContext context, IMapper mapper, TurmaServices turmaServices, AlunoServices alunoServices)
 {
     this.TurmaServices = turmaServices;
     this.AlunoServices = alunoServices;
     this.mapper        = mapper;
     _context           = context;
 }
Example #2
0
        public async Task GetSpecificNonExistingUser()
        {
            await using var context = new WebApiContext(_seeder.DbContextOptions);
            var controller = CreateController(context);

            var maxId = await context.Users.MaxAsync(u => u.Id);

            var getResult = await controller.GetUser(maxId + 1);

            getResult.Result.ShouldBeAssignableTo <NotFoundResult>();

            getResult = await controller.GetUser(-1);

            getResult.Result.ShouldBeAssignableTo <NotFoundResult>();

            var blockedUser = await context.Users.FirstAsync();

            blockedUser.StateId = _blockedState.Id;
            await context.SaveChangesAsync();

            getResult = await controller.GetUser(blockedUser.Id);

            getResult.Result.ShouldBeAssignableTo <NotFoundResult>();

            blockedUser.StateId = _activeState.Id;
            await context.SaveChangesAsync();
        }
Example #3
0
        public async Task <IHttpActionResult> PostManufacturer(ManufacturerRequest manufacturerRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var now = DateTime.Now;

            var manufacturer = new Manufacturer
            {
                Name                  = manufacturerRequest.Name,
                AuditCreatedBy        = UserResolver.CurrentUserId,
                AuditCreatedDate      = now,
                AuditLastModifiedBy   = UserResolver.CurrentUserId,
                AuditLastModifiedDate = now
            };

            WebApiContext.Manufacturers.Add(manufacturer);
            await WebApiContext.SaveChangesAsync();

            var response = new ManufacturerResponse
            {
                ManufacturerId = manufacturer.ManufacturerId,
                Name           = manufacturer.Name
            };

            return(CreatedAtRoute(nameof(GetManufacturer), new { manufacturerId = response.ManufacturerId }, response));
        }
Example #4
0
 public Todo GetByID(int id)
 {
     using (WebApiContext db = new WebApiContext())
     {
         return(db.Todo.Find(id));
     }
 }
Example #5
0
        public async Task AddUserWithSameLoginImmediately()
        {
            await using var context = new WebApiContext(_seeder.DbContextOptions);
            var controller = CreateController(context);

            var result = await controller.PostUser(new UserPostDto
            {
                Login    = "******",
                Password = "******",
                GroupId  = _userGroup.Id
            });

            var createdUser = (UserGetDto)((CreatedAtActionResult)result.Result).Value;

            result = await controller.PostUser(new UserPostDto
            {
                Login    = "******",
                Password = "******",
                GroupId  = _userGroup.Id
            });

            result.Result.ShouldBeAssignableTo <ConflictResult>();

            context.Users.Count().ShouldBe(11);

            context.Users.Remove(await context.Users.FindAsync(createdUser.Id));
            await context.SaveChangesAsync();
        }
Example #6
0
 public ActionResult Get()
 {
     using (var db = new WebApiContext()){
         var products = db.Products.ToList();
         return(Ok(products));
     }
 }
Example #7
0
        public async Task <ActionResult <Users> > Put(int id, Users item)
        {
            _logger.LogInformation(LoggingEvents.UpdateItem, "PUT USER");
            try
            {
                if (id != item.User_ID)
                {
                    return(BadRequest());
                }

                using (var db = new WebApiContext())
                {
                    db.Entry(item).State = EntityState.Modified;
                    await db.SaveChangesAsync();

                    _logger.LogInformation(LoggingEvents.UpdateItem, "PUT Successful");
                    return(NoContent());
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(LoggingEvents.Error, ex, "AN ERROR OCCURRED.");
                return(null);
            }
        }// THE END PUT
Example #8
0
        public async Task AddAdminWhenNoAdminPresent()
        {
            await using var context = new WebApiContext(_seeder.DbContextOptions);
            var controller = CreateController(context);

            await foreach (var user in context.Users)
            {
                user.GroupId = _userGroup.Id;
                context.Entry(user).State = EntityState.Modified;
            }

            await context.SaveChangesAsync();

            var userToAdd = new UserPostDto
            {
                Login    = "******",
                Password = "******",
                GroupId  = _adminGroup.Id
            };

            var result = await controller.PostUser(userToAdd);

            result.Result.ShouldBeAssignableTo <CreatedAtActionResult>();
            var addedUser = (UserGetDto)((CreatedAtActionResult)result.Result).Value;

            (await context.Users.FindAsync(addedUser.Id)).ShouldNotBeNull();
        }
Example #9
0
        public async Task AddAdminWhenAdminPresentFails()
        {
            await using var context = new WebApiContext(_seeder.DbContextOptions);
            var controller = CreateController(context);

            var users = context.Users.ToList();

            foreach (var user in users)
            {
                user.GroupId = _userGroup.Id;
                context.Entry(user).State = EntityState.Modified;
            }

            users[new Random().Next(users.Count)].GroupId = _adminGroup.Id;

            await context.SaveChangesAsync();

            var userToAdd = new UserPostDto
            {
                Login    = "******",
                Password = "******",
                GroupId  = _adminGroup.Id
            };

            var result = await controller.PostUser(userToAdd);

            result.Result.ShouldBeAssignableTo <BadRequestResult>();

            context.Users.Count().ShouldBe(10);
        }
Example #10
0
        public async Task ChangeToInvalidGroupFails()
        {
            await using var context = new WebApiContext(_seeder.DbContextOptions);
            var controller = CreateController(context);

            var userToChange = await context.Users.FirstAsync();

            var maxGroupId = await context.UserGroups.MaxAsync(g => g.Id);

            var oldData = new UserPutDto
            {
                Id      = userToChange.Id,
                Login   = userToChange.Login,
                GroupId = userToChange.GroupId
            };
            var changes = new UserPutDto
            {
                Id      = userToChange.Id,
                Login   = "******",
                GroupId = maxGroupId + 1
            };

            var result = await controller.PutUser(changes.Id, changes);

            result.ShouldBeAssignableTo <BadRequestResult>();

            userToChange.Login.ShouldBe(oldData.Login);
            userToChange.GroupId.ShouldBe(oldData.GroupId);
        }
Example #11
0
        public async Task AddUserToUserGroupAndModifyUsingNotMatchingId()
        {
            await using var context = new WebApiContext(_seeder.DbContextOptions);
            var controller = CreateController(context);

            var userToAdd = new UserPostDto
            {
                Login    = "******",
                Password = "******",
                GroupId  = _userGroup.Id
            };

            var postResult = await controller.PostUser(userToAdd);

            postResult.Result.ShouldBeAssignableTo <CreatedAtActionResult>();

            var createdUser = (UserGetDto)((CreatedAtActionResult)postResult.Result).Value;

            var changes = new UserPutDto
            {
                Id      = createdUser.Id,
                Login   = "******",
                GroupId = _userGroup.Id,
            };

            var putResult = await controller.PutUser(createdUser.Id + 1, changes);

            putResult.ShouldBeAssignableTo <BadRequestResult>();

            var user = await context.Users.FindAsync(createdUser.Id);

            context.Users.Remove(user);
            await context.SaveChangesAsync();
        }
        public void TryContext()
        {
            using var context = new WebApiContext();
            var result = context.Orders.First();

            Assert.IsNotNull(result);
        }
Example #13
0
        private void Seed()
        {
            var rand = new Random();

            using var context = new WebApiContext(DbContextOptions);

            var groups = context.UserGroups.Select(g => g.Id).ToList();
            var states = context.UserStates.Select(s => s.Id).ToList();

            var usersToAdd = new List <User>();

            for (var i = 0; i < 10; i++)
            {
                usersToAdd.Add(new User
                {
                    Login        = rand.Next().ToString(),
                    PasswordHash = rand.Next().ToString(),
                    Salt         = rand.Next().ToString(),
                    CreatedDate  = DateTime.Now - TimeSpan.FromSeconds(rand.Next()),
                    GroupId      = groups[rand.Next(groups.Count)],
                    StateId      = states[rand.Next(states.Count)]
                });
            }

            context.AddRange(usersToAdd);
            context.SaveChanges();
        }
Example #14
0
 public AutorsController(WebApiContext context, IMapper mapper, AutorServices autorServices, LivroServices livroServices)
 {
     this.AutorServices = autorServices;
     this.LivroServices = livroServices;
     this.mapper        = mapper;
     _context           = context;
 }
Example #15
0
 public IEnumerable <Employee> Get(int id)
 {
     using (var contxt = new WebApiContext())
     {
         return(contxt.Employees.Where(e => e.Id == id));
     }
 }
Example #16
0
        public async Task ChangeUserToAdminWhenNoAdminPresent()
        {
            await using var context = new WebApiContext(_seeder.DbContextOptions);
            var controller = CreateController(context);

            await foreach (var user in context.Users)
            {
                user.GroupId = _userGroup.Id;
                context.Entry(user).State = EntityState.Modified;
            }

            await context.SaveChangesAsync();

            var userToChange = await context.Users.FirstAsync();

            var changes = new UserPutDto
            {
                Id      = userToChange.Id,
                Login   = "******",
                GroupId = _adminGroup.Id,
            };

            var result = await controller.PutUser(userToChange.Id, changes);

            result.ShouldBeAssignableTo <OkResult>();

            var changedUser = await context.Users.FindAsync(userToChange.Id);

            changedUser.Login.ShouldBe(changes.Login);
            changedUser.GroupId.ShouldBe(changes.GroupId);
        }
Example #17
0
        public void Put(int id, [FromBody] Employee employee)
        {
            if (!ModelState.IsValid)
            {
                // return BadRequest("Not a valid data");

                using (var contxt = new WebApiContext())
                {
                    var emp = contxt.Employees.Where(e => e.Id == id).FirstOrDefault <Employee>();

                    if (emp != null)
                    {
                        emp.Name    = employee.Name;
                        emp.Address = employee.Address;

                        emp.SaveChanges();
                    }
                    else
                    {
                        // return NotFound();
                    }
                }
            }
            // return Ok();
        }
Example #18
0
        public async Task ChangeUserToAdminWhenAdminPresentFails()
        {
            await using var context = new WebApiContext(_seeder.DbContextOptions);
            var controller = CreateController(context);

            var users = context.Users.ToList();

            foreach (var user in users)
            {
                user.GroupId = _userGroup.Id;
                context.Entry(user).State = EntityState.Modified;
            }

            users[new Random().Next(users.Count)].GroupId = _adminGroup.Id;

            await context.SaveChangesAsync();

            var userToChange = await context.Users.FirstAsync(u => u.Group.Code != UserGroupCode.Admin);

            var oldData = new { userToChange.Login, userToChange.GroupId };

            var changes = new UserPutDto
            {
                Id      = userToChange.Id,
                Login   = "******",
                GroupId = _adminGroup.Id,
            };

            var result = await controller.PutUser(userToChange.Id, changes);

            result.ShouldBeAssignableTo <BadRequestResult>();

            userToChange.Login.ShouldBe(oldData.Login);
            userToChange.GroupId.ShouldBe(oldData.GroupId);
        }
Example #19
0
        public async Task <ActionResult <Users> > Delete(int id)
        {
            _logger.LogInformation(LoggingEvents.DeleteItem, "DELETE USER");
            try
            {
                using (var db = new WebApiContext())
                {
                    var item = await db.Users.FindAsync(id);

                    if (item == null)
                    {
                        _logger.LogInformation(LoggingEvents.GetItemNotFound, "DELETE NOT FOUND");
                        return(NotFound());
                    }

                    db.Users.Remove(item);
                    await db.SaveChangesAsync();

                    _logger.LogInformation(LoggingEvents.DeleteItem, "DELETE Successful");
                    return(NoContent());
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(LoggingEvents.Error, ex, "AN ERROR OCCURRED.");
                return(null);
            }
        }// THE END DELETE
Example #20
0
        public async Task ChangeAdminUserToAdminGroup()
        {
            await using var context = new WebApiContext(_seeder.DbContextOptions);
            var controller = CreateController(context);

            var users = context.Users.ToList();

            foreach (var user in users)
            {
                user.GroupId = _userGroup.Id;
                context.Entry(user).State = EntityState.Modified;
            }

            var admin = users[new Random().Next(users.Count)];

            admin.GroupId = _adminGroup.Id;

            await context.SaveChangesAsync();

            var changes = new UserPutDto
            {
                Id      = admin.Id,
                Login   = "******",
                GroupId = _adminGroup.Id,
            };

            var result = await controller.PutUser(admin.Id, changes);

            result.ShouldBeAssignableTo <OkResult>();

            var changedUser = await context.Users.FindAsync(admin.Id);

            changedUser.Login.ShouldBe(changes.Login);
            changedUser.GroupId.ShouldBe(changes.GroupId);
        }
Example #21
0
 public IList <Todo> GetAll()
 {
     using (WebApiContext db = new WebApiContext())
     {
         return(db.Todo.AsNoTracking().ToList());
     }
 }
Example #22
0
 public IEnumerable <Employee> Get()
 {
     using (var contxt = new WebApiContext())
     {
         return(contxt.Employees.ToList());
     }
 }
Example #23
0
        public void Can_delete_item()
        {
            using (var context = new WebApiContext(ContextOptions))
            {
                User usr = new User()
                {
                    Name = "Test User"
                };
                context.Users.Add(usr);
                Ticket t = new Ticket()
                {
                    Name = "test write", User = usr
                };
                context.Tickets.Add(t);
                context.SaveChanges();
                int delete = t.Id;


                var controller = new TicketsController(context);

                var item = controller.Delete(delete);


                Ticket newticket = context.Tickets.FirstOrDefault(x => x.Id == delete);
                Assert.Null(newticket);
                Assert.IsType <ActionResult <Ticket> >(item.Result);
            }
        }
Example #24
0
        public void Can_post_item()
        {
            using (var context = new WebApiContext(ContextOptions))
            {
                User usr = new User()
                {
                    Name = "Test User"
                };
                context.Users.Add(usr);
                context.SaveChanges();
                Ticket t = new Ticket()
                {
                    Name = "test write", UserId = usr.Id
                };



                var controller = new TicketsController(context);
                //t.Name = "new value";
                var    item      = controller.Post(t).Result;
                Ticket newticket = context.Tickets.Find(t.Id);

                Assert.IsType <ActionResult <Ticket> >(item);
                Assert.Equal(t, newticket);
            }
        }
Example #25
0
        public async Task <IHttpActionResult> DeleteProduct(int manufacturerId, int productId)
        {
            var product = await WebApiContext.Products
                          .Where(_ => _.ManufacturerId == manufacturerId)
                          .Where(_ => _.ProductId == productId)
                          .FirstOrDefaultAsync();

            if (product == null)
            {
                return(NotFound());
            }

            var productImage = await WebApiContext.ProductImages
                               .FirstOrDefaultAsync(_ => _.ProductImageId == productId);

            if (productImage != null)
            {
                WebApiContext.ProductImages.Remove(productImage);
            }

            WebApiContext.Products.Remove(product);
            await WebApiContext.SaveChangesAsync();

            var response = new ProductResponse
            {
                ManufacturerId = product.ManufacturerId,
                Name           = product.Name,
                ProductId      = product.ProductId
            };

            return(Ok(response));
        }
Example #26
0
        public void Can_put_item()
        {
            using (var context = new WebApiContext(ContextOptions))
            {
                User usr = new User()
                {
                    Name = "Test User"
                };
                context.Users.Add(usr);
                Ticket t = new Ticket()
                {
                    Name = "test write", User = usr
                };
                context.Tickets.Add(t);
                context.SaveChanges();
                Ticket newticket = context.Tickets.Find(t.Id);

                var controller = new TicketsController(context);
                t.Name = "new value";
                var item = controller.Put(t);

                Assert.IsType <OkObjectResult>(item.Result);
                Assert.Equal(newticket, t);
                Assert.Equal("new value", newticket.Name);
            }
        }
Example #27
0
		/// <summary>
		/// Create a basic instance of the BudgetModel DAO class
		/// </summary>
		/// <param name="context"></param>
		/// <param name="db"></param>
		public @ParentDAO(WebApiContext context, I@ParentDB db)
		{
			// testing
			_context = context.TraceContext;
			if (!_context.Keys.Contains("CurrentDAO")) { _context.Add("CurrentDAO", this.GetType().FullName); }
			_DB = db;
		}
Example #28
0
        private List <Worker> GetWorkers(List <WorkerData> workersData, WebApiContext context)
        {
            List <Worker> workers = new List <Worker>();

            foreach (WorkerData workerData in workersData)
            {
                Worker worker = context.Workers.FirstOrDefault(w => w.Name == workerData.Name);
                if (worker == null)
                {
                    worker = new Worker()
                    {
                        Name     = workerData.Name,
                        Host     = workerData.Host,
                        Port     = workerData.Port,
                        Endpoint = workerData.Endpoint
                    };
                    context.Workers.Add(worker);
                }
                else
                {
                    worker.Host     = workerData.Host;
                    worker.Port     = workerData.Port;
                    worker.Endpoint = workerData.Endpoint;
                    context.Workers.Update(worker);
                }
                workers.Add(worker);
            }
            context.SaveChanges();
            return(workers);
        }
        public IActionResult Add(Category category) // iste bodyden gelecek demektir
        {
            using var context = new WebApiContext();
            context.Categories.Add(category);
            context.SaveChanges();

            return(Created("", category));
        }
Example #30
0
        public async Task AdminBecomesAdminAgain()
        {
            await using var context = new WebApiContext(_seeder.DbContextOptions);
            var adminElevation = new AdminElevation(context);

            (await adminElevation.CanBecomeAdmin(_admin.Id)).ShouldBe(true);
            (await adminElevation.CanEnterGroup(_admin.GroupId, _admin.Id)).ShouldBe(true);
        }