コード例 #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());
        }
コード例 #2
0
        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);
        }
    }
コード例 #5
0
        public void CreateDisaster(Disaster disaster)
        {
            this.disaster = disaster;
            CreateDisasterPacket createDisasterPacket = new CreateDisasterPacket(disaster);

            server.SendPacketToAll(createDisasterPacket);
        }
コード例 #6
0
        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());
        }
コード例 #11
0
        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;
         }
     }
 }
コード例 #13
0
        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);
        }
コード例 #14
0
        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));
        }
コード例 #17
0
        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();
        }
コード例 #26
0
        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
ファイル: DisasterManager.cs プロジェクト: memo1093/Disaster
        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();
 }