public IActionResult CreateSportSchool(SportSchoolCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                string uniqueFileName1 = ProcessUploadFile(model.Image1);
                string uniqueFileName2 = ProcessUploadFile(model.Image2);

                SportSchool newSportSchool = new SportSchool {
                    Name        = model.Name,
                    Email       = model.Email,
                    Address     = model.Address,
                    CityId      = model.CityId,
                    Description = model.Description,
                    SportId     = model.SportId,
                    Phone       = model.Phone,
                    Price       = model.Price,
                    IsPayed     = model.IsPayed,
                    Image1Path  = uniqueFileName1,
                    Image2Path  = uniqueFileName2
                };

                sportSchoolRepository.Add(newSportSchool);

                return(RedirectToAction("Details", "SportSchool", new { id = newSportSchool.Id }));
            }
            else
            {
                var sportSchool = new SportSchoolCreateViewModel {
                    Cities = sportSchoolRepository.GetAllCities(),
                    Sports = sportSchoolRepository.GetAllSports()
                };

                return(View("CreateSportSchool", sportSchool));
            }
        }
예제 #2
0
        public SportSchool Update(SportSchool sportSchoolChanges)
        {
            var sportSchool = context.SportSchools.Attach(sportSchoolChanges);

            sportSchool.State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            context.SaveChanges();

            return(sportSchoolChanges);
        }
예제 #3
0
        public SportSchool Delete(int id)
        {
            SportSchool sportSchool = context.SportSchools.Find(id);

            if (sportSchool != null)
            {
                context.SportSchools.Remove(sportSchool);
                context.SaveChanges();
            }

            return(sportSchool);
        }
예제 #4
0
        public async Task <IActionResult> EditSportSchool(int id)
        {
            SportSchool model = sportSchoolRepository.Get(id);
            SportSchoolEditViewModel sportSchoolEditViewModel = new SportSchoolEditViewModel
            {
                Id                 = model.Id,
                Name               = model.Name,
                Email              = model.Email,
                Address            = model.Address,
                CityId             = model.CityId,
                Description        = model.Description,
                SportId            = model.SportId,
                Phone              = model.Phone,
                Price              = model.Price,
                IsPayed            = model.IsPayed,
                ExistingImage1Path = model.Image1Path,
                ExistingImage2Path = model.Image2Path,
                Cities             = sportObjectRepository.GetAllCities(),
                Sports             = sportObjectRepository.GetAllSports()
            };

            if (User.IsInRole("Client"))
            {
                var user = await userManager.FindByIdAsync(User.FindFirstValue(ClaimTypes.NameIdentifier));

                if (user == null)
                {
                    ViewBag.ErrorMessage = $"User with ID = {user.Id} cannot be found";
                    return(View("NotFound"));
                }

                if (user.Email != model.Email)
                {
                    return(RedirectToAction("AccessDenied", "Administration"));
                }
            }

            return(View(sportSchoolEditViewModel));
        }
예제 #5
0
        public IActionResult EditSportSchool(SportSchoolEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                SportSchool sportSchool = sportSchoolRepository.Get(model.Id);
                sportSchool.Name        = model.Name;
                sportSchool.Email       = model.Email;
                sportSchool.Address     = model.Address;
                sportSchool.CityId      = model.CityId;
                sportSchool.Description = model.Description;
                sportSchool.SportId     = model.SportId;
                sportSchool.Phone       = model.Phone;
                sportSchool.Price       = model.Price;
                sportSchool.IsPayed     = model.IsPayed;

                if (model.Image1 != null)
                {
                    if (model.ExistingImage1Path != null)
                    {
                        string filePath = Path.Combine(webHostEnvironment.WebRootPath, "images", model.ExistingImage1Path);
                        System.IO.File.Delete(filePath);
                    }
                    sportSchool.Image1Path = ProcessUploadFile(model.Image1);
                }

                if (model.Image2 != null)
                {
                    if (model.ExistingImage2Path != null)
                    {
                        string filePath = Path.Combine(webHostEnvironment.WebRootPath, "images", model.ExistingImage2Path);
                        System.IO.File.Delete(filePath);
                    }
                    sportSchool.Image2Path = ProcessUploadFile(model.Image2);
                }

                sportSchoolRepository.Update(sportSchool);

                return(RedirectToAction("Details", "SportSchool", new { id = sportSchool.Id }));
            }

            SportSchool modelOld = sportSchoolRepository.Get(model.Id);
            SportSchoolEditViewModel sportSchoolEditViewModel = new SportSchoolEditViewModel
            {
                Id                 = modelOld.Id,
                Name               = modelOld.Name,
                Email              = modelOld.Email,
                Address            = modelOld.Address,
                CityId             = modelOld.CityId,
                Description        = modelOld.Description,
                SportId            = modelOld.SportId,
                Phone              = modelOld.Phone,
                Price              = modelOld.Price,
                IsPayed            = modelOld.IsPayed,
                ExistingImage1Path = modelOld.Image1Path,
                ExistingImage2Path = modelOld.Image2Path,
                Cities             = sportObjectRepository.GetAllCities(),
                Sports             = sportObjectRepository.GetAllSports()
            };

            return(View(sportSchoolEditViewModel));
        }
예제 #6
0
 public SportSchool Add(SportSchool sportSchool)
 {
     context.SportSchools.Add(sportSchool);
     context.SaveChanges();
     return(sportSchool);
 }