コード例 #1
0
        public void TestUpdateCapacityFalse()
        {
            Accommodation testAccommodation = new Accommodation()
            {
                Id            = 1,
                Address       = "Test1",
                Bookings      = null,
                ContactNumber = "0993456611",
                Full          = false,
                Name          = "Hilton",
                Information   = "Epic",
                PricePerNight = 120.76,
                Spot          = new TouristicSpot()
                {
                    Name = "h"
                },
                SpotId = 2
            };
            List <Accommodation> accommodationList = new List <Accommodation>()
            {
                testAccommodation,
            };

            accommodationList.ForEach(s => _context.Add(s));
            _context.SaveChanges();
            var repository = new AccommodationRepository(_context);

            repository.UpdateCapacity(1, false);

            Assert.IsFalse(_context.Accommodations.Find(1).Full);
        }
コード例 #2
0
        public void DeleteAccommodationsTest()
        {
            Accommodation accommodation = new Accommodation()
            {
                Id            = 1,
                Address       = "Test1",
                Bookings      = null,
                ContactNumber = "0993456611",
                Full          = false,
                Name          = "Hilton",
                Information   = "Epic",
                PricePerNight = 120.76,
                Spot          = new TouristicSpot()
                {
                    Name = "h"
                },
                SpotId = 2
            };

            _context.Add(accommodation);
            _context.SaveChanges();
            var repository = new AccommodationRepository(_context);

            repository.Delete(accommodation);

            Assert.IsNull(_context.Find <Accommodation>(1));
        }
        public void CreateAccommodationRepositoryTest()
        {
            //Arrange
            Accommodation            p          = ObjectMother.GetAccommodation();
            IAccommodationRepository repository = new AccommodationRepository();

            //Action
            Accommodation newAccommodation = repository.Save(p);

            //Assert
            Assert.IsTrue(newAccommodation.Id > 0);
        }
        public void UpdateAccommodationRepositoryTest()
        {
            //Arrange
            IAccommodationRepository repository  = new AccommodationRepository();
            ICustomerRepository      _repository = new CustomerRepository();

            Customer customer = _repository.Get(2);

            customer.Name  = "Luiz Fernando Lemos Lima";
            customer.Phone = "0996879594";
            customer.Email = "*****@*****.**";
            customer.City  = "Lages";

            Accommodation accommodation = repository.Get(2);

            accommodation.DateChekIn        = DateTime.Now;
            accommodation.DateCheckOut      = DateTime.Now.AddDays(2);
            accommodation.AmountPeopleAdult = 2;
            accommodation.ValueAdult        = 130;
            accommodation.AmountPeopleChild = 0;
            accommodation.ValueChild        = 65;
            accommodation.AmountChalets     = 1;
            accommodation.Obs = "bla bla bla";
            accommodation.CalculateValueTotal();
            accommodation.Customer = customer;

            //Action
            var updatedAccommodation = repository.Update(accommodation);

            //Assert
            var persistedAccommodation = repository.Get(2);

            Assert.IsNotNull(updatedAccommodation);
            Assert.AreEqual(updatedAccommodation.Id, persistedAccommodation.Id);
            Assert.AreEqual(updatedAccommodation.DateChekIn, persistedAccommodation.DateChekIn);
            Assert.AreEqual(updatedAccommodation.DateCheckOut, persistedAccommodation.DateCheckOut);
            Assert.AreEqual(updatedAccommodation.AmountPeopleAdult, persistedAccommodation.AmountPeopleAdult);
            Assert.AreEqual(updatedAccommodation.ValueAdult, persistedAccommodation.ValueAdult);
            Assert.AreEqual(updatedAccommodation.AmountPeopleChild, persistedAccommodation.AmountPeopleChild);
            Assert.AreEqual(updatedAccommodation.ValueChild, persistedAccommodation.ValueChild);
            Assert.AreEqual(updatedAccommodation.AmountChalets, persistedAccommodation.AmountChalets);
            Assert.AreEqual(updatedAccommodation.Obs, persistedAccommodation.Obs);
            Assert.AreEqual(updatedAccommodation.ValueTotal, persistedAccommodation.ValueTotal);
            Assert.AreEqual(updatedAccommodation.Customer, persistedAccommodation.Customer);

            //Assert - utilizando o Framework FluentAssertions
            //Apenas um exemplo didático (NÃO CAI NA PROVA)
            // updatedBlog.Should().NotBeNull();
            //updatedBlog.ShouldBeEquivalentTo(persistedBlog);
        }
        public void RetrieveAccommodationBydateRepositoryTest()
        {
            //Arrange
            IAccommodationRepository repository = new AccommodationRepository();

            DateTime beginDate = new DateTime(2018, 05, 01);
            DateTime endDate   = new DateTime(2018, 06, 30);

            //Action
            List <Accommodation> accommodations = repository.GetByDate(beginDate, endDate);

            //Assert
            Assert.IsNotNull(accommodations);
            Assert.AreEqual(5, accommodations.Count);
        }
コード例 #6
0
        public void TestGetByIdAccomodation()
        {
            Accommodation testAccommodation = new Accommodation()
            {
                Id            = 1,
                Address       = "Test1",
                Bookings      = null,
                ContactNumber = "0993456611",
                Full          = false,
                Name          = "Hilton",
                Information   = "Epic",
                PricePerNight = 120.76,
                Spot          = new TouristicSpot()
                {
                    Name = "h"
                },
                SpotId = 2
            };
            List <Accommodation> accommodationList = new List <Accommodation>()
            {
                new Accommodation()
                {
                    Id            = 2,
                    Address       = "Test",
                    Bookings      = null,
                    ContactNumber = "09934566",
                    Full          = false,
                    Name          = "Radisson",
                    Information   = "nice",
                    PricePerNight = 1.76,
                    Spot          = new TouristicSpot()
                    {
                        Name = "a"
                    },
                    SpotId = 1
                },
            };

            accommodationList.Add(testAccommodation);
            accommodationList.ForEach(r => _context.Add(r));
            _context.SaveChanges();
            var repository = new AccommodationRepository(_context);

            var result = repository.GetById(1);

            Assert.AreEqual(testAccommodation, result);
        }
        public void RetrieveAccommodationRepositoryTest()
        {
            //Arrange
            IAccommodationRepository repository = new AccommodationRepository();

            //Action
            Accommodation accommodation = repository.Get(2);

            //Assert
            Assert.IsNotNull(accommodation);
            Assert.IsTrue(accommodation.Id > 0);

            //Assert - utilizando o Framework FluentAssertions
            //Apenas um exemplo didático (NÃO CAI NA PROVA)
            //blog.Should().NotBeNull();
            //blog.ShouldBeEquivalentTo(ObjectMother.GetBlog(), options => options.Excluding(b => b.Id));
        }
        public void DeleteAccommodationRepositoryTest()
        {
            //Arrange
            IAccommodationRepository repository = new AccommodationRepository();

            //Action
            var deletedAccommodation = repository.Delete(2);

            //Assert
            var persistedAccommodation = _contextForTest.Accommodations.Find(2);

            Assert.IsNull(persistedAccommodation);

            //Assert - utilizando o Framework FluentAssertions
            //Apenas um exemplo didático (NÃO CAI NA PROVA)
            //persistedAccommodation.Should().BeNull();
        }
コード例 #9
0
        public void TestGetAvailableBySpotNull()
        {
            Accommodation testAccommodation = new Accommodation()
            {
                Id            = 1,
                Address       = "Test1",
                Bookings      = null,
                ContactNumber = "0993456611",
                Full          = false,
                Name          = "Hilton",
                Information   = "Epic",
                PricePerNight = 120.76,
                Spot          = new TouristicSpot()
                {
                    Name = "h"
                },
                SpotId = 2
            };
            List <Accommodation> accommodationList = new List <Accommodation>()
            {
                new Accommodation()
                {
                    Id            = 2,
                    Address       = "Test",
                    Bookings      = null,
                    ContactNumber = "09934566",
                    Full          = false,
                    Name          = "Radisson",
                    Information   = "nice",
                    PricePerNight = 1.76,
                    Spot          = new TouristicSpot()
                    {
                        Name = "a"
                    },
                    SpotId = 1
                }, testAccommodation,
            };

            accommodationList.ForEach(s => _context.Add(s));
            _context.SaveChanges();
            var repository = new AccommodationRepository(_context);

            var result = repository.GetAvailableBySpot(3);

            Assert.IsNull(result.FirstOrDefault());
        }
コード例 #10
0
        public void GetAllAccommodationsTest()
        {
            List <Accommodation> accommodationsToReturn = new List <Accommodation>()
            {
                new Accommodation()
                {
                    Id            = 1,
                    Address       = "Test",
                    Bookings      = null,
                    ContactNumber = "09934566",
                    Full          = false,
                    Name          = "Radisson",
                    Information   = "nice",
                    PricePerNight = 1.76,
                    Spot          = new TouristicSpot()
                    {
                        Name = "a"
                    },
                    SpotId = 1
                },
                new Accommodation()
                {
                    Id            = 2,
                    Address       = "Test1",
                    Bookings      = null,
                    ContactNumber = "0993456611",
                    Full          = false,
                    Name          = "Hilton",
                    Information   = "Epic",
                    PricePerNight = 120.76,
                    Spot          = new TouristicSpot()
                    {
                        Name = "h"
                    },
                    SpotId = 2
                },
            };

            accommodationsToReturn.ForEach(a => _context.Add(a));
            _context.SaveChanges();
            var repository = new AccommodationRepository(_context);

            var result = repository.GetAll();

            Assert.IsTrue(accommodationsToReturn.SequenceEqual(result));
        }
コード例 #11
0
        public async Task <ActionResult> ListForRoomType(int projectId, int?roomTypeId, string export)
        {
            var claims = await ClaimsRepository.GetClaimsForRoomType(projectId, ClaimStatusSpec.Active, roomTypeId);

            string title;

            if (roomTypeId == null)
            {
                title = "Активные заявки без поселения";
            }
            else
            {
                title = "Активные заявки по типу поселения: " +
                        (await AccommodationRepository.GetRoomTypeById(roomTypeId.Value)).Name;
            }

            return(await ShowMasterClaimList(projectId, export, title, "Index", claims));
        }
コード例 #12
0
        public async Task <ActionResult> MainReport(int projectId, string export)
        {
            var project = await ProjectRepository.GetProjectWithDetailsAsync(projectId)
                          .ConfigureAwait(false);

            if (project == null)
            {
                return(HttpNotFound());
            }
            if (!project.Details.EnableAccommodation)
            {
                return(RedirectToAction("Edit", "Game"));
            }

            var accommodations =
                (await AccommodationRepository.GetClaimAccommodationReport(projectId)).Select(row => new AccomodationReportListItemViewModel
            {
                ProjectId        = project.ProjectId,
                ClaimId          = row.ClaimId,
                AccomodationType = row.AccomodationType,
                RoomName         = row.RoomName,
                DisplayName      = row.User.GetDisplayName(),
                FullName         = row.User.FullName,
                Phone            = row.User.Extra?.PhoneNumber,
            });

            var exportType = GetExportTypeByName(export);

            if (exportType == null)
            {
                return(HttpNotFound());
            }
            else
            {
                return
                    (await
                     ExportWithCustomFronend(accommodations, "Отчет по расселению", exportType.Value,
                                             new AccomodationReportExporter(UriService), project.ProjectName));
            }
        }
コード例 #13
0
        public async Task <ActionResult> MainReport(int projectId, string export)
        {
            var project = await ProjectRepository.GetProjectWithDetailsAsync(projectId)
                          .ConfigureAwait(false);

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

            if (!project.Details.EnableAccommodation)
            {
                return(RedirectToAction("Edit", "Game"));
            }

            var accommodations =
                (await AccommodationRepository.GetClaimAccommodationReport(projectId)).Select(row => new AccomodationReportListItemViewModel
            {
                ProjectId        = project.ProjectId,
                ClaimId          = row.ClaimId,
                AccomodationType = row.AccomodationType,
                RoomName         = row.RoomName,
                DisplayName      = row.User.GetDisplayName(),
                FullName         = row.User.FullName,
                Phone            = row.User.Extra?.PhoneNumber,
            });

            var exportType = ExportTypeNameParserHelper.ToExportType(export);

            if (exportType == null)
            {
                return(NotFound());
            }
            else
            {
                var generator = ExportDataService.GetGenerator(exportType.Value, accommodations, new AccomodationReportExporter(UriService));

                return(await ReturnExportResult(project.ProjectName + ": " + "Отчет по расселению", generator));
            }
        }
コード例 #14
0
        public void TestAddAccommodation()
        {
            List <CategoryTouristicSpot> categories = new List <CategoryTouristicSpot>();
            CategoryTouristicSpot        category   = new CategoryTouristicSpot()
            {
                CategoryId      = 1,
                TouristicSpotId = 5
            };

            categories.Add(category);
            TouristicSpot spot = new TouristicSpot()
            {
                Name       = "h",
                Categories = categories,
                RegionId   = 5
            };

            this._context.TouristicSpots.Add(spot);
            Accommodation accommodation = new Accommodation()
            {
                Id            = 3,
                Address       = "Test",
                Bookings      = null,
                ContactNumber = "09934566",
                Full          = false,
                Name          = "Radisson",
                Information   = "nice",
                PricePerNight = 1.76,
                Spot          = spot,
                SpotId        = 1
            };
            var repository = new AccommodationRepository(_context);

            repository.AddAndSave(accommodation);

            Assert.AreEqual(_context.Find <Accommodation>(3), accommodation);
        }
コード例 #15
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RestApp.Controllers.AccommodationController"/> class.
 /// </summary>
 public AccommodationController()
 {
     _repository       = new AccommodationRepository();
     _clientRepository = new ClientRepository();
     _roomRepository   = new RoomRepository();
 }
コード例 #16
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RestApp.Controllers.AccommodationController"/> class.
 /// </summary>
 public AccommodationController()
 {
     _repository = new AccommodationRepository();
     _clientRepository = new ClientRepository();
     _roomRepository = new RoomRepository();
 }