예제 #1
0
        public async Task UpdateAsync(T objectModel, long userId, long houseId, long?targetObjectId)
        {
            var _object = context.Set <APPartment.Models.Object>().Where(x => x.ObjectId == objectModel.ObjectId).FirstOrDefault();

            _object.ModifiedById = userId;
            _object.ModifiedDate = DateTime.Now;

            context.Update(_object);
            await context.SaveChangesAsync();

            await this.SaveChangesAsync(true, houseId, userId, targetObjectId, _object.ObjectId, objectModel, ContextExecutionTypes.Update);
        }
예제 #2
0
        public async Task UpdateAsync(T objectModel, long userId, long houseId)
        {
            var _object = context.Set <Models.Object>().Where(x => x.ObjectId == objectModel.ObjectId).FirstOrDefault();

            historyContext.PopulateHistory((int)HistoryFunctionTypes.Update, objectModel, _object, userId, null, houseId);

            _object.ModifiedById = userId;
            _object.ModifiedDate = DateTime.Now;

            context.Update(_object);
            await context.SaveChangesAsync();

            context.Update(objectModel);
            await context.SaveChangesAsync();
        }
예제 #3
0
        public async Task <IActionResult> Edit(int id, [Bind("ServiceBookLogId,Date,Mileage,ServiceType,NextServiceDate,NextServiceMileage,CarWork,Details")] ServiceBookLog serviceBookLog)
        {
            var currentUserId = userManager.GetUserId(User);

            if (id != serviceBookLog.ServiceBookLogId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(serviceBookLog);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ServiceBookLogExists(serviceBookLog.ServiceBookLogId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                var carId = _context.ServiceBooks.Where(x => x.ServiceBookId == id).Select(x => x.CarId).First();
                id = carId;

                return(RedirectToAction("Details", "Cars", new { id }));
            }
            return(View(serviceBookLog));
        }
예제 #4
0
        private string SaveImageToDB(IFormFile file, long targetId, long userId, long houseId)
        {
            var image = new Image()
            {
                FileName    = file.FileName,
                FileSize    = humanSizeConverter.ConvertFileLength(file),
                CreatedDate = DateTime.Now,
                TargetId    = targetId,
            };

            context.Save(image, userId, houseId, targetId);

            image.Name = $"{image.Id}_{targetId}_{file.FileName}";

            _context.Update(image);
            _context.SaveChanges();

            return(image.Name);
        }
예제 #5
0
        public async Task <IActionResult> Edit(int id, Car car, IFormFile image)
        {
            var currentUserId = userManager.GetUserId(User);

            if (id != car.CarId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    if (image != null && image.Length > 0)
                    {
                        var fileName = string.Empty;

                        if (car.UserId != null)
                        {
                            fileName = $"{car.Brand}_{car.Model}_{car.UserId}.{image.FileName.Split('.').Last()}";
                        }
                        else
                        {
                            fileName = $"{car.Brand}_{car.Model}_null.{image.FileName.Split('.').Last()}";
                        }
                        var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\images\\carimages", fileName);
                        using (var fileSteam = new FileStream(filePath, FileMode.Create))
                        {
                            await image.CopyToAsync(fileSteam);
                        }
                        car.Image = fileName;
                    }
                    else
                    {
                        string currentUserIdString = string.Empty;

                        if (car.UserId == null)
                        {
                            currentUserIdString = "null";
                        }
                        else
                        {
                            currentUserIdString = car.UserId.ToString();
                        }

                        foreach (var carImage in _context.Cars.Select(x => x.Image))
                        {
                            if (carImage.Split('.').First().Split('_').Last() == currentUserIdString && carImage.Split('.').First().Split('_').First() == car.Brand &&
                                carImage.Split('.').First().Split('_')[1] == car.Model)
                            {
                                car.Image = carImage;
                            }
                        }
                    }

                    _context.Update(car);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CarExists(car.CarId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(car));
        }