Beispiel #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);
        }
Beispiel #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);
        }
    }
Beispiel #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));
        }
Beispiel #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);
        }
        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));
        }
Beispiel #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);
        }
        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());
        }
Beispiel #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
        }
Beispiel #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));
        }
        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));
        }
Beispiel #18
0
        public Disaster AddDisaster(Disaster newDisaster)
        {
            Disaster result = context.Disasters.Add(newDisaster);

            context.SaveChanges();
            return(result);
        }
        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);
        }
Beispiel #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]);
        }
Beispiel #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);
    }
Beispiel #22
0
        public ActionResult DeleteConfirmed(int id)
        {
            Disaster disaster = db.Disasters.Find(id);

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

            context.Initialize(handler, disaster.ObjectId);
            ShowViewModel <AttributedListViewModel>();
        }
Beispiel #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());
        }
Beispiel #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);
        }
        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));
        }
        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();
 }