//[ValidateAntiForgeryToken]
 public IActionResult Create([FromBody] Starships entity)
 {
     try
     {
         if (ModelState.IsValid)
         {
             if (entity.Id == 0)
             {
                 service.Create(entity);
                 Response.StatusCode = 201;//Created
                 return(Ok(new { msg = "criado com sucesso!" }));
             }
             else
             {
                 Response.StatusCode = 404;//	Not Acceptable
                 return(null);
             }
         }
         else
         {
             Response.StatusCode = 406;//	Not Acceptabl
             return(new ObjectResult("deu ruim! "));
         }
     }
     catch (Exception e)
     {
         Response.StatusCode = 406;//	Not Acceptable
         return(new ObjectResult("deu ruim! Mensagem: " + e.Message));
     }
 }
예제 #2
0
 internal void AddStarship(Starship starship)
 {
     isDevastated = false;
     Transforms.Add(starship.transform);
     starship.DeathEvent += OnStarshipDeath;
     Starships.Add(starship);
 }
        public void Delete(int id)
        {
            Starships entity = database.Starships.First(registro => registro.Id == id);

            database.Starships.Remove(entity);
            database.SaveChanges();
        }
예제 #4
0
        private async Task InitAsync(Film film)
        {
            IsLoading = true;
            if (film != null)
            {
                Film = film;

                Species.Clear();
                foreach (var specy in film.species)
                {
                    var currentSpecy = await _speciesRepository.GetSpecieAsync(specy) ??
                                       await _dataService.GetSingleByUrl <Specie>(specy);

                    Species.Add(currentSpecy);
                }
                Species = Species.OrderBy(item => item.name).ToObservableCollection();

                Starships.Clear();
                foreach (var starship in film.starships)
                {
                    var currentStarship = await _starshipRepository.GetStarshipAsync(starship) ??
                                          await _dataService.GetSingleByUrl <Starship>(starship);

                    Starships.Add(currentStarship);
                }
                Starships = Starships.OrderBy(item => item.name).ToObservableCollection();

                Vehicles.Clear();
                foreach (var vehicle in film.vehicles)
                {
                    var currentVehicle = await _vehiclesRepository.GetVehicleAsync(vehicle) ??
                                         await _dataService.GetSingleByUrl <Vehicle>(vehicle);

                    Vehicles.Add(currentVehicle);
                }
                Vehicles = Vehicles.OrderBy(item => item.name).ToObservableCollection();

                People.Clear();
                foreach (var character in film.characters)
                {
                    var currentPeople = await _peopleRepository.GetPeopleAsync(character) ??
                                        await _dataService.GetSingleByUrl <People>(character);

                    People.Add(currentPeople);
                }
                People = People.OrderBy(item => item.name).ToObservableCollection();

                Planets.Clear();
                foreach (var planet in film.planets)
                {
                    var currentPlanet = await _planetRepository.GetPlanetAsync(planet) ??
                                        await _dataService.GetSingleByUrl <Planet>(planet);

                    Planets.Add(currentPlanet);
                }
                Planets = Planets.OrderBy(item => item.name).ToObservableCollection();
            }
            IsLoading = false;
        }
 public void Create(Starships entity)
 {
     if (entity.Id == 0)
     {
         database.Starships.Add(entity);
         database.SaveChanges();
     }
 }
        public void Modify(Starships entity)
        {
            var entityActual = database.Starships.First(f => f.Id == entity.Id);

            database.Entry(entityActual).State = EntityState.Detached;
            database.Entry(entity).State       = EntityState.Modified;
            database.SaveChanges();
        }
        protected async override void OnAppearing()
        {
            base.OnAppearing();
            var rawStarships = await App.starshipManager.GetStarshipsAsync();

            var starships = new Starships();

            starships.starships  = rawStarships;
            listView.ItemsSource = starships.SortStarshipsAlphabetically();
        }
예제 #8
0
 internal void AddStarships(List <Starship> starships)
 {
     isDevastated = false;
     for (int i = 0; i < starships.Count; ++i)
     {
         Transforms.Add(starships[i].transform);
         starships[i].DeathEvent += OnStarshipDeath;
     }
     Starships.AddRange(starships);
 }
예제 #9
0
        public async void GetStarshipInfo()
        {
            Starship StarshipInfo = new Starship();

            Query = string.Empty;

            StarshipInfo = await SwapiHelper.GetStarshipInfo(SelectedStarship.url);

            Starships.Clear();
        }
예제 #10
0
        internal async void MakeQuery()
        {
            var starships = await SwapiHelper.GetStarships(Query);

            Starships.Clear();

            foreach (var starship in starships)
            {
                Starships.Add(starship);
            }
        }
예제 #11
0
        public NewItemPage()
        {
            InitializeComponent();

            Item = new Starships
            {
                //Text = "Item name",
                //Description = "This is an item description."
            };

            BindingContext = this;
        }
예제 #12
0
        public ItemDetailPage()
        {
            InitializeComponent();

            var item = new Starships
            {
                //Text = "Item 1",
                //Description = "This is an item description."
            };

            viewModel = new ItemDetailViewModel(item);
            BindingContext = viewModel;
        }
예제 #13
0
        public async Task <Starships> GetStarship(string url)
        {
            HttpResponseMessage response = await _httpClient.GetAsync(url);

            if (response.IsSuccessStatusCode)
            {
                Starships starship = await response.Content.ReadAsAsync <Starships>();

                return(starship);
            }

            return(null);
        }
예제 #14
0
        public static async Task <Starships> GetStarWarsStarship(string queryString)
        {
            HttpClient client   = new HttpClient();
            var        response = await client.GetStringAsync(queryString);

            Starships data = null;

            if (response != null)
            {
                data = JsonConvert.DeserializeObject <Starships>(response);
            }
            return(data);
        }
 public static void AddParking(Person person, Starships ship)
 {
     using (var db = new MyContext())
     {
         var parking = new Parking()
         {
             Traveller = person.Name,
             StarShip  = ship.Name,
         };
         db.Parkings.Add(parking);
         db.SaveChanges();
         Console.WriteLine($"\n[PARKING DETAILS]\nTraveller: {parking.Traveller}, Starship: {parking.StarShip}, StartTime: {parking.StartTime}");
     }
 }
예제 #16
0
        public static void GetAllProperties(Person person)//helper method
        {
            SwapiService swapi = new SwapiService();

            Console.WriteLine($"Name: {person.Name}");
            Console.WriteLine($"Hair color: {person.Hair_Color}");
            Console.WriteLine($"Height: {person.Height}");
            Console.WriteLine($"Mass: {person.Mass}");
            Console.WriteLine(person.Homeworld);
            Console.WriteLine($"Birth year: {person.Birth_Year}");
            Console.WriteLine($"Gender: {person.Gender}");
            Console.WriteLine($"Eye color: {person.Eye_Color}");
            Console.WriteLine($"Skin color: {person.Skin_Color}");
            //species
            Console.WriteLine("----Species-----");
            foreach (string sp in person.Species)
            {
                Species species = swapi.GetSpeciesAsync(sp).Result;
                Console.WriteLine(species.Name);
                Console.WriteLine(species.Language);
            }
            //vehicles
            Console.WriteLine("-------Vehicles----");
            foreach (string v in person.Vehicles)
            {
                Vehicles vehicle = swapi.GetVehiclesAsync(v).Result;
                Console.WriteLine(vehicle.Name);
                Console.WriteLine(vehicle.Model);
            }
            //films
            Console.WriteLine("----Films-----");
            foreach (string film in person.Films)
            {
                Films films = swapi.GetFilmsAsync(film).Result;
                Console.WriteLine(films.Title);
                /*Console.WriteLine(films.Opening_Crawl)*/
                ;
            }
            Console.WriteLine("------------");
            Console.WriteLine("-----Starships-----");
            foreach (string starship in person.Starships)
            {
                Starships ship = swapi.GetStarship(starship).Result;
                Console.WriteLine(ship.Name);
            }
            Console.WriteLine("-------");
            Console.WriteLine(person.Created);
            Console.WriteLine(person.Edited);
            Console.WriteLine(person.Url);
        }
예제 #17
0
        private void OnStarshipDeath(Transform Tr)
        {
            if (Transforms.Contains(Tr))
            {
                int g = Transforms.IndexOf(Tr);
                Starships.RemoveAt(g);
                Transforms.RemoveAt(g);

                if (Starships.Count == 0)
                {
                    isDevastated = true;
                    OnTeamDevastated?.Invoke(this);
                }
            }
        }
예제 #18
0
        internal void RemoveStarship(Starship starship)
        {
            int index = Starships.IndexOf(starship);

            if (index > -1)
            {
                Transforms.RemoveAt(index);
                Starships.RemoveAt(index);
            }
            if (Starships.Count == 0)
            {
                isDevastated = true;
                OnTeamDevastated?.Invoke(this);
            }
        }
예제 #19
0
        public async Task <List <Starship> > GetStarships(string nameOrModel = "")
        {
            List <Starship> shipList = new List <Starship>();
            var             response = await Client.GetStringAsync("starships/?search=" + nameOrModel);

            Starships ships = JsonConvert.DeserializeObject <Starships>(response, Settings);

            shipList.AddRange(ships.Results);
            while (ships.Next != null)
            {
                string qs = new Uri(ships.Next).Query;
                response = await Client.GetStringAsync("starships/" + qs);

                ships = JsonConvert.DeserializeObject <Starships>(response, Settings);
                shipList.AddRange(ships.Results);
            }
            return(shipList);
        }
 public IActionResult Modify([FromBody] Starships entity)
 {
     try
     {
         if (ModelState.IsValid)
         {
             service.Modify(entity);
             return(Ok(new { msg = "alterado com sucesso!" }));
         }
         else
         {
             Response.StatusCode = 304; //	Not Modified
             return(new ObjectResult("deu ruim!"));
         }
     }
     catch (Exception e)
     {
         Response.StatusCode = 406;//	Not Acceptable
         return(new ObjectResult("deu ruim! Mensagem: " + e.Message));
     }
 }
예제 #21
0
    private string GetStarshipName(Starships starship)
    {
        switch (starship)
        {
        case Starships.OneHundred: return("OneHundred");

        case Starships.ThreeHundred: return("ThreeHundred");

        case Starships.FiveHundred: return("FiveHundred");

        case Starships.OneThousand: return("OneThousand");

        case Starships.ThreeThousand: return("ThreeThousand");

        case Starships.FiveThousand: return("FiveThousand");

        case Starships.TenThousand: return("TenThousand");

        default: return("Starting");
        }
    }
 //public async Task<FilmContainer> Get(int id)
 public IActionResult Get(int id)
 {
     try
     {
         Starships entityActual = service.GetById(id);
         if (entityActual != null)
         {
             Response.StatusCode = 302;
             return(Ok(entityActual));
         }
         else
         {
             Response.StatusCode = 204;//No Content
             return(null);
         }
     }
     catch (Exception e)
     {
         Response.StatusCode = 404;
         return(new ObjectResult("deu ruim! Mensagem: " + e.Message));
     }
 }
예제 #23
0
 private void ExtractIds()
 {
     foreach (Uri characterUri in CharacterUris)
     {
         Characters.Add(extractId(characterUri));
     }
     foreach (Uri planetUri in PlanetUris)
     {
         Planets.Add(extractId(planetUri));
     }
     foreach (Uri speciesUri in SpeciesUris)
     {
         Species.Add(extractId(speciesUri));
     }
     foreach (Uri starshipUri in StarshipUris)
     {
         Starships.Add(extractId(starshipUri));
     }
     foreach (Uri vehicleUri in VehicleUris)
     {
         Vehicles.Add(extractId(vehicleUri));
     }
 }
 public void Modify(Starships entity)
 {
     repository.Modify(entity);
 }
예제 #25
0
 internal void RemoveAllStarships()
 {
     Starships.Clear();
     Transforms.Clear();
     OnTeamDevastated?.Invoke(this);
 }
 public void Create(Starships entity)
 {
     repository.Create(entity);
 }
예제 #27
0
        static async Task Main(string[] args)
        {
            //Added this line to Parse double values to not mix "." and ","
            CultureInfo.CurrentCulture = CultureInfo.InvariantCulture;

            Console.WriteLine("Welcome to SpacePark!\n");
            Thread.Sleep(1000);

            while (true)
            {
                int selectedMenu = Menu.Options("What do you want to do?", new[]
                {
                    "Register new traveller", //Index 0
                    "End current parking",    //Index 1
                    "Exit program",           //Index 2
                });
                Console.Clear();

                if (selectedMenu == 0) // menu option: Register new traveller
                {
                    var selectedPerson = ChoosePerson("Who are you traveller?").Result;

                    if (selectedPerson == null)
                    {
                        continue; // Go back to the start menu.
                    }

                    // If the person is already parked, go back to the start menu
                    if (DatabaseQueries.CheckParking(selectedPerson.Name) != null)
                    {
                        Console.WriteLine($"\nThere is already an active parking registered on {selectedPerson.Name}\n\nPress any key to continue...");
                        Console.ReadKey();
                        Console.Clear();
                        continue; // Go back to the start menu.
                    }

                    // Fetch all Starships
                    var allStarships = await Fetch.Starships();

                    Console.Clear();
                    List <Starships> personalShips = allStarships.Join(selectedPerson.Starships,
                                                                       s1 => s1.URL, s2 => s2,
                                                                       (s1, s2) => s1).ToList();

                    // If the character doesn't own a starship, go back to the start menu
                    if (personalShips.Count == 0)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine($"There is no registered starship under the name of {selectedPerson.Name}.\n");
                        Console.ResetColor();
                        continue; // Go back to the start menu.
                    }

                    Console.ForegroundColor = ConsoleColor.Yellow;
                    Console.WriteLine($"Welcome, {selectedPerson.Name}!\n");
                    Console.ResetColor();

                    int       selectedShipIndex = Menu.Options("Please select your ship", personalShips.Select(p => p.Name).ToArray());
                    Starships selectedShip      = personalShips[selectedShipIndex];
                    Console.WriteLine("\nLoading...");
                    Thread.Sleep(2000);
                    Console.Clear();

                    // We check if the starship fits in the parkinglot
                    // Parsing because the Length attribute is a String type
                    if (double.TryParse(selectedShip.Length, out double result))
                    {
                        if (result <= maxLengthToParkStarship)
                        {
                            if (DatabaseQueries.OccupiedParkings() >= totalParkingLots)
                            {
                                Console.WriteLine("Parking lot is full, try again later. PEACE!\n");
                                continue;
                            }
                            Console.ForegroundColor = ConsoleColor.Yellow;
                            Console.WriteLine($"You selected: {selectedShip.Name}, Length: {selectedShip.Length}m");

                            //Add parking into database
                            DatabaseQueries.AddParking(selectedPerson, selectedShip);
                            Console.ResetColor();
                        }
                        else
                        {
                            Console.ForegroundColor = ConsoleColor.Red;
                            Console.WriteLine($"We're sorry but your {selectedShip.Name} is too big ({selectedShip.Length}m) for our parking lots. (Maximum length: 35m)");
                            Console.ResetColor();
                        }
                    }
                    Console.WriteLine();
                }

                else if (selectedMenu == 1) // menu option: End current parking
                {
                    var selectedPerson = ChoosePerson("Who is leaving our beautiful parking station?").Result;

                    if (selectedPerson == null)
                    {
                        continue; // Go back to the start menu.
                    }

                    //If there is a active parking, see method CheckParking, then print InVoice.
                    if (DatabaseQueries.CheckParking(selectedPerson.Name) != null)
                    {
                        Console.Clear();
                        DatabaseQueries.EndParking(selectedPerson);
                        Console.WriteLine("Thank you for choosing SpacePark! We hope to see you soon again :)\n");
                        Console.WriteLine("Press any key to return to the main menu...");
                        Console.ReadKey();
                        Console.Clear();
                    }
                    else
                    {
                        Console.Clear();
                        Console.WriteLine("There is no current parking under the name: " + selectedPerson.Name + "\n");
                        Console.WriteLine("Press any key to return to the main menu...");
                        Console.ReadKey();
                        Console.Clear();
                    }
                }
                else // menu option: Exit program
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Terminating program.");
                    Console.ResetColor();
                    break;
                }
            }
        }
예제 #28
0
        private async Task InitAsync(Specie specie)
        {
            IsLoading = true;

            if (specie != null)
            {
                Specie = specie;

                Movies.Clear();
                if (specie.films.HasItems())
                {
                    foreach (var film in specie.films)
                    {
                        var currentFilm = await _filmRepository.GetFilmAsync(film) ??
                                          await _dataService.GetSingleByUrl <Film>(film);

                        Movies.Add(currentFilm);
                    }
                    Movies = Movies.OrderBy(item => item.episode_id).ToObservableCollection();
                }
                People.Clear();
                if (specie.people.HasItems())
                {
                    foreach (var person in specie.people)
                    {
                        var currentPerson = await _peopleRepository.GetPeopleAsync(person) ??
                                            await _dataService.GetSingleByUrl <People>(person);

                        People.Add(currentPerson);
                    }
                    People = People.OrderBy(item => item.name).ToObservableCollection();
                }
                Starships.Clear();
                if (specie.starships.HasItems())
                {
                    foreach (var starship in specie.starships)
                    {
                        var currentStarship = await _starshipRepository.GetStarshipAsync(starship) ??
                                              await _dataService.GetSingleByUrl <Starship>(starship);

                        Starships.Add(currentStarship);
                    }
                    Starships = Starships.OrderBy(item => item.name).ToObservableCollection();
                }
                Vehicles.Clear();
                if (specie.vehicles.HasItems())
                {
                    foreach (var vehicle in specie.vehicles)
                    {
                        var currentVehicle = await _vehiclesRepository.GetVehicleAsync(vehicle) ??
                                             await _dataService.GetSingleByUrl <Vehicle>(vehicle);

                        Vehicles.Add(currentVehicle);
                    }
                    Vehicles = Vehicles.OrderBy(item => item.name).ToObservableCollection();
                }

                if (specie.homeworld.IsNeitherNullNorEmpty())
                {
                    HomeWorld = await _planetRepository.GetPlanetAsync(Specie?.homeworld) ??
                                await _dataService.GetSingleByUrl <Planet>(Specie?.homeworld);
                }
            }
            IsLoading = false;
        }
예제 #29
0
 public ItemDetailViewModel(Starships item = null)
 {
     Title = item?.name;
     Item  = item;
 }
예제 #30
0
        static void Main()
        {
            Action <string> display = Console.WriteLine;

            display("Get JSON data from Starwars API");
            int    timeToSleep = 1500;
            string url1        = "https://swapi.dev/api/people/1/";

            string apiUrlBase = "https://swapi.dev/api";
            string apiUrl     = "https://swapi.dev/api/people/";
            string className  = "people";

            for (int i = 1; i <= 83; i++)
            {
                if (i == 17)
                {
                    continue;
                }

                apiUrl = $"{apiUrlBase}/{className}/{i}/";
                var    myJsonResponse      = GetAPIFromUrl(apiUrl);
                People myDeserializedClass = JsonConvert.DeserializeObject <People>(myJsonResponse);
                bool   insertResult        = false;
                myJsonResponse      = GetAPIFromUrl(apiUrl);
                myDeserializedClass = JsonConvert.DeserializeObject <People>(myJsonResponse);
                display($"{myDeserializedClass}");
                insertResult = WriteToFile(myDeserializedClass.ToJsonString(), className, i);
                Thread.Sleep(timeToSleep);
            }

            // planets
            className = "planets";
            for (int i = 1; i <= 60; i++)
            {
                apiUrl = $"{apiUrlBase}/{className}/{i}/";
                var     myJsonResponse      = GetAPIFromUrl(apiUrl);
                Planets myDeserializedClass = JsonConvert.DeserializeObject <Planets>(myJsonResponse);
                bool    insertResult        = false;
                myJsonResponse      = GetAPIFromUrl(apiUrl);
                myDeserializedClass = JsonConvert.DeserializeObject <Planets>(myJsonResponse);
                display($"{myDeserializedClass}");
                insertResult = WriteToFile(myDeserializedClass.ToJsonString(), className, i);
                Thread.Sleep(timeToSleep);
            }

            // starships
            className = "starships";
            for (int i = 2; i <= 43; i++)// 2 to 43
            {
                if (i == 4 || i == 6 || i == 7 || i == 8 || i == 14 || i == 16 || i == 18 || i == 19 || i == 20 || i == 24 || i == 25 || i == 26 || i == 30 || i == 33 || i == 34 || i == 35 || i == 36 || i == 37 || i == 38 || i == 42)
                {
                    continue;
                }

                apiUrl = $"{apiUrlBase}/{className}/{i}/";
                var       myJsonResponse      = GetAPIFromUrl(apiUrl);
                Starships myDeserializedClass = JsonConvert.DeserializeObject <Starships>(myJsonResponse);
                bool      insertResult        = false;
                myJsonResponse      = GetAPIFromUrl(apiUrl);
                myDeserializedClass = JsonConvert.DeserializeObject <Starships>(myJsonResponse);
                display($"{myDeserializedClass}");
                insertResult = WriteToFile(myDeserializedClass.ToJsonString(), className, i);
                Thread.Sleep(timeToSleep);
            }

            // films
            className = "films";
            for (int i = 1; i <= 6; i++)// 1 to 6
            {
                apiUrl = $"{apiUrlBase}/{className}/{i}/";
                var   myJsonResponse      = GetAPIFromUrl(apiUrl);
                Films myDeserializedClass = JsonConvert.DeserializeObject <Films>(myJsonResponse);
                bool  insertResult        = false;
                myJsonResponse      = GetAPIFromUrl(apiUrl);
                myDeserializedClass = JsonConvert.DeserializeObject <Films>(myJsonResponse);
                display($"{myDeserializedClass}");
                insertResult = WriteToFile(myDeserializedClass.ToJsonString(), className, i);
                Thread.Sleep(timeToSleep);
            }

            // species
            className = "species";
            for (int i = 1; i <= 37; i++)// 1 to 37
            {
                apiUrl = $"{apiUrlBase}/{className}/{i}/";
                var     myJsonResponse      = GetAPIFromUrl(apiUrl);
                Species myDeserializedClass = JsonConvert.DeserializeObject <Species>(myJsonResponse);
                bool    insertResult        = false;
                myJsonResponse      = GetAPIFromUrl(apiUrl);
                myDeserializedClass = JsonConvert.DeserializeObject <Species>(myJsonResponse);
                display($"{myDeserializedClass}");
                insertResult = WriteToFile(myDeserializedClass.ToJsonString(), className, i);
                Thread.Sleep(timeToSleep);
            }

            display("Press any key to exit:");
            Console.ReadKey();
        }