public ActionResult Create(CityAddEditVM cityAddEdit,
                                   string [] cityImages)
        {
            try
            {
                var entity = _mapper.Map <City>(cityAddEdit);
                entity.Image = "no image";
                _context.Cities.Add(entity);
                _context.SaveChanges();
                foreach (var image in cityImages)
                {
                    string name = Path.GetRandomFileName() + ".jpg";
                    var    bmp  = image.Split(',')[1].ConvertBase64ToBitmap();
                    var    path = Path.Combine(Directory.GetCurrentDirectory(),
                                               "Uploads", name);
                    bmp.Save(path, ImageFormat.Jpeg);
                    CityImage cityImage = new CityImage
                    {
                        CityId = entity.Id,
                        Name   = name
                    };
                    _context.CityImages.Add(cityImage);
                    _context.SaveChanges();
                }
                //string extension;
                //extension = Path.GetExtension(file.FileName);
                ////string f
                //string name = Path.GetRandomFileName()+ extension;
                //var path = Path.Combine(
                // Directory.GetCurrentDirectory(), "Uploads", name);
                //using (var stream = new FileStream(path, FileMode.Create))
                //{
                //    await file.CopyToAsync(stream);
                //}

                //var entity = _mapper.Map<City>(cityAddEdit);
                //entity.Image = name;
                //_context.Cities.Add(entity);
                //_context.SaveChanges();

                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View(cityAddEdit));
            }
        }
        public void SaveImage(CityImageDto dto)
        {
            var city = this.context.Cities.FirstOrDefault(c => c.Id == dto.CityId);

            var file = HttpContext.Request.Form.Files.GetFile("image");

            var cityImage = new CityImage {
                Name = dto.FileName, ContentType = file.ContentType
            };

            using (var memoryStream = new MemoryStream())
            {
                file.CopyTo(memoryStream);
                cityImage.Image = memoryStream.ToArray();
            }

            city.Image = cityImage;

            context.SaveChanges();
        }
        public async Task<ActionResult> Create(CityAddEditVM cityAddEdit, 
            string [] cityImages)
        {
            try
            {
                //string extension;
                //extension = Path.GetExtension(file.FileName);
                ////string f
                //string name = Path.GetRandomFileName() + extension;
                //var path = Path.Combine(
                // Directory.GetCurrentDirectory(), "Uploads", name);
                //using (var stream = new FileStream(path, FileMode.Create))
                //{
                //    await file.CopyToAsync(stream);
                //}

                //var entity = _mapper.Map<City>(cityAddEdit);
                //entity.Image = name;
                //_context.Cities.Add(entity);
                //_context.SaveChanges();

                //return RedirectToAction(nameof(Index));
                //List<CityImage> images = new List<CityImage>();

                var model = new City()
                {
                    Name = cityAddEdit.Name,
                    Lat = cityAddEdit.Lat,
                    Lng = cityAddEdit.Lng,
                    Image = "image"
                };

                _context.Cities.Add(model);
                _context.SaveChanges();
                var entity = _mapper.Map<City>(cityAddEdit);
                foreach (var item in cityImages)
                {
                    Image file = Base64ToImage(item);
                    string extension = ".jpg";
                    string name = Path.GetRandomFileName() + extension;
                    var path = Path.Combine(
                    Directory.GetCurrentDirectory(), "Uploads", name);
                   

                    file.Save(path, ImageFormat.Jpeg);

                    var image = new CityImage();
                    image.Name = name;
                    image.CityId = model.Id;
                    _context.CityImages.Add(image);
                    _context.SaveChanges();
                }
                

                _context.Cities.Add(entity);
                _context.SaveChanges();

                return RedirectToAction(nameof(Index));

            }
            catch(Exception ex)
            {
                return View(cityAddEdit);
            }
        }