Пример #1
0
        public void Lookup_UnfilteredVolunteers_For_Disaster_Returns_AllVolunteers_ForTheDisaster()
        {
            //Arrange
            int disasterId = 2;
            var disaster   = new Disaster();

            _disasterSvc.Setup(x => x.Get(disasterId)).Returns(disaster);
            var allVolunteers = new List <Person>();

            _adminSvc.Setup(x => x.GetVolunteersForDisaster(disaster.Id, null)).Returns(allVolunteers);

            var controller = CreateVolunteerController();
            //Act

            var response = controller.Filter(new ListByDisasterViewModel
            {
                SelectedDisaster = disasterId, CommitmentDate = null
            });

            //Assert
            var model = response.Model as IEnumerable <Person>;

            Assert.IsNotNull(model, "View Model is not an IEnumerable<Person>.");

            CollectionAssert.AreEquivalent(allVolunteers.ToArray(), model.ToArray());
        }
        private async Task RunPurgeUnrelatedItemsTest <T>(IPersistenceContext <T> context) where T : Attributed, new()
        {
            var item1 = CreateItem <T>();

            item1.DisasterId = "abc";
            var item2 = CreateItem <T>();

            item2.DisasterId = "def";
            var items = new List <T> {
                item1, item2
            };

            context.LoadAll().Returns(items);

            var disaster = new Disaster {
                ObjectId = "abc"
            };
            var result = new UpdateResult <Disaster>();

            result.Success(disaster, "xxx");
            _pullService.Pull <Disaster>().Returns(Task.FromResult(result));

            var syncResult = await _service.Sync(_user);

            Assert.That(syncResult.HasErrors, Is.False);
            context.Received().Purge(item2.ObjectId);
            context.DidNotReceive().Purge(item1.ObjectId);
        }
Пример #3
0
    void OnTriggerEnter2D(Collider2D collider)
    {
        Debug.Log("trigger entered");
        BaseDoor door = collider.GetComponent <BaseDoor>();

        if (door != null)
        {
            activeDoor = door;
        }

        Item item = collider.GetComponent <Item>();

        if (item != null && !activeItems.Contains(item))
        {
            activeItems.Add(item);
        }

        Disaster disaster = collider.GetComponent <Disaster>();

        if (disaster != null)
        {
            activeDisaster = disaster;
        }

        DisasterSpawner disasterSpawner = collider.GetComponent <DisasterSpawner>();

        if (disasterSpawner != null && !activeDisasterSpawners.Contains(disasterSpawner))
        {
            activeDisasterSpawners.Add(disasterSpawner);
        }
    }
Пример #4
0
    void OnTriggerExit2D(Collider2D collider)
    {
        BaseDoor door = collider.GetComponent <BaseDoor>();

        if (door != null && door == activeDoor)
        {
            activeDoor = null;
        }

        Item item = collider.GetComponent <Item>();

        if (activeItems.Contains(item))
        {
            activeItems.Remove(item);
        }

        Disaster disaster = collider.GetComponent <Disaster>();

        if (disaster != null)
        {
            activeDisaster = null;
        }

        DisasterSpawner disasterSpawner = collider.GetComponent <DisasterSpawner>();

        if (activeDisasterSpawners.Contains(disasterSpawner))
        {
            activeDisasterSpawners.Remove(disasterSpawner);
        }
    }
        public void CreateDisaster(Disaster disaster)
        {
            this.disaster = disaster;
            CreateDisasterPacket createDisasterPacket = new CreateDisasterPacket(disaster);

            server.SendPacketToAll(createDisasterPacket);
        }
        public ActionResult Create(DisasterViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var disaster = new Disaster
                    {
                        Id       = model.Id,
                        Name     = model.Name,
                        IsActive = model.IsActive
                    };

                    if (model.Id == -1)
                    {
                        _disasterSvc.Create(disaster);
                    }
                    else
                    {
                        _disasterSvc.Update(disaster);
                    }
                }
                catch (DisasterAlreadyExistsException)
                {
                    ModelState.AddModelError("Name", "A Disaster already exists with that Name!");
                    return(View("Create", model));
                }

                return(Redirect("/Disaster/List"));
            }
            return(View("Create", model));
        }
Пример #7
0
        public void Init()
        {
            _coordinatorId    = 42;
            _notCoordinatorId = 10;
            _dataService      = new Mock <IDataService>();

            _disaster1 = new Disaster {
                Id = 1, IsActive = true, Name = "Sharknado"
            };
            _disaster2 = new Disaster {
                Id = 2, IsActive = true, Name = "Ice Age"
            };

            _cluster1 = new Cluster {
                Id = 2, Name = "Red Zone"
            };
            _cluster2 = new Cluster {
                Id = 3, Name = "Other Cluster"
            };

            _person1 = new Person {
                Id = 3, FirstName = "John", LastName = "Doe"
            };
            _person2 = new Person {
                Id = 4, FirstName = "Richard", LastName = "Roe"
            };
            _person3 = new Person {
                Id = 5, FirstName = "Little", LastName = "Toe"
            };

            _dataService.Setup(x => x.Disasters).Returns(new EnumerableQuery <Disaster>(new[]
            {
                _disaster1,
                _disaster2
            }));
            _dataService.Setup(x => x.Clusters).Returns(new EnumerableQuery <Cluster>(new[]
            {
                _cluster1,
                _cluster2
            }));
            _dataService.Setup(x => x.Persons).Returns(new EnumerableQuery <Person>(new[]
            {
                _person1,
                _person2,
                _person3
            }));
            _dataService.Setup(x => x.Commitments).Returns(new EnumerableQuery <Commitment>(new[]
            {
                new Commitment {
                    DisasterId = _disaster1.Id, PersonId = _person1.Id
                },
                new Commitment {
                    DisasterId = _disaster1.Id, PersonId = _person2.Id
                },
                new Commitment {
                    DisasterId = _disaster2.Id, PersonId = _person3.Id
                }
            }));
            _clusterCoordinatorService = new Services.ClusterCoordinatorService(_dataService.Object);
        }
Пример #8
0
        public async Task <IActionResult> Edit(int id, [Bind("DisasterId,DisasterName,DisasterDetails,DisasterLocation,DisasterLink,Urgency,DtypeName")] Disaster disaster)
        {
            if (id != disaster.DisasterId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(disaster);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DisasterExists(disaster.DisasterId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["DtypeName"] = new SelectList(_context.DisasterType, "DtypeName", "DtypeName", disaster.DtypeName);
            return(View(disaster));
        }
Пример #9
0
        private void GenerateDisasters()
        {
            var disaster1 = new Disaster
            {
                ObjectId    = Guid.NewGuid().ToString(),
                Name        = "Typhoon Haiyan (F)",
                Description = "Typhoon Haiyan, known as Super Typhoon Yolanda in the Philippines, was one of the most intense tropical cyclones on record, which devastated portions of Southeast Asia, particularly the Philippines.",
                GiveUrl     = "http://www.give2habitat.org/member/t/thenpdgroup",
                ImageUrl    = "https://api.backendless.com/4ED00D7B-240E-B654-FF92-8E5E8C6F0100/v1/files/disasterIncidentImages/typhoon-haiyan.jpg",
                DateWhen    = new DateTimeOffset(2013, 11, 8, 0, 0, 0, TimeSpan.FromHours(8)),
                Location    = "Manila, Phillippines"
            };
            var disaster2 = new Disaster
            {
                ObjectId    = _acehDisasterId,
                Name        = "Nepal Earthquake 2015 (F)",
                Description = "Nepal was hit by a 7.8 magnitude earthquake on April 25 2015, causing massive damage and high loss of life, followed by major aftershocks on April 26 causing further destruction. As of June 8, Habitat has built 21 demonstration temporary shelters in Kavre and Sindhupalchowk districts to show affected communities how to effectively use materials from a temporary shelter kit. Habitat staff and volunteers have also distributed more than 1,600 kits in worst-hit Kavre, Gorkha, Dhading, and Sindhupalchowk.",
                GiveUrl     = "http://www.give2habitat.org/singapore/nepaleq2015",
                ImageUrl    = "https://api.backendless.com/4ED00D7B-240E-B654-FF92-8E5E8C6F0100/v1/files/disasterIncidentImages/nepal_quake.png",
                DateWhen    = new DateTimeOffset(2015, 04, 25, 0, 0, 0, TimeSpan.FromHours(7)),
                Location    = "Namche Bazar, Nepal"
            };

            _disasters.Add(disaster1.ObjectId, disaster1);
            _disasters.Add(disaster2.ObjectId, disaster2);
        }
Пример #10
0
        public void WhenNoCommitmentsExistAnywhereEmptyCollectionIsReturned()
        {
            var moqDataService = new Mock <IDataService>();

            moqDataService.Setup(ds => ds.Commitments)
            .Returns(new List <Commitment>().AsQueryable());
            var underTest = new VolunteerService(moqDataService.Object);

            var disaster = new Disaster
            {
                Id       = 1,
                Name     = "test",
                IsActive = true
            };

            moqDataService.Setup(ds => ds.Disasters)
            .Returns(new List <Disaster>
            {
                disaster
            }.AsQueryable());
            const int personId = 1;

            var results = underTest.RetrieveCommitments(personId, false);

            Assert.IsTrue(!results.Any());
        }
        public void Lookup_FilteredVolunteers_For_Disaster_Returns_Volunteers_ForTheDisaster_FilteredByDate()
        {
            //Arrange
            int      disasterId       = 2;
            DateTime filteredDateTime = new DateTime(2014, 6, 3, 10, 8, 6);
            var      disaster         = new Disaster();

            _disasterSvc.Setup(x => x.Get(disasterId)).Returns(disaster);
            var filteredVolunteers = new List <Person>();

            _adminSvc.Setup(x => x.GetVolunteersForDisaster(disaster.Id, filteredDateTime, false)).Returns(filteredVolunteers);

            //Act
            var response = _controllerUnderTest.Filter(new ListByDisasterViewModel
            {
                SelectedDisaster = disasterId, CommitmentDate = filteredDateTime
            });

            //Assert
            var model = response.Model as IEnumerable <Person>;

            Assert.IsNotNull(model, "View Model is not an IEnumerable<Person>.");

            CollectionAssert.AreEquivalent(filteredVolunteers.ToArray(), model.ToArray());
        }
Пример #12
0
 private void DisasterAlarm()
 {
     if (!bDisasterAlarmPopup)
     {
         Disaster disaster = disasterMgr.GetWillActiveDisaster();
         if (disaster != null)
         {
             disasterAlaramText.text = disaster.type.ToString();
             disasterAlaram.SetActive(true);
             bDisasterAlarmPopup = true;
         }
         else
         {
             _currGameState = GameState.TURN_END;
         }
     }
     else
     {
         if (bDisasterAlarmClicked)
         {
             disasterAlaram.SetActive(false);
             _currGameState        = GameState.DISASTER_TURN;
             bDisasterAlarmClicked = false;
             bDisasterAlarmPopup   = false;
         }
     }
 }
        public void Init()
        {
            _clusterCoordinator = new ClusterCoordinator
            {
                ClusterId  = 9,
                DisasterId = 12,
                PersonId   = 15,
            };
            _disaster = new Disaster {
                Id = _clusterCoordinator.DisasterId, IsActive = true, Name = "Sharknado"
            };
            _cluster = new Cluster {
                Id = _clusterCoordinator.ClusterId, Name = "Red Zone"
            };
            _person = new Person {
                Id = _clusterCoordinator.PersonId, FirstName = "John", LastName = "Doe"
            };
            _clusterCoordinator.Person   = _person;
            _clusterCoordinator.Disaster = _disaster;
            _clusterCoordinator.Cluster  = _cluster;

            _dataService = new Mock <IDataService>();
            _dataService.Setup(x => x.Disasters).Returns(new EnumerableQuery <Disaster>(new[] { _disaster }));
            _dataService.Setup(x => x.Clusters).Returns(new EnumerableQuery <Cluster>(new[] { _cluster }));
            _dataService.Setup(x => x.Persons).Returns(new EnumerableQuery <Person>(new[] { _person }));

            _clusterCoordinatorService = new Services.ClusterCoordinatorService(_dataService.Object);
        }
        public void UpdateDisaster_InvalidId_ThrowsDisasterNotFoundException()
        {
            // arrange
            var dataList = new List <Disaster> {
                new Disaster {
                    Id = 1, Name = "name", IsActive = true
                },
                new Disaster {
                    Id = 2, Name = "name2", IsActive = true
                }
            }.AsQueryable();

            _mockDataService.Setup(m => m.Disasters).Returns(dataList);

            Disaster updatedDisasterResult = null;

            _mockDataService.Setup(m => m.UpdateDisaster(It.IsAny <Disaster>())).Callback <Disaster>(d => updatedDisasterResult = d);

            var updatedDisaster = new Disaster {
                Id = 5, Name = "name", IsActive = true
            };

            // act
            _disasterService.Update(updatedDisaster);

            // assert
            // Should throw a DisasterNotFoundException
        }
Пример #15
0
        public ActionResult Edit(Disaster disaster)
        {
            TempData["EditUrlDeprecatedWarning"] = "POST /Edit is deprecated. Use POST /Create instead";
            if (ModelState.IsValid && !String.IsNullOrWhiteSpace(disaster.Name))
            {
                if (disaster.Id == -1)
                {
                    try
                    {
                        _disasterSvc.Create(disaster);
                    }
                    catch (DisasterAlreadyExistsException)
                    {
                        ModelState.AddModelError("Name", "A Disaster already exists with that Name!");
                        return(View("Create", disaster));
                    }
                }
                else
                {
                    _disasterSvc.Update(disaster.Id, disaster.Name, disaster.IsActive);
                }

                return(Redirect("/Disaster/List"));
            }


            ModelState.AddModelError("Name", "Disaster Name is required!");
            return(View("Create", disaster));
        }
Пример #16
0
        public ActionResult Create(Disaster disaster)
        {
            if (ModelState.IsValid && !String.IsNullOrWhiteSpace(disaster.Name))
            {
                if (disaster.Id == -1)
                {
                    try
                    {
                        _disasterSvc.Create(disaster);
                    }
                    catch (DisasterAlreadyExistsException)
                    {
                        ModelState.AddModelError("Name", "A Disaster already exists with that Name!");
                        return(View("Create", disaster));
                    }
                }
                else
                {
                    _disasterSvc.Update(disaster.Id, disaster.Name, disaster.IsActive);
                }

                return(Redirect("/Disaster/List"));
            }
            ModelState.AddModelError("Name", "Disaster Name is required!");
            return(View("Create", disaster));
        }
        public void UpdateDisaster_Valid()
        {
            // arrange
            var dataList = new List <Disaster> {
                new Disaster {
                    Id = 1, Name = "name", IsActive = true
                },
                new Disaster {
                    Id = 2, Name = "name2", IsActive = true
                }
            }.AsQueryable();

            _mockDataService.Setup(m => m.Disasters).Returns(dataList);

            Disaster updatedDisasterResult = null;

            _mockDataService.Setup(m => m.UpdateDisaster(It.IsAny <Disaster>())).Callback <Disaster>(d => updatedDisasterResult = d);

            var updatedDisaster = new Disaster {
                Id = 1, Name = "name", IsActive = false
            };

            // act
            _disasterService.Update(updatedDisaster);

            // assert
            Assert.AreEqual(updatedDisaster.Name, updatedDisasterResult.Name);
            Assert.AreEqual(updatedDisaster.IsActive, updatedDisasterResult.IsActive);
            _mockDataService.Verify(m => m.UpdateDisaster(updatedDisaster));
        }
Пример #18
0
        public Disaster AddDisaster(Disaster newDisaster)
        {
            Disaster result = context.Disasters.Add(newDisaster);

            context.SaveChanges();
            return(result);
        }
Пример #19
0
        public void WhenNoCommitmentsExistEmptyCollectionIsReturned()
        {
            var moqDataService = new Mock <IDataService>();

            moqDataService.Setup(ds => ds.Commitments)
            .Returns(new List <Commitment>().AsQueryable());
            var underTest = new VolunteerService(moqDataService.Object);

            var person = new Person
            {
                Id        = 1,
                FirstName = "test",
                LastName  = "tester"
            };
            var disaster = new Disaster
            {
                Id       = 1,
                Name     = "test",
                IsActive = true
            };

            moqDataService.Setup(ds => ds.Disasters)
            .Returns(new List <Disaster>
            {
                disaster
            }.AsQueryable());

            var results = underTest.RetrieveCommitmentsForDisaster(person, disaster);

            Assert.IsTrue(results.Count() == 0);
        }
Пример #20
0
        public void GetVolunteersForDate_WithFilteredClustersForCoordinators_ReturnsOneCoordinator()
        {
            var firstPerson = new Person()
            {
                Id = 231
            };
            var secondPerson = new Person()
            {
                Id = 233
            };
            var disaster = new Disaster {
                Id = 1, IsActive = true
            };
            var cluster = new Cluster {
                Id = 765
            };

            initializeVolunteerCollection(firstPerson, secondPerson);
            initializeDisasterCollection(disaster);
            initializeClusterCollection(cluster);

            initializeCoordinatorCollection(
                new ClusterCoordinator {
                Id = 432, PersonId = firstPerson.Id, Person = firstPerson, DisasterId = disaster.Id, Disaster = disaster, Cluster = cluster, ClusterId = cluster.Id
            },
                new ClusterCoordinator {
                Id = 345, PersonId = secondPerson.Id, Person = secondPerson, DisasterId = disaster.Id, Disaster = disaster
            });


            initializeCommitmentCollection(new Commitment
            {
                DisasterId = disaster.Id,
                Disaster   = disaster,
                PersonId   = firstPerson.Id,
                Person     = firstPerson,
                ClusterId  = cluster.Id,
                Cluster    = cluster,
                StartDate  = new DateTime(2015, 1, 5),
                EndDate    = new DateTime(2015, 1, 23)
            },
                                           new Commitment
            {
                DisasterId = disaster.Id,
                Disaster   = disaster,
                PersonId   = secondPerson.Id,
                Person     = secondPerson,
                StartDate  = new DateTime(2015, 1, 5),
                EndDate    = new DateTime(2015, 1, 20)
            });

            var adminService = new AdminService(mockService.Object);

            var results =
                adminService.GetVolunteersForDate(1, new DateTime(2015, 1, 7), true, false, new[] { 765 }).ToArray();

            Assert.AreEqual(1, results.Length);
            Assert.AreEqual(firstPerson, results[0]);
        }
Пример #21
0
    public void SpawnDisaster(Vector3 spawnPosition)
    {
        int        i        = Random.Range(0, disasters.Length);
        GameObject instance = Instantiate(disasters[i], spawnPosition, Quaternion.identity, transform);
        Disaster   disaster = instance.GetComponent <Disaster>();

        disaster.InitMap(hexMap);
    }
Пример #22
0
        public ActionResult DeleteConfirmed(int id)
        {
            Disaster disaster = db.Disasters.Find(id);

            db.Disasters.Remove(disaster);
            db.SaveChanges();
            return(RedirectToAction("Index2"));
        }
Пример #23
0
 public DisasterInfoControl(Disaster disaster)
 {
     this.InitializeComponent();
     this.disaster = disaster;
     this.SetDisasterImages();
     this.SetDisasterInfo();
     GameWindow.Window.Game.Pause = true;
 }
Пример #24
0
        private void DoShowAssessment(Disaster disaster)
        {
            var context = Resolve <AttributedListContext>();
            var handler = Resolve <AssessmentListHandler>();

            context.Initialize(handler, disaster.ObjectId);
            ShowViewModel <AttributedListViewModel>();
        }
Пример #25
0
        public async Task Initialize(Disaster disaster)
        {
            Disaster = disaster;

            var tap2GiveService = Resolve <ITap2GiveService>();

            DisasterAids = (await tap2GiveService.GetDisasterAids(disaster.ObjectId)).ToList();
        }
        public void WhenQueryingReturnCommitmentsOnlyForThisDisaster()
        {
            var moqDataService = new Mock <IDataService>();
            var disaster       = new Disaster
            {
                Id       = 1,
                Name     = "test",
                IsActive = true
            };
            var disaster2 = new Disaster
            {
                Id       = 2,
                Name     = "test",
                IsActive = true
            };

            moqDataService.Setup(ds => ds.Disasters)
            .Returns(new List <Disaster>
            {
                disaster,
                disaster2
            }.AsQueryable());

            moqDataService.Setup(ds => ds.Commitments)
            .Returns(new List <Commitment>
            {
                new Commitment
                {
                    DisasterId = 1,
                    Id         = 1,
                    PersonId   = 1,
                    StartDate  = new DateTime(2013, 8, 1),
                    EndDate    = new DateTime(2013, 9, 1),
                    Disaster   = disaster
                },
                new Commitment
                {
                    DisasterId = 2,
                    Id         = 2,
                    PersonId   = 1,
                    StartDate  = new DateTime(2013, 8, 1),
                    EndDate    = new DateTime(2013, 9, 1),
                    Disaster   = disaster2
                }
            }.AsQueryable());
            var underTest = new VolunteerService(moqDataService.Object);

            var person = new Person
            {
                Id        = 1,
                FirstName = "test",
                LastName  = "tester"
            };

            var results = underTest.RetrieveCommitmentsForDisaster(person, disaster);

            Assert.AreEqual(1, results.Count());
        }
Пример #27
0
        public bool Validation(Disaster entity)
        {
            if (entity.GlideNo == null || entity.SerialNo == null)
            {
                ErrorMessage += $"Bu bölüm boş bırakılamaz.";
                return(false);
            }
            if (entity.StartDate == null)
            {
                ErrorMessage += $"Bu bölüm boş bırakılamaz.";
                return(false);
            }
            if (entity.FinishDate == null)
            {
                ErrorMessage += $"Bu bölüm boş bırakılamaz.";
                return(false);
            }
            if (entity.DisasterType == null || entity.DisasterType == "")
            {
                ErrorMessage += $"Afet türü seçilmelidir.";
                return(false);
            }
            if (entity.DisasterType == null || entity.DisasterType == "")
            {
                ErrorMessage += $"Afet türü seçilmelidir.";
                return(false);
            }
            if (entity.CityId == 0)
            {
                ErrorMessage += $"İl seçilmelidir.";
                return(false);
            }
            if (entity.TownId == 0)
            {
                ErrorMessage += $"İlçe seçilmelidir.";
                return(false);
            }


            if (entity.Why == "")
            {
                ErrorMessage += $"Neden girilmelidir.";
                return(false);
            }
            if (entity.Description == "")
            {
                ErrorMessage += $"Açıklama girilmelidir.";
                return(false);
            }
            if (entity.AffectedAreas == "")
            {
                ErrorMessage += $"Etkilenen alanlar girilmelidir.";
                return(false);
            }


            return(true);
        }
Пример #28
0
        public IEnumerable <Person> GetVolunteersForDate(Disaster disaster, DateTime date, bool clusterCoordinatorsOnly, bool checkedInOnly = false)
        {
            if (disaster == null)
            {
                throw new ArgumentNullException("disaster", "disaster cannot be null");
            }

            return(GetVolunteersForDate(disaster.Id, date, clusterCoordinatorsOnly, checkedInOnly));
        }
Пример #29
0
        public IQueryable <Commitment> RetrieveCommitmentsForDisaster(Person person, Disaster disaster)
        {
            if (disaster == null)
            {
                throw new ArgumentNullException("disaster", "Disaster cannot be null");
            }

            return(RetrieveCommitments(person.Id, true).Where(c => c.DisasterId == disaster.Id));
        }
 public void Arrange()
 {
     _dataService               = new DataService(new CrisisCheckin(), new CrisisCheckinMembership());
     _dataAccessHelper          = new DataAccessHelper(_dataService);
     _clusterCoordinatorService = new ClusterCoordinatorService(_dataService);
     _disaster  = _dataAccessHelper.Create_a_disaster();
     _clusterId = _dataAccessHelper.GetRandomClusterId();
     _person    = _dataAccessHelper.Create_a_volunteer();
 }