public AutoGarage getUserGarage() { _context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; if (_context.Garage.Find(User.Claims.FirstOrDefault().Value.ToString()) == null) { AutoGarage newGarage = new AutoGarage { AUTO = new List <Auto>(), Compare = new List <Auto>() }; string xmlData = ConvertObjectToXMLString(newGarage); var userGarage = new Garage { UserOid = User.Claims.FirstOrDefault().Value.ToString(), UserGarage = xmlData }; _context.Add(userGarage); _context.SaveChanges(); } var garage = _context.Garage.AsNoTracking().SingleOrDefault(m => m.UserOid == User.Claims.FirstOrDefault().Value.ToString()); return(ConvertXmlStringtoObject <AutoGarage>(garage.UserGarage.ToString())); }
public IActionResult addToGarage(int id, string type) { _context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; if (alreadyExist(id, type) == -1) { AutoGarage userGarage = getUserGarage(); if (type == "garage") { userGarage.AUTO.Add(_context.Auto.Find(id)); } if (type == "compare") { userGarage.Compare.Add(_context.Auto.Find(id)); } string xmlData = ConvertObjectToXMLString(userGarage); var modGarage = new Garage { UserOid = User.Claims.FirstOrDefault().Value.ToString(), UserGarage = xmlData }; _context.Update(modGarage); _context.SaveChanges(); if (_cache.Contains(User.Claims.FirstOrDefault().Value.ToString())) { var cacheItemPolicy = new CacheItemPolicy() { AbsoluteExpiration = DateTime.Now.AddDays(1) }; _cache.Set(User.Claims.FirstOrDefault().Value.ToString(), userGarage, cacheItemPolicy); } } return(RedirectToAction(nameof(Index))); }
public IActionResult PostComment(string comment = "", string vin = "") { ViewBag.Comment = comment; Comment newPost = new Comment { UserOID = User.Claims.FirstOrDefault().Value.ToString(), DisplayName = User.Claims.FirstOrDefault(c => c.Type.Equals("name")).Value.Split(" ")[0], UserComment = comment, timeStamp = DateTime.Now.ToString("d MMM, yyy") + " at " + DateTime.Now.ToString("HH:mm tt") }; if (getAutoComments(vin) == null) { List <Comment> AutoComments = new List <Comment>(); AutoComments.Add(newPost); string xmlData = ConvertObjectToXMLString(AutoComments); var getAuto = _context.Auto.Where(a => a.Vin.Equals(vin)).FirstOrDefault(); getAuto.Comments = xmlData; _context.SaveChanges(); } else { List <Comment> AutoComments = getAutoComments(vin); AutoComments.Add(newPost); string xmlData = ConvertObjectToXMLString(AutoComments); var getAuto = _context.Auto.Where(a => a.Vin.Equals(vin)).FirstOrDefault(); getAuto.Comments = xmlData; _context.SaveChanges(); } return(Redirect(Request.Headers["Referer"].ToString())); }
public async Task AddCSV(List <IFormFile> csvFiles) { _context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; _context.Database.ExecuteSqlCommand("TRUNCATE table TEMP_AUTO"); foreach (var file in csvFiles) { if (file.Length > 0) { var reader = new StreamReader(file.OpenReadStream()); var csv = new CsvReader(reader); csv.Configuration.HasHeaderRecord = false; csv.Configuration.Delimiter = ","; csv.Configuration.MissingFieldFound = null; while (csv.Read()) { TempAuto record = csv.GetRecord <TempAuto>(); _context.Add(record); _context.SaveChanges(); } _context.Database.ExecuteSqlCommand("LoadData"); await _service.UploadFileAsync(file, importcsv); await _serviceBlob.UploadFile(file, csvContainer); } } }