Esempio n. 1
0
        public void RemoveFloorById_ThrowException_WhenDeletingANonExistantFloor()
        {
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using (var memoryCtx = new FacilityContext(options))
            {
                var FloorToUseInTest = new FloorTO
                {
                    Number = 0
                };
                var FloorToUseInTest2 = new FloorTO
                {
                    Number = -1
                };
                var FloorToUseInTest3 = new FloorTO
                {
                    Number = -2
                };


                var floorRepository = new FloorRepository(memoryCtx);

                floorRepository.Add(FloorToUseInTest);
                floorRepository.Add(FloorToUseInTest2);
                memoryCtx.SaveChanges();

                Assert.ThrowsException <KeyNotFoundException>(() => floorRepository.Remove(3));
            }
        }
        public void RemoveById_AddANewIncidentThenRemoveIt_ReturnTrue()
        {
            //ARRANGE
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var context = new FacilityContext(options);
            IIncidentRepository      incidentRepository      = new IncidentRepository(context);
            IRoomRepository          roomRepository          = new RoomRepository(context);
            IFloorRepository         floorRepository         = new FloorRepository(context);
            IComponentTypeRepository componentTypeRepository = new ComponentTypeRepository(context);
            IIssueRepository         issueRepository         = new IssueRepository(context);
            //Room(and it's floor)
            var floor = new FloorTO {
                Number = 2
            };
            var addedFloor1 = floorRepository.Add(floor);

            context.SaveChanges();
            RoomTO room = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor1
            };
            var addedRoom = roomRepository.Add(room);

            context.SaveChanges();
            //Component
            var componentType = new ComponentTypeTO {
                Archived = false, Name = new MultiLanguageString("Name1En", "Name1Fr", "Name1Nl")
            };
            var addedComponentType = componentTypeRepository.Add(componentType);

            context.SaveChanges();
            //Issue
            var issue = new IssueTO {
                Description = "prout", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = addedComponentType
            };
            var addedIssue = issueRepository.Add(issue);

            context.SaveChanges();
            //Incident
            var incident = new IncidentTO
            {
                Description = "No coffee",
                Issue       = addedIssue,
                Status      = IncidentStatus.Waiting,
                SubmitDate  = DateTime.Now,
                UserId      = 1,
                Room        = addedRoom
            };
            var addedIncident = incidentRepository.Add(incident);

            context.SaveChanges();
            //ACT
            var result = incidentRepository.Remove(addedIncident.Id);

            context.SaveChanges();
            //ASSERT
            Assert.IsTrue(result);
        }
        public void GetByID_AddNewRoomAndRetrieveTheAddedRoom_ReturnTheCoorectRoom()
        {
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var context = new FacilityContext(options);
            IRoomRepository  repository      = new RoomRepository(context);
            IFloorRepository floorRepository = new FloorRepository(context);

            var floor = new FloorTO {
                Number = 2
            };
            var addedFloor1 = floorRepository.Add(floor);

            context.SaveChanges();

            RoomTO room = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor1
            };
            var result = repository.Add(room);

            context.SaveChanges();

            var retrievedRoom = repository.GetById(result.Id);

            Assert.IsNotNull(retrievedRoom);
            Assert.AreEqual(retrievedRoom.ToString(), result.ToString());
        }
Esempio n. 4
0
        public void UpdateFloorByTransfertObject_Successfull()
        {
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var memoryCtx = new FacilityContext(options);
            var FloorToUseInTest = new FloorTO
            {
                Number = 0
            };
            var FloorToUseInTest2 = new FloorTO
            {
                Number = -1
            };


            var floorRepository = new FloorRepository(memoryCtx);

            var f1 = floorRepository.Add(FloorToUseInTest);
            var f2 = floorRepository.Add(FloorToUseInTest2);

            memoryCtx.SaveChanges();
            f2.Number = 18;
            floorRepository.Update(f2);

            Assert.AreEqual(2, floorRepository.GetAll().Count());
            Assert.AreEqual(18, f2.Number);
        }
        public void RemoveByEntity_AddANewRoomAndRemoveTheAddedRoom_ReturnTrue()
        {
            //ARRANGE
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var context = new FacilityContext(options);
            IRoomRepository  repository      = new RoomRepository(context);
            IFloorRepository floorRepository = new FloorRepository(context);

            var floor = new FloorTO {
                Number = 2
            };
            var addedFloor1 = floorRepository.Add(floor);

            context.SaveChanges();

            RoomTO room = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor1
            };
            var added = repository.Add(room);

            context.SaveChanges();
            //ACT
            var result = repository.Remove(added);

            context.SaveChanges();
            //ASSERT
            Assert.IsTrue(result);
        }
Esempio n. 6
0
        public void Update_AddARoopmAndChangeItsName_ReturnUpdatedRoom()
        {
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var context = new FacilityContext(options);
            IRoomRepository  repository      = new RoomRepository(context);
            IFloorRepository floorRepository = new FloorRepository(context);

            var floor = new FloorTO {
                Number = 2
            };
            var addedFloor1 = floorRepository.Add(floor);

            context.SaveChanges();

            RoomTO room = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor1
            };
            var added = repository.Add(room);

            context.SaveChanges();
            added.Name = new MultiLanguageString("New Room1", "New Room1", "New Room1");
            var updated = repository.Update(added);

            Assert.AreEqual("New Room1", updated.Name.English);
        }
        public void AddFloor_Successfull()
        {
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using (var memoryCtx = new FacilityContext(options))
            {
                //ARRANGE
                var FloorToUseInTest = new FloorTO
                {
                    Id     = 1,
                    Number = 0
                };

                var floorRepository = new FloorRepository(memoryCtx);

                //ACT
                floorRepository.Add(FloorToUseInTest);
                memoryCtx.SaveChanges();

                //ASSERT
                Assert.AreEqual(1, floorRepository.GetAll().Count());
                var FloorToAssert = floorRepository.GetById(1);
                Assert.AreEqual(1, FloorToAssert.Id);
                Assert.AreEqual(0, FloorToAssert.Number);
            }
        }
        public void Add_ReturnRoomTONotNull()
        {
            //ARRANGE
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var context = new FacilityContext(options);
            IRoomRepository  repository      = new RoomRepository(context);
            IFloorRepository floorRepository = new FloorRepository(context);

            var floor = new FloorTO {
                Number = 2
            };
            var addedFloor1 = floorRepository.Add(floor);

            context.SaveChanges();

            RoomTO room = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor1
            };
            //ACT
            var result = repository.Add(room);

            context.SaveChanges();
            //ASSERT
            Assert.IsNotNull(result);
            Assert.AreEqual(result.Name.French, "Room1");
        }
Esempio n. 9
0
        public static SelectList GetSelectList_Floor(object BlockId, object sValue)
        {
            var             selectListItems = new List <SelectListItem>();
            FloorRepository floorRepository = new FloorRepository(new Domain.RealEstate.ErpRealEstateDbContext());

            //SelectListItem itemEmpty = new SelectListItem();
            //itemEmpty.Text = App_GlobalResources.Wording.ContractTypeName;
            //itemEmpty.Value = null;
            //selectListItems.Add(itemEmpty);
            try
            {
                if (BlockId != null)
                {
                    int id = Convert.ToInt32(BlockId);
                    var q  = floorRepository.GetAllFloor().Where(item => item.BlockId == id).OrderBy(item => item.OrderNo).ToList();
                    foreach (var i in q)
                    {
                        SelectListItem item = new SelectListItem();
                        item.Text  = "Tầng " + i.Name;
                        item.Value = i.Id.ToString();
                        selectListItems.Add(item);
                    }
                }
            }
            catch { }

            var selectList = new SelectList(selectListItems, "Value", "Text", sValue);

            return(selectList);
        }
Esempio n. 10
0
        public void RemoveFloorByTransfertObject_Successfull()
        {
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using (var memoryCtx = new FacilityContext(options))
            {
                var FloorToUseInTest = new FloorTO
                {
                    Number = 0
                };
                var FloorToUseInTest2 = new FloorTO
                {
                    Number = -1
                };

                var floorRepository = new FloorRepository(memoryCtx);

                var f1 = floorRepository.Add(FloorToUseInTest);
                var f2 = floorRepository.Add(FloorToUseInTest2);
                memoryCtx.SaveChanges();
                floorRepository.Remove(f2);
                memoryCtx.SaveChanges();

                var retrievedFloors = floorRepository.GetAll();

                Assert.AreEqual(1, retrievedFloors.Count());
                Assert.IsFalse(retrievedFloors.Any(x => x.Id == 2));
            }
        }
Esempio n. 11
0
        public IHttpActionResult Post([FromBody] DeskClass info)
        {
            var floorrepo = new   FloorRepository();

            repodesk.AddDesk(info.Name, info.FloorId);
            return(Ok());
        }
        public void GetComponentTypeByRoom_Successfull()
        {
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var context = new FacilityContext(options);
            IRoomRepository          roomRepository          = new RoomRepository(context);
            IFloorRepository         floorRepository         = new FloorRepository(context);
            IComponentTypeRepository componentTypeRepository = new ComponentTypeRepository(context);

            //Room(and it's floor)
            var floor = new FloorTO {
                Number = 2
            };
            var addedFloor1 = floorRepository.Add(floor);

            context.SaveChanges();
            //Component
            var componentType1 = new ComponentTypeTO {
                Archived = false, Name = new MultiLanguageString("Name1En", "Name1Fr", "Name1Nl")
            };
            var componentType2 = new ComponentTypeTO {
                Archived = false, Name = new MultiLanguageString("Name2En", "Name2Fr", "Name2Nl")
            };
            var addedComponentType1 = componentTypeRepository.Add(componentType1);
            var addedComponentType2 = componentTypeRepository.Add(componentType2);

            context.SaveChanges();
            //Floor
            var componentTypes1 = new List <ComponentTypeTO>()
            {
                componentType1, componentType2
            };
            var componentTypes2 = new List <ComponentTypeTO>()
            {
                componentType1
            };

            RoomTO room1 = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor1, ComponentTypes = componentTypes1
            };
            RoomTO room2 = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor1, ComponentTypes = componentTypes2
            };
            var addedRoom1 = roomRepository.Add(room1);
            var addedRoom2 = roomRepository.Add(room2);

            context.SaveChanges();

            //ACT
            var result  = componentTypeRepository.GetComponentTypesByRoom(addedRoom1.Id);
            var result2 = componentTypeRepository.GetComponentTypesByRoom(addedRoom2.Id);

            //ASSERT
            Assert.AreEqual(2, result.Count());
            Assert.AreEqual(1, result2.Count());
        }
Esempio n. 13
0
        public void CarNumberExists_ReturnsCorrectResult(string carNumber, bool expectedResult)
        {
            var floorRepository = new FloorRepository();

            floorRepository.AddFloor(GetFloor(1, 1));
            var floorService = new FloorService(floorRepository);

            var result = floorService.CarNumberExists(carNumber);

            Assert.AreEqual(expectedResult, result);
        }
        public void GetFloorById_ThrowsException_WhenInvalidIdIsProvided()
        {
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var memoryCtx = new FacilityContext(options);
            var floorRepository = new FloorRepository(memoryCtx);

            Assert.ThrowsException <NullFloorException>(() => floorRepository.GetById(100));
        }
Esempio n. 15
0
        public void FindParkFloor_ReturnsCorrectResult(string carNumber, bool expectedResult)
        {
            var floorRepository = new FloorRepository();

            floorRepository.AddFloor(GetFloor(1, 1));
            var floorService = new FloorService(floorRepository);

            Floor floor;
            var   result = floorService.FindParkFloor(carNumber, out floor, 1);

            Assert.AreEqual(expectedResult, result);
        }
Esempio n. 16
0
        public void UpdateFloorByTransfertObject_ThrowException_WhenUnexistingFloorIsSupplied()
        {
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var memoryCtx = new FacilityContext(options);
            var floorRepository = new FloorRepository(memoryCtx);
            var floor           = new FloorTO {
                Id = 999
            };

            Assert.ThrowsException <KeyNotFoundException>(() => floorRepository.Update(floor));
        }
Esempio n. 17
0
        public void GetRoomsByFloors_ReturnCorrectNumberOfCorrespondingRooms()
        {
            //ARRANGE
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var context = new FacilityContext(options);
            IRoomRepository  roomRepository  = new RoomRepository(context);
            IFloorRepository floorRepository = new FloorRepository(context);

            var floor = new FloorTO {
                Number = 2
            };
            var floor2 = new FloorTO {
                Number = -1
            };
            var addedFloor1 = floorRepository.Add(floor);
            var addedFloor2 = floorRepository.Add(floor2);

            context.SaveChanges();

            RoomTO room1 = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor1
            };
            RoomTO room2 = new RoomTO {
                Name = new MultiLanguageString("Room2", "Room2", "Room2"), Floor = addedFloor1
            };
            RoomTO room3 = new RoomTO {
                Name = new MultiLanguageString("Room3", "Room3", "Room3"), Floor = addedFloor2
            };

            roomRepository.Add(room1);
            roomRepository.Add(room2);
            roomRepository.Add(room3);
            context.SaveChanges();

            var result1 = roomRepository.GetRoomsByFloor(addedFloor1.Id);
            var result2 = roomRepository.GetRoomsByFloor(addedFloor2.Id);

            Assert.IsNotNull(result1);
            Assert.IsNotNull(result2);
            Assert.AreEqual(2, result1.Count);
            Assert.AreEqual(1, result2.Count);
        }
        public FloorChunk(TGCVector3 origin) : base(origin, AquaticPhysics.Instance)
        {
            var max = origin + DefaultSize;

            this.segments = Segment.GenerateSegments(origin, max, 10);

            this.divisions = (int)(DefaultSize.X / 100);

            this.Floor     = FloorRepository.getFloor(origin);
            FloorRigidBody = TriangleShapeFactory.CreateFromHeighMap(Floor.getData());

            var corals = CreateCorals(segments[0], divisions, Floor);

            AddElementsToPhysicsWorld(corals);
            this.Elements.AddRange(corals);

            segments.Remove(segments[0]);
        }
        public void GetAll_AddThreeRooms_ReturnCorrectNumberOfRooms()
        {
            //ARRANGE
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var context = new FacilityContext(options);
            IRoomRepository  repository      = new RoomRepository(context);
            IFloorRepository floorRepository = new FloorRepository(context);

            var floor = new FloorTO {
                Number = 2
            };
            var floor2 = new FloorTO {
                Number = -1
            };
            var addedFloor1 = floorRepository.Add(floor);
            var addedFloor2 = floorRepository.Add(floor2);

            context.SaveChanges();

            RoomTO room1 = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor1
            };
            RoomTO room2 = new RoomTO {
                Name = new MultiLanguageString("Room2", "Room2", "Room2"), Floor = addedFloor1
            };
            RoomTO room3 = new RoomTO {
                Name = new MultiLanguageString("Room3", "Room3", "Room3"), Floor = addedFloor2
            };

            repository.Add(room1);
            context.SaveChanges();
            repository.Add(room2);
            context.SaveChanges();
            repository.Add(room3);
            context.SaveChanges();
            //ACT
            var rooms = repository.GetAll();

            //ASSERT
            Assert.AreEqual(3, rooms.Count());
        }
        public void AddFloor_ThrowsException_WhenANonExistingIdIsProvided()
        {
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using (var memoryCtx = new FacilityContext(options))
            {
                //ARRANGE
                var FloorToUseInTest = new FloorTO
                {
                    Id     = 1,
                    Number = -1
                };

                var floorRepository = new FloorRepository(memoryCtx);

                //ASSERT
                Assert.ThrowsException <ArgumentNullException>(() => floorRepository.Add(null));
            }
        }
        public void GetAllFloors_Successfull()
        {
            //ARRANGE
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var memoryCtx = new FacilityContext(options);

            var FloorToUseInTest = new FloorTO
            {
                Id     = 1,
                Number = 0
            };

            var FloorToUseInTest1 = new FloorTO
            {
                Id     = 2,
                Number = -1
            };
            var FloorToUseInTest2 = new FloorTO
            {
                Id     = 3,
                Number = -2
            };
            var floorRepository = new FloorRepository(memoryCtx);

            //ACT
            floorRepository.Add(FloorToUseInTest);
            floorRepository.Add(FloorToUseInTest1);
            floorRepository.Add(FloorToUseInTest2);
            memoryCtx.SaveChanges();

            //ASSERT
            Assert.AreEqual(3, floorRepository.GetAll().Count());
        }
Esempio n. 22
0
 public FloorService(FloorRepository floorRepository)
 {
     _floorRepository = floorRepository;
 }
 public override void Dispose()
 {
     FloorRepository.Dispose(Floor);
     base.Dispose();
 }
Esempio n. 24
0
 public FloorService(FloorRepository repository, IProvastSAPUnitOfWork uow)
     : base(repository, uow)
 {
     _repository = repository;
 }
        public void GetCommentsByIncidentId_AddMultipleComments_ReturnRelevantComments()
        {
            // Arrange
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var context = new FacilityContext(options);
            ICommentRepository       commentRepository       = new CommentRepository(context);
            IIncidentRepository      incidentRepository      = new IncidentRepository(context);
            IRoomRepository          roomRepository          = new RoomRepository(context);
            IFloorRepository         floorRepository         = new FloorRepository(context);
            IComponentTypeRepository componentTypeRepository = new ComponentTypeRepository(context);
            IIssueRepository         issueRepository         = new IssueRepository(context);

            var floor = new FloorTO {
                Number = 2
            };
            var addedFloor = floorRepository.Add(floor);

            context.SaveChanges();

            RoomTO room = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor
            };
            var addedRoom = roomRepository.Add(room);

            context.SaveChanges();

            var componentType = new ComponentTypeTO {
                Archived = false, Name = new MultiLanguageString("Name1EN", "Name1FR", "Name1NL")
            };
            var addedComponentType = componentTypeRepository.Add(componentType);

            context.SaveChanges();

            var issue = new IssueTO {
                Description = "Broken thing", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = addedComponentType
            };
            var addedIssue = issueRepository.Add(issue);

            context.SaveChanges();

            var incident1 = new IncidentTO
            {
                Description = "This thing is broken!",
                Room        = addedRoom,
                Issue       = addedIssue,
                Status      = IncidentStatus.Waiting,
                SubmitDate  = DateTime.Now,
                UserId      = 1,
            };
            var incident2 = new IncidentTO
            {
                Description = "This thing is still broken after a week!",
                Room        = addedRoom,
                Issue       = addedIssue,
                Status      = IncidentStatus.Waiting,
                SubmitDate  = DateTime.Now.AddDays(7),
                UserId      = 1,
            };
            var addedIncident1 = incidentRepository.Add(incident1);
            var addedIncident2 = incidentRepository.Add(incident2);

            context.SaveChanges();

            var comment1 = new CommentTO
            {
                Incident   = addedIncident1,
                Message    = "I got in touch with the right people, it'll get fixed soon!",
                SubmitDate = DateTime.Now,
                UserId     = 2
            };
            var comment2 = new CommentTO
            {
                Incident   = addedIncident1,
                Message    = "New ETA is Monday morning.",
                SubmitDate = DateTime.Now.AddDays(1),
                UserId     = 2
            };
            var comment3 = new CommentTO
            {
                Incident   = addedIncident2,
                Message    = "It should be fixed very soon, sorry for the inconvenience!",
                SubmitDate = DateTime.Now.AddDays(8),
                UserId     = 2
            };

            commentRepository.Add(comment1);
            commentRepository.Add(comment2);
            commentRepository.Add(comment3);
            context.SaveChanges();

            // Act
            var result1 = commentRepository.GetCommentsByIncident(addedIncident1.Id);
            var result2 = commentRepository.GetCommentsByIncident(addedIncident2.Id);

            // Assert
            Assert.IsNotNull(result1);
            Assert.IsNotNull(result2);
            Assert.AreEqual(2, result1.Count);
            Assert.AreEqual(1, result2.Count);
        }
Esempio n. 26
0
        public void GetAll_AddThreeIncidents_ReturnCorrectNumberOfIncidents()
        {
            //ARRANGE
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var context = new FacilityContext(options);
            IIncidentRepository      incidentRepository      = new IncidentRepository(context);
            IRoomRepository          roomRepository          = new RoomRepository(context);
            IFloorRepository         floorRepository         = new FloorRepository(context);
            IComponentTypeRepository componentTypeRepository = new ComponentTypeRepository(context);
            IIssueRepository         issueRepository         = new IssueRepository(context);
            //Room(and it's floor)
            var floor = new FloorTO {
                Number = 2
            };
            var addedFloor1 = floorRepository.Add(floor);

            context.SaveChanges();
            RoomTO room = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor1
            };
            var addedRoom = roomRepository.Add(room);

            context.SaveChanges();
            //Component
            var componentType = new ComponentTypeTO {
                Archived = false, Name = new MultiLanguageString("Name1En", "Name1Fr", "Name1Nl")
            };
            var addedComponentType = componentTypeRepository.Add(componentType);

            context.SaveChanges();
            //Issue
            var issue = new IssueTO {
                Description = "prout", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = addedComponentType
            };
            var addedIssue = issueRepository.Add(issue);

            context.SaveChanges();
            //Incidents
            var incident1 = new IncidentTO
            {
                Description = "No coffee",
                Issue       = addedIssue,
                Status      = IncidentStatus.Waiting,
                SubmitDate  = DateTime.Now,
                UserId      = 1,
                Room        = addedRoom
            };
            var incident2 = new IncidentTO
            {
                Description = "Technical issue",
                Issue       = addedIssue,
                Status      = IncidentStatus.Waiting,
                SubmitDate  = DateTime.Now,
                UserId      = 2,
                Room        = addedRoom
            };
            var incident3 = new IncidentTO
            {
                Description = "No sugar",
                Issue       = addedIssue,
                Status      = IncidentStatus.Waiting,
                SubmitDate  = DateTime.Now,
                UserId      = 1,
                Room        = addedRoom
            };

            incidentRepository.Add(incident1);
            incidentRepository.Add(incident2);
            incidentRepository.Add(incident3);
            context.SaveChanges();
            //ACT
            var result = incidentRepository.GetAll();

            //ASSERT
            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Count());
        }
        /// <summary>Creates an instance for the given language.</summary>
        /// <param name="continentId">The continent identifier.</param>
        /// <param name="culture">The culture.</param>
        /// <exception cref="ArgumentNullException">The value of <paramref name="culture"/> is a null reference.</exception>
        /// <returns>A repository.</returns>
        public IFloorRepository ForCulture(int continentId, CultureInfo culture)
        {
            if (culture == null)
            {
                throw new ArgumentNullException("culture", "Precondition: culture != null");
            }

            IFloorRepository repository = new FloorRepository(this.serviceClient, continentId);
            repository.Culture = culture;
            return repository;
        }
Esempio n. 28
0
        public void GetAll_AddThreeComments_ReturnsCorrectNumberOfComments()
        {
            // Arrange
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var context = new FacilityContext(options);
            ICommentRepository       commentRepository       = new CommentRepository(context);
            IIncidentRepository      incidentRepository      = new IncidentRepository(context);
            IRoomRepository          roomRepository          = new RoomRepository(context);
            IFloorRepository         floorRepository         = new FloorRepository(context);
            IComponentTypeRepository componentTypeRepository = new ComponentTypeRepository(context);
            IIssueRepository         issueRepository         = new IssueRepository(context);

            var floor = new FloorTO {
                Number = 2
            };
            var addedFloor = floorRepository.Add(floor);

            context.SaveChanges();

            RoomTO room = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor
            };
            var addedRoom = roomRepository.Add(room);

            context.SaveChanges();

            var componentType = new ComponentTypeTO {
                Archived = false, Name = new MultiLanguageString("Name1EN", "Name1FR", "Name1NL")
            };
            var addedComponentType = componentTypeRepository.Add(componentType);

            context.SaveChanges();

            var issue = new IssueTO {
                Description = "Broken thing", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = addedComponentType
            };
            var addedIssue = issueRepository.Add(issue);

            context.SaveChanges();

            var incident = new IncidentTO
            {
                Description = "This thing is broken !",
                Room        = addedRoom,
                Issue       = addedIssue,
                Status      = IncidentStatus.Waiting,
                SubmitDate  = DateTime.Now,
                UserId      = 1,
            };
            var addedIncident = incidentRepository.Add(incident);

            context.SaveChanges();

            var comment1 = new CommentTO
            {
                Incident   = addedIncident,
                Message    = "I got in touch with the right people, it'll get fixed soon!",
                SubmitDate = DateTime.Now,
                UserId     = 2
            };
            var comment2 = new CommentTO
            {
                Incident   = addedIncident,
                Message    = "New ETA is Monday morning.",
                SubmitDate = DateTime.Now.AddDays(1),
                UserId     = 2
            };
            var comment3 = new CommentTO
            {
                Incident   = addedIncident,
                Message    = "Postponed to Tuesday morning.",
                SubmitDate = DateTime.Now.AddDays(2),
                UserId     = 2
            };

            commentRepository.Add(comment1);
            commentRepository.Add(comment2);
            commentRepository.Add(comment3);
            context.SaveChanges();

            // Act
            var result = commentRepository.GetAll();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Count());
        }
Esempio n. 29
0
        public void UpdateComment_AddNewCommentThenUpdateIt_ReturnsUpdatedComment()
        {
            // Arrange
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var context = new FacilityContext(options);
            ICommentRepository       commentRepository       = new CommentRepository(context);
            IIncidentRepository      incidentRepository      = new IncidentRepository(context);
            IRoomRepository          roomRepository          = new RoomRepository(context);
            IFloorRepository         floorRepository         = new FloorRepository(context);
            IComponentTypeRepository componentTypeRepository = new ComponentTypeRepository(context);
            IIssueRepository         issueRepository         = new IssueRepository(context);

            var floor = new FloorTO {
                Number = 2
            };
            var addedFloor = floorRepository.Add(floor);

            context.SaveChanges();

            RoomTO room = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor
            };
            var addedRoom = roomRepository.Add(room);

            context.SaveChanges();

            var componentType = new ComponentTypeTO {
                Archived = false, Name = new MultiLanguageString("Name1EN", "Name1FR", "Name1NL")
            };
            var addedComponentType = componentTypeRepository.Add(componentType);

            context.SaveChanges();

            var issue = new IssueTO {
                Description = "Broken thing", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = addedComponentType
            };
            var addedIssue = issueRepository.Add(issue);

            context.SaveChanges();

            var incident = new IncidentTO
            {
                Description = "This thing is broken !",
                Room        = addedRoom,
                Issue       = addedIssue,
                Status      = IncidentStatus.Waiting,
                SubmitDate  = DateTime.Now,
                UserId      = 1,
            };
            var addedIncident = incidentRepository.Add(incident);

            context.SaveChanges();

            var comment = new CommentTO
            {
                Incident   = addedIncident,
                Message    = "I got in touch with the right people, it'll get fixed soon!",
                SubmitDate = DateTime.Now,
                UserId     = 1
            };
            var commentAdded = commentRepository.Add(comment);

            context.SaveChanges();

            // Act
            var later = DateTime.Now.AddHours(2);

            commentAdded.Message    = "Updated message";
            commentAdded.SubmitDate = later;
            var result = commentRepository.Update(commentAdded);

            context.SaveChanges();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("Updated message", result.Message);
            Assert.AreEqual(later, result.SubmitDate);
        }
Esempio n. 30
0
        public void RemoveCommentById_AddNewCommentThenRemoveIt_ReturnsTrue()
        {
            // Arrange
            var options = new DbContextOptionsBuilder <FacilityContext>()
                          .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name)
                          .Options;

            using var context = new FacilityContext(options);
            ICommentRepository       commentRepository       = new CommentRepository(context);
            IIncidentRepository      incidentRepository      = new IncidentRepository(context);
            IRoomRepository          roomRepository          = new RoomRepository(context);
            IFloorRepository         floorRepository         = new FloorRepository(context);
            IComponentTypeRepository componentTypeRepository = new ComponentTypeRepository(context);
            IIssueRepository         issueRepository         = new IssueRepository(context);

            var floor = new FloorTO {
                Number = 2
            };
            var addedFloor = floorRepository.Add(floor);

            context.SaveChanges();

            RoomTO room = new RoomTO {
                Name = new MultiLanguageString("Room1", "Room1", "Room1"), Floor = addedFloor
            };
            var addedRoom = roomRepository.Add(room);

            context.SaveChanges();

            var componentType = new ComponentTypeTO {
                Archived = false, Name = new MultiLanguageString("Name1EN", "Name1FR", "Name1NL")
            };
            var addedComponentType = componentTypeRepository.Add(componentType);

            context.SaveChanges();

            var issue = new IssueTO {
                Description = "Broken thing", Name = new MultiLanguageString("Issue1EN", "Issue1FR", "Issue1NL"), ComponentType = addedComponentType
            };
            var addedIssue = issueRepository.Add(issue);

            context.SaveChanges();

            var incident = new IncidentTO
            {
                Description = "This thing is broken !",
                Room        = addedRoom,
                Issue       = addedIssue,
                Status      = IncidentStatus.Waiting,
                SubmitDate  = DateTime.Now,
                UserId      = 1,
            };
            var addedIncident = incidentRepository.Add(incident);

            context.SaveChanges();

            var comment = new CommentTO
            {
                Incident   = addedIncident,
                Message    = "I got in touch with the right people, it'll get fixed soon!",
                SubmitDate = DateTime.Now,
                UserId     = 1
            };
            var addedComment = commentRepository.Add(comment);

            context.SaveChanges();

            // Act
            var result = commentRepository.Remove(addedComment.Id);

            context.SaveChanges();

            // Assert
            Assert.IsTrue(result);
            Assert.ThrowsException <KeyNotFoundException>(() => commentRepository.GetById(addedComment.Id));
        }
Esempio n. 31
0
        //private readonly FloorService floorService;

        public FloorController(FloorRepository entity)
        {
            floorEntity = entity;
        }