Example #1
0
        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()));
        }
Example #2
0
        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)));
        }
Example #3
0
        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()));
        }
Example #4
0
        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);
                }
            }
        }