示例#1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,SingleTourId,AllImageId,IsIntro,IsDeleted")] OneTourImage oneTourImage)
        {
            if (id != oneTourImage.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(oneTourImage);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!OneTourImageExists(oneTourImage.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["SingleTourId"] = new SelectList(_context.SingleTours, "Id", "Location", oneTourImage.SingleTourId);
            ViewData["AllImageId"]   = new SelectList(_context.Images, "Id", "Source", oneTourImage.AllImageId);
            return(View(oneTourImage));
        }
示例#2
0
        public async Task <IActionResult> Create(SingleTourViewModel model, List <IFormFile> sources)
        {
            ViewData["Guides"] = await userManager.GetUsersInRoleAsync("beledci");


            if (ModelState.IsValid)
            {
                if (model.Requirement == null || model.Guides.Count == 0)
                {
                    return(View());
                }

                if (model.singleTour.StartDate >= model.singleTour.EndDate)
                {
                    ModelState.AddModelError("timeCheck", "Seyahetin Bitme tarixi baslangis tarixinden once ola bilmez");
                    return(View());
                }
                _context.Add(model.singleTour);
                await _context.SaveChangesAsync();

                //Images of Place
                foreach (var item in sources)
                {
                    var res = await ImgUpload.SaveImage(Path.Combine(hostingEnvironment.WebRootPath, "img", "tours"), item);

                    var img = new AllImage();
                    img.Source = res;
                    _context.Images.Add(img);
                    await _context.SaveChangesAsync();

                    var tourImg = new OneTourImage();
                    tourImg.AllImageId   = img.Id;
                    tourImg.SingleTourId = model.singleTour.Id;
                    tourImg.IsIntro      = true;
                    _context.OneTourImages.Add(tourImg);
                }
                //Requirements
                ReqSeperator(model.singleTour, model.Requirement);
                //Guides for Tour
                foreach (var guide in model.Guides)
                {
                    var TourGuides = new GuideToTourPvt();
                    TourGuides.TourId  = model.singleTour.Id;
                    TourGuides.GuideId = guide;
                    _context.GuideToTourPvts.Add(TourGuides);
                }
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["TourTypeId"] = new SelectList(_context.TourTypes, "Id", "Name", model.singleTour.TourTypeId);

            return(View());
        }
示例#3
0
        public async Task <IActionResult> Create([Bind("Id,SingleTourId,AllImageId,IsIntro,IsDeleted")] OneTourImage oneTourImage)
        {
            if (ModelState.IsValid)
            {
                _context.Add(oneTourImage);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["SingleTourId"] = new SelectList(_context.SingleTours, "Id", "Location", oneTourImage.SingleTourId);
            ViewData["AllImageId"]   = new SelectList(_context.Images, "Id", "Source", oneTourImage.AllImageId);
            return(View(oneTourImage));
        }
示例#4
0
        public async Task <IActionResult> Edit(int id, TourViewModel model, string requirement, IFormFile[] sources)
        {
            if (id != model.Tour.Id)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(View(model.Tour));
            }


            model.Tour.Requirements = _context.Requirements.Where(p => p.SingleTourId == model.Tour.Id).ToList();
            if (sources.Length != 0)
            {
                for (int i = 0; i < sources.Length; i++)
                {
                    var res = await ImgUpload.SaveImage(Path.Combine(hostingEnvironment.WebRootPath, "img", "tours"), sources[i]);

                    var img = new AllImage();
                    img.Source = res;
                    _context.Images.Add(img);
                    await _context.SaveChangesAsync();

                    var tourImg = new OneTourImage();
                    tourImg.AllImageId   = img.Id;
                    tourImg.SingleTourId = model.Tour.Id;
                    tourImg.IsIntro      = true;
                    _context.OneTourImages.Add(tourImg);
                }
            }

            if (model.Photos != null)
            {
                foreach (var item in model.Photos)
                {
                    if (!item.Selected)
                    {
                        continue;
                    }
                    var delImg = ImgUpload.DeleteImage(Path.Combine(hostingEnvironment.WebRootPath, "img", "tours"), item.Source);
                    if (delImg)
                    {
                        _context.OneTourImages.Remove(_context.OneTourImages.FirstOrDefault(p => p.AllImageId == item.Id));
                        _context.Images.Remove(_context.Images.FirstOrDefault(p => p.Id == item.Id));
                    }
                }
            }

            try
            {
                _context.Update(model.Tour);
                foreach (var item in model.Requirements)
                {
                    if (!item.Selected)
                    {
                        continue;
                    }
                    _context.Requirements.Remove(_context.Requirements.First(p => p.Id == item.Id));
                }


                if (requirement != null)
                {
                    ReqSeperator(model.Tour, requirement);
                }
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SingleTourExists(model.Tour.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            ViewData["TourTypeId"] = new SelectList(_context.TourTypes, "Id", "Name", model.Tour.TourTypeId);
            return(RedirectToAction(nameof(Index)));
        }