public ActionResult DoUpload(IFormFile file)
 {
     using (var stream = file.OpenReadStream())
     {
         var xs     = new XmlSerializer(typeof(Places));
         var places = (Places)xs.Deserialize(stream);
         using (var db = new DoubleGisGidDbContext())
         {
             foreach (var place in places.ListOfPlaces)
             {
                 var dbp = new DbPlace(place);
                 dbp.PhoneNumber = new List <string>();
                 foreach (var phn in place.PhoneNumber)
                 {
                     if (place.PhoneNumber.Count == 0)
                     {
                         dbp.PhoneNumber.Add("Нет номера");
                     }
                     else
                     {
                         dbp.PhoneNumber.Add(phn);
                     }
                 }
                 dbp.SocialContacts = new List <string>();
                 foreach (var sc in place.SocialContacts)
                 {
                     if (place.SocialContacts.Count == 0)
                     {
                         dbp.SocialContacts.Add("Нет контактов");
                     }
                     else
                     {
                         dbp.SocialContacts.Add(sc);
                     }
                 }
                 dbp.DbInformation = new DbInformation(place.Information);
                 db.Places.Add(dbp);
             }
             db.SaveChanges();
         }
         return(View(places));
     }
 }
示例#2
0
        public async Task CreateAsync(Place place)
        {
            await _context.AddAsync(DbPlace.Create(place));

            await _context.SaveChangesAsync();
        }