Пример #1
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var brokers = await _context.Brokers.FindAsync(id);

            if (brokers == null)
            {
                return(NotFound());
            }

            BrokerCreateEditModel newBroker = new BrokerCreateEditModel
            {
                Id           = brokers.Id,
                Name         = brokers.Name,
                Surname      = brokers.Surname,
                BirthDate    = brokers.BirthDate,
                PhoneNum     = brokers.PhoneNum,
                Adress       = brokers.Adress,
                GeoLatitude  = brokers.GeoLatitude,
                GeoLongitude = brokers.GeoLongitude,
                Passport     = brokers.Passport,
                Email        = brokers.Email
            };

            ViewBag.Path = brokers.ImagePath;
            return(View(newBroker));
        }
Пример #2
0
        public async Task <IActionResult> Create([Bind("Id,Name,Surname,BirthDate,PhoneNum,Adress,Passport,Email,Photo")] BrokerCreateEditModel brokerModel)
        {
            if (ModelState.IsValid)
            {
                string uniqueFileName = null;
                if (brokerModel.Photo != null)
                {
                    string uploadFolder = Path.Combine(hostingEnvironment.WebRootPath, "brokerImages");
                    uniqueFileName = Guid.NewGuid().ToString() + "_" + brokerModel.Photo.FileName;
                    string filePath   = Path.Combine(uploadFolder, uniqueFileName);
                    var    fileStream = new FileStream(filePath, FileMode.Create);
                    brokerModel.Photo.CopyTo(fileStream);
                    fileStream.Close();
                }
                if (brokerModel.Adress == null)
                {
                    brokerModel.Adress = "вул. Матеюка 20";
                }
                var client        = new MapsAPIClient("AIzaSyBfckBchOpn-lM4oJ9V9nBDBZmmlousIRQ");
                var geocodeResult = client.Geocoding.Geocode(brokerModel.Adress).Results.FirstOrDefault().Geometry.Location;

                Brokers newBroker = new Brokers
                {
                    Name         = brokerModel.Name,
                    Surname      = brokerModel.Surname,
                    BirthDate    = brokerModel.BirthDate,
                    PhoneNum     = brokerModel.PhoneNum,
                    Adress       = brokerModel.Adress,
                    GeoLatitude  = (Double)geocodeResult.Latitude,
                    GeoLongitude = (Double)geocodeResult.Longitude,
                    Passport     = brokerModel.Passport,
                    Email        = brokerModel.Email,
                    ImagePath    = uniqueFileName
                };
                _context.Add(newBroker);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(brokerModel));
        }
Пример #3
0
        public async Task <IActionResult> Edit(int id, [Bind("Name,Surname,BirthDate,PhoneNum,Passport,Adress,Email,Password,Photo, ImagePath")] BrokerCreateEditModel brokerModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var findbroker = await _context.Brokers.FindAsync(id);

                    string uniqueFileName = findbroker.ImagePath;
                    if (brokerModel.Photo != null)
                    {
                        string uploadFolder = Path.Combine(hostingEnvironment.WebRootPath, "brokerImages");
                        uniqueFileName = Guid.NewGuid().ToString() + "_" + brokerModel.Photo.FileName;
                        string filePath   = Path.Combine(uploadFolder, uniqueFileName);
                        var    fileStream = new FileStream(filePath, FileMode.Create);
                        brokerModel.Photo.CopyTo(fileStream);
                        fileStream.Close();
                    }

                    findbroker.Name      = brokerModel.Name;
                    findbroker.Surname   = brokerModel.Surname;
                    findbroker.BirthDate = brokerModel.BirthDate;
                    findbroker.PhoneNum  = brokerModel.PhoneNum;
                    findbroker.Adress    = brokerModel.Adress;

                    /* if (brokerModel.Adress == "вул. Матеюка 20")
                     * {
                     *   findbroker.GeoLatitude = brokerModel.GeoLatitude;
                     *   findbroker.GeoLongitude = brokerModel.GeoLongitude;
                     * }
                     * else
                     * {*/
                    var client        = new MapsAPIClient("AIzaSyBfckBchOpn-lM4oJ9V9nBDBZmmlousIRQ");
                    var geocodeResult = client.Geocoding.Geocode(brokerModel.Adress).Results.FirstOrDefault().Geometry.Location;
                    findbroker.GeoLatitude  = (Double)geocodeResult.Latitude;
                    findbroker.GeoLongitude = (Double)geocodeResult.Longitude;
                    //}
                    findbroker.Passport = brokerModel.Passport;
                    findbroker.Email    = brokerModel.Email;

                    if (uniqueFileName != null)
                    {
                        string   FileName = findbroker.ImagePath;
                        string   ImPath   = Path.Combine(hostingEnvironment.WebRootPath, "brokerImages") + "\\" + FileName;
                        FileInfo file     = new FileInfo(ImPath);
                        if (file.Exists)
                        {
                            file.Delete();
                        }
                        findbroker.ImagePath = uniqueFileName;
                    }

                    _context.Update(findbroker);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!BrokersExists(id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            var broker = _context.Brokers.Find(id);

            return(View(broker));
        }