public string Import(HttpPostedFileBase upload, string imagePath)
        {
            _logger.Info(" upload.FileName = " + upload.FileName);

            var ext = System.IO.Path.GetExtension(upload.FileName);

            if (_fileContext.IsAllowedExtension(ext))
            {
                _logger.Info(" import started...");
                List <Drink> drinks = null;
                try
                {
                    drinks = _fileContext.Import(upload.InputStream);
                }
                catch (Exception e)
                {
                    _logger.Error(" Неправильная структура файла!");
                    ExceptionWriter.WriteErrorDetailed(_logger, e);
                }

                _logger.Info(" import ended...");

                if (drinks != null)
                {
                    foreach (var drink in drinks)
                    {
                        //Если по каким-то причинам при импорте не нашлась картинка по указанному пути берем дефолтную
                        string path = GetPathDefaultImg(imagePath);
                        try
                        {
                            //Сохраняем файл в хранилище
                            path = SaveFile(drink.ImgPath, imagePath);
                        }
                        catch (Exception e)
                        {
                            _logger.Error(" Указан неверный путь к файлу!");
                            ExceptionWriter.WriteErrorDetailed(_logger, e);
                        }

                        DrinkEntity drinkEntity = new DrinkEntity
                        {
                            Id        = Guid.NewGuid(),
                            ImagePath = path,
                            Name      = drink.Name,
                            Count     = drink.Count,
                            CostPrice = drink.Cost
                        };

                        _printer.DrinkInfo(drinkEntity);
                        _drinkRepository.Add(drinkEntity);
                    }

                    _logger.Info(" before _db.SaveChanges()...");
                    _drinkRepository.SaveChanges();
                }
                else
                {
                    return(" Пустые данные!");
                }
            }
            else
            {
                return(" Файл имеет неверный формат!");
            }

            return("");
        }
 protected override void OnException(ExceptionContext filterContext)
 {
     _logger.Error("");
     _logger.Error(" ERROR in " + filterContext.Controller);
     ExceptionWriter.WriteErrorDetailed(_logger, filterContext.Exception);
 }
Exemplo n.º 3
0
 protected void SaveError(Exception ex)
 {
     _logger.Error("");
     ExceptionWriter.WriteErrorDetailed(_logger, ex);
 }