public IHttpActionResult GetAllRestauransByTown([FromUri] int townId)
        {
            var town = this.Data.Towns.Find(townId);

            if (town == null)
            {
                return(this.NotFound());
            }

            var townView = new TownViewModel()
            {
                Id   = town.Id,
                Name = town.Name
            };

            var restaurants = town
                              .Restaurants
                              //.OrderByDescending(r => r.Ratings.Select(rt => rt.Stars).Average())
                              //.ThenBy(r => r.Name)
                              .Select(r => new RestaurantViewModel
            {
                Id     = r.Id,
                Name   = r.Name,
                Rating = r.Ratings.Any() ?
                         (float?)r.Ratings.Select(rt => rt.Stars).Average() :
                         null,
                Town = townView
            })
                              .OrderByDescending(rv => rv.Rating)
                              .ThenBy(rv => rv.Name);;

            // To check how to sort before materialize the query by solving the empty sequence problem???

            return(this.Ok(restaurants));
        }
Esempio n. 2
0
        public TownWindow(TownViewModel vm, GameInfo gameInfo)
        {
            InitializeComponent();

            this.gameInfo    = gameInfo;
            this.DataContext = vm;
            Loaded          += (s, e) => { AddLineButtons(vm); };
        }
Esempio n. 3
0
 /// <summary>
 /// Convert Town Entity  into Town Object
 /// </summary>
 ///<param name="model">TownViewModel</param>
 ///<param name="TownEntity">DataAccess.Town</param>
 ///<returns>TownViewModel</returns>
 public static TownViewModel ToViewModel(
     this DataAccess.Town entity,
     TownViewModel model)
 {
     model.Id       = entity.Id;
     model.CityId   = entity.CityId;
     model.Name     = entity.Name;
     model.City     = entity.City.Name;
     model.IsActive = entity.IsActive;
     return(model);
 }
Esempio n. 4
0
        public async Task <IActionResult> AddTown(TownViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            await this.clients.AddTownAsync(
                model.Name);

            return(RedirectToAction(nameof(AllTowns)));
        }
        public ActionResult Destroy([DataSourceRequest] DataSourceRequest request, TownViewModel model)
        {
            if (model != null && ModelState.IsValid)
            {
                Town toDelete = this.Data.Towns.Find(model.Id);
                toDelete.IsDeleted = true;
                this.Data.Towns.Update(toDelete);

                // this.data.Towns.Delete(model.Id);
            }

            return(this.Json(new[] { model }.ToDataSourceResult(request, this.ModelState)));
        }
        public ActionResult Update([DataSourceRequest] DataSourceRequest request, TownViewModel model)
        {
            if (model != null && ModelState.IsValid)
            {
                Town town = this.Data.Towns.All().Where(t => t.Name == model.Name).FirstOrDefault();
                if (town == null)
                {
                    Town toUpdate = this.Data.Towns.Find(model.Id);
                    toUpdate.Name = model.Name;
                    this.Data.Towns.Update(toUpdate);
                }
            }

            return(this.Json(new[] { model }.ToDataSourceResult(request, this.ModelState)));
        }
Esempio n. 7
0
        private void AddTownToSelectedTowns(TownViewModel model)
        {
            var           towns = this.ViewStateTowns;
            TownViewModel town  = towns.FirstOrDefault(a => a.ID == model.ID);

            if (town == null)
            {
                towns.Add(model);
                this.ViewStateTowns = towns;
            }
            else
            {
                string msg = "Город \"" + model.Name + "\" уже есть в Вашем списке.";
                this.JavaScriptAlert(msg);
            }
        }
        public ActionResult Create([DataSourceRequest] DataSourceRequest request, TownViewModel model)
        {
            if (model != null && ModelState.IsValid)
            {
                Town town = this.Data.Towns.All().Where(t => t.Name == model.Name).FirstOrDefault();
                if (town == null)
                {
                    Town toAdd = new Town {
                        Name = model.Name
                    };
                    this.Data.Towns.Add(toAdd);
                    model.Id = toAdd.Id;
                }
            }

            return(this.Json(new[] { model }.ToDataSourceResult(request, this.ModelState)));
        }
Esempio n. 9
0
 /// <summary>
 /// Convert Town Object into Town Entity
 /// </summary>
 ///<param name="model">Town</param>
 ///<param name="TownEntity">DataAccess.Town</param>
 ///<returns>DataAccess.Town</returns>
 public static Town ToEntity(this TownViewModel model,
                             Town entity)
 {
     if (entity.Id == 0)
     {
         entity.CreatedUserId = model.SessionUserId;
         entity.IsActive      = model.IsActive;
     }
     else
     {
         entity.UpdatedUserId    = model.SessionUserId;
         entity.UpdatedTimestamp = DateTime.Now;
     }
     entity.CityId = model.CityId;
     entity.Name   = model.Name;
     return(entity);
 }
Esempio n. 10
0
        public IActionResult Index(TownViewModel town)
        {
            //ReadListFromFile();
            Sweden ValTown = town.ValidateTown(town, context);

            //ShowTown towns = new ShowTown(context);

            if (ValTown == null)
            {
                return(View(new TownViewModel {
                    Name = "Atlantis", Population = 0, ID = 666
                }));
            }

            return(View(new TownViewModel {
                Name = ValTown.Town, Population = ValTown.Population, ID = ValTown.Id
            }));
        }
Esempio n. 11
0
        public async Task <IActionResult> EditTown(int id, TownViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var success = await this.clients.EditTownAsync(
                id,
                model.Name);

            if (!success)
            {
                return(NotFound());
            }

            return(RedirectToAction(nameof(AllTowns)));
        }
Esempio n. 12
0
        private void AddLineButtons(TownViewModel vm)
        {
            foreach (var line in vm.Lines)
            {
                Button button = new Button();
                button.Content             = $"{line.Name} {line.Start.Name}~{line.End.Name}";
                button.HorizontalAlignment = HorizontalAlignment.Center;
                button.VerticalAlignment   = VerticalAlignment.Top;
                button.Width    = 205;
                button.Height   = 30;
                button.FontSize = 16;
                button.Click   += (sender, e) =>
                {
                    this.Close();

                    var page   = new LineInfoPage(line, gameInfo);
                    var window = new ToolWindow(page);

                    window.ShowDialog();
                };

                CommandPanel.Children.Add(button);
            }
        }
 private void Button_Click_6(object sender, RoutedEventArgs e)
 {
     DataContext = new TownViewModel();
 }
Esempio n. 14
0
 public RedirectToActionResult Index(TownViewModel town)
 {
     return(RedirectToAction("Index", "Town"));
 }
Esempio n. 15
0
 public void UpdateTownName(TownViewModel town)
 {
     ContactsRepository.UpdateTownName(town.Name, town.ID);
 }
Esempio n. 16
0
        //ゲーム画面の描画
        public void DrawMap()
        {
            MapCanvas.Children.Clear();

            var info = gameInfo;

            //地図
            MapCanvas.Background = new ImageBrush(info.map);

            ////路線
            //foreach (Model.Line lineRail in info.lines)
            //{
            //	var lineShape = new System.Windows.Shapes.Line();
            //	lineShape.X1 = lineRail.start.X;
            //	lineShape.Y1 = lineRail.start.Y;
            //	lineShape.X2 = lineRail.end.X;
            //	lineShape.Y2 = lineRail.end.Y;
            //	lineShape.Stroke = Brushes.White;
            //	lineShape.StrokeThickness = 1;
            //	lineShape.MouseLeftButtonDown += (sender, e) =>
            //	{
            //		var page = new LineInfoPage(lineRail);
            //		var window = new ToolWindow(page);

            //		window.ShowDialog();
            //	};
            //	MapCanvas.Children.Add(lineShape);
            //}

            // 駅と駅名
            foreach (Station station in info.stations)
            {
                //if (station.nameShown)
                //{
                //	var slabel = new Label();
                //	slabel.Content = station.Name;
                //	slabel.Margin = new Thickness(station.X, station.Y - (int)station.Size, 0, 0);
                //	slabel.FontSize = (int)station.Size;
                //	slabel.Foreground = Brushes.White;
                //	slabel.MouseLeftButtonDown += (sender, e) =>
                //	{
                //		var vm = new TownViewModel(station);
                //		var window = new TownWindow(vm, gameInfo);
                //		window.ShowDialog();
                //	};

                //	MapCanvas.Children.Add(slabel);
                //}

                var ellipse = new Ellipse();
                ellipse.Width                = (int)station.Size / 4 * 1.5;
                ellipse.Height               = (int)station.Size / 4 * 1.5;
                ellipse.Margin               = new Thickness(station.X, station.Y, 0, 0);
                ellipse.Stroke               = Brushes.Black;
                ellipse.Fill                 = Brushes.White;
                ellipse.RenderTransform      = new TranslateTransform(-ellipse.Width / 2, -ellipse.Height / 2);
                ellipse.MouseLeftButtonDown += (sender, e) =>
                {
                    var vm     = new TownViewModel(station);
                    var window = new TownWindow(vm, gameInfo);
                    window.ShowDialog();
                };
                MapCanvas.Children.Add(ellipse);
            }
        }
Esempio n. 17
0
 public void SetDataContext(TownViewModel vm)
 {
     this.DataContext = vm;
 }
Esempio n. 18
0
 public void AddTown(TownViewModel model)
 {
     this.AddTownToSelectedTowns(model);
 }
        public IHttpActionResult CreateNewRestaurant(
            [FromBody] RestaurantBindingModel restaurantModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var town = this.Data.Towns.Find(restaurantModel.TownId);

            if (town == null)
            {
                return(this.BadRequest("Invalid town id"));
            }

            var             userId = this.User.Identity.GetUserId();
            ApplicationUser user   = null;

            if (userId != null)
            {
                user = this.Data.Users.Find(userId);
            }

            if (user == null)
            {
                return(this.Unauthorized());
            }

            var restaurant = new Restaurant()
            {
                Name    = restaurantModel.Name,
                TownId  = restaurantModel.TownId,
                Town    = town,
                OwnerId = userId,
                Owner   = user
            };

            this.Data.Restaurants.Add(restaurant);
            this.Data.SaveChanges();

            var townView = new TownViewModel()
            {
                Id   = town.Id,
                Name = town.Name
            };

            var restaurantView = new RestaurantViewModel()
            {
                Id     = restaurant.Id,
                Name   = restaurant.Name,
                Rating = null,
                Town   = townView
            };

            //var result = new System.Web.Mvc.ContentResult
            //{
            //    ContentType = "text/plain",
            //    Content = JsonConvert.SerializeObject(restaurantView, new JsonSerializerSettings { ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver() }),
            //    ContentEncoding = Encoding.UTF8
            //};

            return(this.CreatedAtRoute(
                       "DefaultApi",
                       new { id = restaurant.Id, controller = "restaurants" },
                       restaurantView));
        }