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)); }
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)); }
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)); }