コード例 #1
0
        public async Task AddSportComplex(SportComplexInputViewModel input, string imagePath)
        {
            var address = new Address
            {
                City           = input.AddressCity,
                Street         = input.AddressStreet,
                NumberOfStreet = input.AddressNumberOfStreet,
            };

            var user = this.userRepository.All().FirstOrDefault(u => u.UserName == input.Username);

            if (user == null)
            {
                throw new ArgumentException("This user is invalid");
            }

            var sportComplex = new SportComplex
            {
                Name    = input.Name,
                Address = address,
                FootballArenasUserId = user.Id,
            };

            this.AddFootballFieldsInternal(input, sportComplex);

            await this.AddImages(input, sportComplex, imagePath);

            await this.sportComplexRepository.AddAsync(sportComplex);

            await this.sportComplexRepository.SaveChangesAsync();
        }
コード例 #2
0
        private async Task AddImages(SportComplexInputViewModel viewModel, SportComplex sportComplex, string imagePath)
        {
            if (viewModel.Images != null)
            {
                foreach (var image in viewModel.Images)
                {
                    var extension = Path.GetExtension(image.FileName).TrimStart('.');
                    if (!this.allowedExtensions.Any(x => extension.EndsWith(x)))
                    {
                        throw new Exception("Invalid image!");
                    }

                    var dbImage = new Image
                    {
                        Extension = extension,
                    };

                    sportComplex.Images.Add(dbImage);
                    var physicalPath = $"{imagePath}/sportComplexes/{dbImage.Id}.{extension}";

                    await using Stream fileStream = new FileStream(physicalPath, FileMode.Create);
                    await image.CopyToAsync(fileStream);
                }
            }
        }
コード例 #3
0
 public SportComplexResource(SportComplex complex)
 {
     SportComplexId = complex.SportComplexId;
     Name           = complex.Name;
     Archived       = complex.Archived;
     AddressId      = complex.AddressId;
 }
コード例 #4
0
        public string Create(SportComplex complex)
        {
            this.complexes.Add(complex);
            this.complexes.SaveChanges();

            return this.complexes.All().Where(x => x.Description == complex.Description).FirstOrDefault().OwnerId;
            
        }
コード例 #5
0
        public void Add(SportComplex entity)
        {
            var sportTypes = GetAll().ToList();

            sportTypes.Add(entity);
            string newList = JsonConvert.SerializeObject(sportTypes, Formatting.Indented);

            File.WriteAllText(filePath, newList);
        }
コード例 #6
0
        public IActionResult DeleteSportComplex(SportComplex sportComplex)
        {
            ViewBag.Title = "Sportcomplex toevoegen";
            _complexAccess.DeleteSportComplex(sportComplex.SportComplexId);

            return(RedirectToAction("SportComplex", new SportComplexViewModel {
                Complexes = _complexAccess.GetSportComplexes()
            }));
        }
コード例 #7
0
        public void Delete(SportComplex entity)
        {
            var sportTypes = GetAll().ToList();
            var toDelete   = sportTypes.SingleOrDefault(x => x.Id == entity.Id);

            sportTypes.Remove(toDelete);
            string newList = JsonConvert.SerializeObject(sportTypes, Formatting.Indented);

            File.WriteAllText(filePath, newList);
        }
コード例 #8
0
            public IActionResult Post([FromBody] SportComplex sportComplex)
            {
                if (sportComplex == null)
                {
                    return(BadRequest());
                }

                _complexAccess.AddSportComplex(sportComplex);
                return(Ok(sportComplex));
            }
コード例 #9
0
        public ActionResult CreateComplex(SportComplexViewModel newComplex)
        {
            var complex = new SportComplex()
            {
                Name             = newComplex.Name,
                CountOfEmployees = newComplex.CountOfEmployees
            };

            _SportComplexRepository.Save(complex);

            return(RedirectToAction("Index"));
        }
コード例 #10
0
        public IActionResult UpdateSportComplex(SportComplex sportComplex)
        {
            if (!ModelState.IsValid)
            {
                return(View(sportComplex));
            }
            _complexAccess.UpdateSportComplex(sportComplex);

            return(RedirectToAction("SportComplex", new SportComplexViewModel {
                Complexes = _complexAccess.GetSportComplexes()
            }));
        }
コード例 #11
0
        public void UpdateSportComplex(SportComplex sportComplex)
        {
            var databaseSportComplex =
                _context.SportComplexes.Include(s => s.Address).SingleOrDefault(sc => sc.SportComplexId == sportComplex.SportComplexId);

            databaseSportComplex.Name                = sportComplex.Name;
            databaseSportComplex.Address.City        = sportComplex.Address.City;
            databaseSportComplex.Address.HouseNumber = sportComplex.Address.HouseNumber;
            databaseSportComplex.Address.PostalCode  = sportComplex.Address.PostalCode;
            databaseSportComplex.Address.Street      = sportComplex.Address.Street;

            _context.SaveChanges();
        }
コード例 #12
0
        public IActionResult AddSportComplex(SportComplex sportComplex)
        {
            if (!ModelState.IsValid)
            {
                return(View("AddSportComplex"));
            }
            ViewBag.Title = "Sportcomplex toevoegen";
            _complexAccess.AddSportComplex(sportComplex);

            return(RedirectToAction("SportComplex", new SportComplexViewModel {
                Complexes = _complexAccess.GetSportComplexes()
            }));
        }
コード例 #13
0
        public void Update(SportComplex entity)
        {
            var sportTypes = GetAll().ToList();

            var item = sportTypes.SingleOrDefault(x => x.Id == entity.Id);

            if (item != null)
            {
                item.Name = entity.Name;
            }

            string newList = JsonConvert.SerializeObject(sportTypes, Formatting.Indented);

            File.WriteAllText(filePath, newList);
        }
コード例 #14
0
        private void AddFootballFieldsInternal(SportComplexInputViewModel input, SportComplex sportComplex)
        {
            if (input.FootballFields != null)
            {
                foreach (var fieldInput in input.FootballFields)
                {
                    if (fieldInput.Name == string.Empty || fieldInput.Size == null)
                    {
                        throw new ArgumentException("Empty football field");
                    }

                    var field = new FootballField()
                    {
                        Name = fieldInput.Name,
                        Size = fieldInput.Size,
                        RecommendedNumberOfPeople = fieldInput.RecommendedNumberOfPeople,
                    };

                    sportComplex.FootballFields.Add(field);
                }
            }
        }
コード例 #15
0
 public void Update(SportComplex complex)
 {
     this.complexes.Update(complex);
     this.complexes.SaveChanges();
 }
コード例 #16
0
 public void Update(SportComplex entity)
 {
     repository.Update(entity);
 }
コード例 #17
0
 public IActionResult Put([FromBody] SportComplex sportComplex)
 {
     _complexAccess.UpdateSportComplex(sportComplex);
     return(Ok(_complexAccess.GetSportComplex(sportComplex.SportComplexId)));
 }
コード例 #18
0
 public void AddSportComplex(SportComplex sportComplex)
 {
     _context.SportComplexes.Add(sportComplex);
     _context.Addresses.Add(sportComplex.Address);
     _context.SaveChanges();
 }
コード例 #19
0
 public void Delete(SportComplex entity)
 {
     repository.Delete(entity);
 }
コード例 #20
0
 public void UpdateSportComplex(SportComplex sportComplex)
 {
     _repository.UpdateSportComplex(sportComplex);
 }
コード例 #21
0
 public void AddSportComplex(SportComplex sportComplex)
 {
     _repository.AddSportComplex(sportComplex);
 }
コード例 #22
0
 public ActionResult EditSportComplex(int id, SportComplex sc)
 {
     return(RedirectToAction("Index"));
 }
コード例 #23
0
 public void Add(SportComplex entity)
 {
     repository.Add(entity);
 }
コード例 #24
0
 public IActionResult Post([FromBody] SportComplex sportComplex)
 {
     _complexAccess.AddSportComplex(sportComplex);
     return(Ok(sportComplex));
 }