示例#1
0
        public IActionResult EditUserDestination(EditUserDestinationViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                UserDestination destination = context.UserDestinations.Find(viewModel.Id);

                destination.Name           = viewModel.Name;
                destination.Street         = viewModel.Street;
                destination.City           = viewModel.City;
                destination.State          = viewModel.State;
                destination.Zipcode        = viewModel.Zipcode;
                destination.Description    = viewModel.Description;
                destination.Website        = viewModel.Website;
                destination.OutdoorSeating = viewModel.OutdoorSeating;
                destination.BikeRacks      = viewModel.BikeRacks;
                destination.Restrooms      = viewModel.Restrooms;
                destination.Playground     = viewModel.Playground;
                destination.CategoryId     = viewModel.CategoryId;
                destination.TrailId        = viewModel.TrailId;

                if (viewModel.Image != null)
                {
                    string uniqueFileName = NewUploadedFileForUserDestination(viewModel);
                    destination.Image = uniqueFileName;
                }
                else
                {
                    destination.Image = destination.Image;
                }
            }
            context.SaveChanges();
            return(Redirect("/Destination/NeedingAdminApproval"));
        }
示例#2
0
        public ApplicationLogicRoot(IPersistence persistence)
        {
            var                   noSqlPersistence = persistence;
            IUserLookup           lookup           = new UserLookup(noSqlPersistence);
            IConnectorDestination destination      = new UserDestination(noSqlPersistence);

            _userUseCaseFactory = new UserUseCaseFactory(destination, lookup);
        }
示例#3
0
        public IActionResult EditUserDestination(int id)
        {
            UserDestination            d  = context.UserDestinations.Find(id);
            List <DestinationCategory> dc = context.DestinationCategories.ToList();
            List <Trail> t = context.Trails.ToList();

            EditUserDestinationViewModel viewModel = new EditUserDestinationViewModel(d, dc, t);

            return(View(viewModel));
        }
        public void ShouldPersistReceivedUserDto()
        {
            //GIVEN
            var persistence     = Substitute.For <IPersistence>();
            var userDestination = new UserDestination(persistence);
            var userDto         = Any.Instance <UserDto>();

            //WHEN
            userDestination.Save(userDto);
            //THEN
            persistence.Received(1).Save("Users", userDto);
        }
示例#5
0
        public EditUserDestinationViewModel(UserDestination destination, List <DestinationCategory> categories, List <Trail> trails)
        {
            Id             = destination.Id;
            Name           = destination.Name;
            Street         = destination.Street;
            City           = destination.City;
            State          = destination.State;
            Zipcode        = destination.Zipcode;
            Description    = destination.Description;
            Website        = destination.Website;
            OutdoorSeating = destination.OutdoorSeating;
            BikeRacks      = destination.BikeRacks;
            Restrooms      = destination.Restrooms;
            Playground     = destination.Playground;
            ExistingImage  = destination.Image;
            CategoryId     = destination.CategoryId;
            TrailId        = destination.TrailId;


            Category = new List <SelectListItem>();

            foreach (var c in categories)
            {
                Category.Add(new SelectListItem
                {
                    Value = c.Id.ToString(),
                    Text  = c.Name,
                });
            }
            Trail = new List <SelectListItem>();

            foreach (var t in trails)
            {
                Trail.Add(new SelectListItem
                {
                    Value = t.Id.ToString(),
                    Text  = t.Name
                });
            }
        }
示例#6
0
        public IActionResult NeedingAdminApproval(int id)
        {
            UserDestination destinationSelected = context.UserDestinations
                                                  .Include(d => d.Trail)
                                                  .Include(d => d.Category)
                                                  .Single(d => d.Id == id);

            DestinationCategory category = context.DestinationCategories.Find(destinationSelected.CategoryId);
            Trail trail = context.Trails.Find(destinationSelected.TrailId);

            Destination newDestination = new Destination
            {
                Name           = destinationSelected.Name,
                Street         = destinationSelected.Street,
                City           = destinationSelected.City,
                State          = destinationSelected.State,
                Zipcode        = destinationSelected.Zipcode,
                Description    = destinationSelected.Description,
                Website        = destinationSelected.Website,
                OutdoorSeating = destinationSelected.OutdoorSeating,
                BikeRacks      = destinationSelected.BikeRacks,
                Restrooms      = destinationSelected.Restrooms,
                Playground     = destinationSelected.Playground,
                Category       = category,
                Trail          = trail,
                CategoryId     = destinationSelected.CategoryId,
                TrailId        = destinationSelected.TrailId,
                Image          = destinationSelected.Image,
                UserId         = destinationSelected.UserId
            };

            context.Destinations.Add(newDestination);
            context.UserDestinations.Remove(destinationSelected);
            context.SaveChanges();


            return(Redirect("/Destination"));
        }
示例#7
0
        public IActionResult Add(AddDestinationViewModel viewModel)
        {
            string uniqueFileName = UploadedFile(viewModel);



            if (ModelState.IsValid && User.IsInRole("Admin"))
            {
                var userId = _userManager.GetUserId(User);

                DestinationCategory category = context.DestinationCategories.Find(viewModel.CategoryId);
                Trail trail = context.Trails.Find(viewModel.TrailId);

                if (!viewModel.Website.StartsWith("http"))
                {
                    viewModel.Website = "https://" + viewModel.Website;
                }


                Destination newDestination = new Destination
                {
                    Name           = viewModel.Name,
                    Street         = viewModel.Street,
                    City           = viewModel.City,
                    State          = viewModel.State,
                    Zipcode        = viewModel.Zipcode,
                    Description    = viewModel.Description,
                    Website        = viewModel.Website,
                    OutdoorSeating = viewModel.OutdoorSeating,
                    BikeRacks      = viewModel.BikeRacks,
                    Restrooms      = viewModel.Restrooms,
                    Playground     = viewModel.Playground,
                    Category       = category,
                    Trail          = trail,
                    CategoryId     = viewModel.CategoryId,
                    TrailId        = viewModel.TrailId,
                    Image          = uniqueFileName,
                    UserId         = userId
                };

                context.Destinations.Add(newDestination);
                context.SaveChanges();

                int id = newDestination.Id;

                return(Redirect("/destination/detail/" + id));
            }
            else if (ModelState.IsValid && User.Identity.IsAuthenticated)
            {
                var userId = _userManager.GetUserId(User);

                DestinationCategory category = context.DestinationCategories.Find(viewModel.CategoryId);
                Trail trail = context.Trails.Find(viewModel.TrailId);

                if (!viewModel.Website.StartsWith("http"))
                {
                    viewModel.Website = "https://" + viewModel.Website;
                }

                UserDestination newUserDestination = new UserDestination
                {
                    Name           = viewModel.Name,
                    Street         = viewModel.Street,
                    City           = viewModel.City,
                    State          = viewModel.State,
                    Zipcode        = viewModel.Zipcode,
                    Description    = viewModel.Description,
                    Website        = viewModel.Website,
                    OutdoorSeating = viewModel.OutdoorSeating,
                    BikeRacks      = viewModel.BikeRacks,
                    Restrooms      = viewModel.Restrooms,
                    Playground     = viewModel.Playground,
                    Category       = category,
                    Trail          = trail,
                    CategoryId     = viewModel.CategoryId,
                    TrailId        = viewModel.TrailId,
                    Image          = uniqueFileName,
                    UserId         = userId
                };

                context.UserDestinations.Add(newUserDestination);
                context.SaveChanges();


                return(Redirect("/Destination/UserDestinations/"));
            }

            //repopulate SelectListItems
            List <DestinationCategory> categories = context.DestinationCategories.ToList();
            List <Trail> trails = context.Trails.ToList();

            List <SelectListItem> categoryList = new List <SelectListItem>();

            foreach (var c in categories)
            {
                categoryList.Add(new SelectListItem
                {
                    Value = c.Id.ToString(),
                    Text  = c.Name
                });
            }
            List <SelectListItem> trailList = new List <SelectListItem>();

            foreach (var t in trails)
            {
                trailList.Add(new SelectListItem
                {
                    Value = t.Id.ToString(),
                    Text  = t.Name
                });
            }

            viewModel.Category = categoryList;
            viewModel.Trail    = trailList;


            return(View(viewModel));
        }