public ActionResult Edit([Bind(Include = "Id,Name")] TerritoryMap territoryMap)
 {
     if (ModelState.IsValid)
     {
         _context.Entry(territoryMap).State = EntityState.Modified;
         _context.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(territoryMap));
 }
        public ActionResult Create([Bind(Include = "Id,Name")] TerritoryMap territoryMap)
        {
            if (ModelState.IsValid)
            {
                _context.TerritoryMaps.Add(territoryMap);
                _context.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(territoryMap));
        }
        // GET: TerritoryMaps/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TerritoryMap territoryMap = _context.TerritoryMaps.Find(id);

            if (territoryMap == null)
            {
                return(HttpNotFound());
            }
            return(View(territoryMap));
        }
        public ActionResult SaveVisit(VisitViewModel visit)
        {
            var user = GetUser();

            var          territoryMaps      = _context.TerritoryMaps.Include(t => t.Householders).Where(t => t.UserId.Equals(user.Id)).ToList();
            Householder  householderVisited = new Householder();
            TerritoryMap territoryMapUsed   = new TerritoryMap();

            foreach (var territoryMap in territoryMaps)
            {
                var householderFound = territoryMap.Householders.Find(h => h.Id == visit.VisitedHouseHolder.Id);
                if (householderFound != null)
                {
                    territoryMapUsed   = territoryMap;
                    householderVisited = householderFound;
                    break;
                }
            }

            visit.TerritoryMapUsed   = territoryMapUsed;
            visit.VisitedHouseHolder = householderVisited;

            var householderInDb = _context.Householders.Include(h => h.Visits).SingleOrDefault(h => h.Id == visit.VisitedHouseHolder.Id);
            var territoyMapInDb = _context.TerritoryMaps.Include(t => t.Householders).SingleOrDefault(t => t.Id == visit.TerritoryMapUsed.Id);

            territoyMapInDb.Householders.Remove(householderInDb);
            var Visit = new Visit()
            {
                PublisherName = visit.PublisherName,
                DateOfVisit   = DateTime.Now,
                Description   = visit.VisitDescription
            };

            householderInDb.Visits.Add(Visit);

            if (territoyMapInDb.Householders.Count > 0)
            {
                _context.SaveChanges();
                return(RedirectToAction("Show", visit.TerritoryMapUsed));
            }
            else
            {
                _context.TerritoryMaps.Remove(_context.TerritoryMaps.Single(t => t.Id == territoyMapInDb.Id));
                _context.SaveChanges();
                return(RedirectToAction("Index"));
            }
        }
    void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        else
        {
            Destroy(gameObject);
        }

        for (int r = 0; r < World.WORLD_SIZE; r++)
        {
            for (int c = 0; c < World.WORLD_SIZE; c++)
            {
                map[r, c] = new TerritoryData();
            }
        }
    }
Exemple #6
0
 /// <summary>
 /// Fires the life and death event
 /// </summary>
 /// <param name="map">Territory map</param>
 private void OnLifeDeathTerritoryChanged(TerritoryMap map)
 {
     LifeDeathTerritoryChanged?.Invoke(this, map);
 }
        public ActionResult New(TerritoryMapViewModel territoryMapViewModel)
        {
            try
            {
                var locationService   = new GoogleLocationService(ConfigurationManager.AppSettings["GooglePlaceAPIKey"]);
                var googleMapsService = new GoogleMapsService(ConfigurationManager.AppSettings["GooglePlaceAPIKey"]);

                ApplicationUser user = GetUser();
                var             householdersToVisit = GetHouseholdersToVisit(territoryMapViewModel, user);

                //Vou mudar isso para refletir as mudanças no algoritmo de montagem dos mapas
                territoryMapViewModel.MaxNumberOfHouseholders      = 5;
                territoryMapViewModel.MaxDistanceAmongHouseholders = 5000;


                if (householdersToVisit == null)
                {
                    return(View("NotAvailableHouseholders"));
                }

                var newTerritoryMap = new TerritoryMap()
                {
                    CongregationId = user.CongregationId,
                    Neighbourhood  = territoryMapViewModel.selectedNeighbourhood,
                    Householders   = new List <Householder>(),
                    UserId         = user.Id
                };

                if (householdersToVisit.Count > 0)
                {
                    var firstHouseholderToVisit = householdersToVisit.First();
                    newTerritoryMap.Householders.Add(firstHouseholderToVisit);
                    householdersToVisit.Remove(firstHouseholderToVisit);

                    for (int i = 0; newTerritoryMap.Householders.Count() < territoryMapViewModel.MaxNumberOfHouseholders && i < householdersToVisit.Count(); i++)
                    {
                        var distance = googleMapsService.GetDistance(new LatLng((decimal)firstHouseholderToVisit.Latitude, (decimal)firstHouseholderToVisit.Longitude),
                                                                     new LatLng((decimal)householdersToVisit[i].Latitude, (decimal)householdersToVisit[i].Longitude));

                        if (distance <= territoryMapViewModel.MaxDistanceAmongHouseholders)
                        {
                            newTerritoryMap.Householders.Add(householdersToVisit[i]);
                        }
                    }

                    _context.TerritoryMaps.Add(newTerritoryMap);
                    _context.SaveChanges();
                }
                else
                {
                    return(View("NoMap"));
                }

                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                System.Threading.Thread.Sleep(1000);
                return(New(territoryMapViewModel));
            }
        }
Exemple #8
0
 private void LifeDeath_TerritoryChanged(object sender, TerritoryMap e)
 {
     BoardViewModel.BoardControlState.TerritoryMap = e;
     RefreshBoard(Game.Controller.GameTree.LastNode);
     // TODO (future work)  Aniko, Vita: This won't work well with Analyze mode in multiplayer.
 }
Exemple #9
0
 private void _controller_LifeDeathTerritoryChanged(object sender, TerritoryMap e)
 {
     _territories = e;
 }