예제 #1
0
        private void ImportExcelMainFunction(IExcelImporter impoerter, ExcelStructreTable tbl, bool Confirmed)
        {
            if (impoerter == null)
            {
                throw new Exception("impoerter ارسالی نال است ");
            }

            if (tbl == null)
            {
                throw new Exception("tbl ارسالی نال است ");
            }
            if (Request.Files.Count == 0)
            {
                throw new Exception("هیچ فایلی ارسال نشده است ");
            }

            tbl.Confirmed = Confirmed;

            var file = Request.Files[0];

            if (file == null)
            {
                throw new Exception("فایل ارسال شده نال است ");
            }

            Stream stream = file.InputStream;

            impoerter.ImportExcel(stream, tbl);

            impoerter.ValidateModels();
        }
        public ActionResult Create(long?Table, long?id)
        {
            var postedModel =
                ViewData[GlobalNames.PostedModel] as Engine.Areas.ImportExport.ServiceTests.ExcelStructreTable;

            if (postedModel != null)
            {
                Table = (long)postedModel.Table;
            }

            if (id.HasValue)
            {
                using (var db = new EngineContext())
                {
                    var table = db.ExcelStructreTables.Include("Nodes").FirstOrDefault(d => d.Id == id);
                    if (table == null)
                    {
                        throw new Exception("ساختار جدول یافت نشد");
                    }
                    return(View("Create", table));
                }
            }

            try
            {
                if (Table.HasValue)
                {
                    ExcelStructureTableNames type = 0;
                    try
                    {
                        type = (ExcelStructureTableNames)Table.Value;
                    }
                    catch (Exception e)
                    {
                        throw new Exception("شماره نوع جدول اشتباه است");
                    }

                    var            factory   = new TableColumnsStructureFactory();
                    IExcelImporter impoerter = factory.GetImporter(factory.GetImporterName(type));

                    ExcelStructreTable tbl = impoerter.GetTableTemplate();
                    return(View("Create", tbl));
                }
                else
                {
                    return(View("Create", new ExcelStructreTable()));
                }
            }
            catch (Exception e)
            {
                ViewData[GlobalNames.MVCResponseMessage] = new CustomResult
                {
                    Message = e.Message,
                    Status  = CustomResultType.fail
                };

                return(View("Create", new ExcelStructreTable()));
            }
        }
 public ImportPropertiesFromExcelTypeAHelper(IExcelImporter excelImporter, ILocalizerService localizerService,
                                             Func <ComplexPropertyEditorViewModel> complexPropertyEditorViewModelFactory, Func <IFormatterParametersViewModel> formatterParametersViewModelFactory, Func <PropertyEditorViewModel> propertyViewModelFactory)
 {
     _excelImporter    = excelImporter;
     _localizerService = localizerService;
     _formatterParametersViewModelFactory = formatterParametersViewModelFactory;
     _propertyViewModelFactory            = propertyViewModelFactory;
 }
예제 #4
0
        public void TestExcelImporter()
        {
            var kernel = new StandardKernel(new ExcelImporterModule());
            ExcelImporterService service = kernel.Get <ExcelImporterService>();

            IExcelImporter importer = service.Importer;

            Assert.IsNotNull(importer["基站级"]);
            Assert.IsNotNull(importer["小区级"]);
            Assert.AreEqual(importer["基站级"].TableName, "基站级");
        }
예제 #5
0
 public ImportMatchesCommand(ISqlServerDataProvider dataProvider,
                             IModelsFactory modelsFactory,
                             IExcelImporter excelImporter,
                             IWriter writer,
                             ILogger logger)
 {
     this.dataProvider  = dataProvider;
     this.modelsFactory = modelsFactory;
     this.excelImporter = excelImporter;
     this.writer        = writer;
     this.logger        = logger;
 }
 public ImportSampleDataCommand(ISqlServerDataProvider dataProvider,
                                IModelsFactory modelsFactory,
                                IExcelImporter excelImporter,
                                IWriter writer,
                                ILogger logger,
                                ICommandFactory commandsFactory)
 {
     this.dataProvider    = dataProvider;
     this.modelsFactory   = modelsFactory;
     this.excelImporter   = excelImporter;
     this.writer          = writer;
     this.logger          = logger;
     this.commandsFactory = commandsFactory;
 }
        public MainWindowVM(
            IOpenFileService openFileService,
            ISaveFileService saveFileService,
            IExcelImporter excelImporter,
            IColumnReducer columnReducer,
            IDynamicListGenerator dynamicListGenerator)
        {
            _openFileService      = openFileService;
            _saveFileService      = saveFileService;
            _excelImporter        = excelImporter;
            _columnReducer        = columnReducer;
            _dynamicListGenerator = dynamicListGenerator;

            // TODO: Unomment in release!
            OpenExcelSheet("data.xlsx");
        }
        public MainWindowVM(
            IOpenFileService openFileService,
            ISaveFileService saveFileService,
            IExcelImporter excelImporter, 
            IColumnReducer columnReducer,
            IDynamicListGenerator dynamicListGenerator)
        {
            _openFileService = openFileService;
            _saveFileService = saveFileService;
            _excelImporter = excelImporter;
            _columnReducer = columnReducer;
            _dynamicListGenerator = dynamicListGenerator;

            // TODO: Unomment in release!
            OpenExcelSheet("data.xlsx");
        }
예제 #9
0
        public void Open(Stream streamToProcess, ExcelFileType fileType, bool hasHeaderRow)
        {
            if (streamToProcess == null) throw new ArgumentNullException("streamToProcess");

            this.hasHeaderRow = hasHeaderRow;

            if (fileType == ExcelFileType.XLS)
            {
                ExcelImporter = new ExcelXlsImporter();
            }
            else
            {
                ExcelImporter = new ExcelXlsxImporter();
            }

            ExcelImporter.Open(streamToProcess);
        }
예제 #10
0
        private ActionResult ImportExcelHelper(long id,
                                               bool confirmed, bool isSave,
                                               string msg, string viewName)
        {
            using (var db = new EngineContext())
            {
                var model = db.ExcelStructreTables.Find(id);
                if (model == null)
                {
                    EBaseAppController <ExcelStructreTable, CommonParameter>
                    .GenErrorMessage(ViewData, "ساختار اکسل یافت نشد");

                    return(View("ImportExcel"));
                }

                if (!model.Table.HasValue)
                {
                    EBaseAppController <ExcelStructreTable, CommonParameter>
                    .GenErrorMessage(ViewData, "نوع جدولی یافت نشد");

                    return(View("ImportExcel"));
                }

                var            table     = new TableColumnsStructureFactory();
                IExcelImporter impoerter = table.GetImporter(table
                                                             .GetImporterName(model.Table.Value));

                ImportExcelMainFunction(impoerter, model, confirmed);
                var models = impoerter.GetModels();

                ViewData["ModelsName"] = models;


                if (isSave)
                {
                    impoerter.Save();
                }

                ViewData[Success] = msg;
                return(View(viewName, model));
            }
        }
예제 #11
0
        public void Open(Stream streamToProcess, ExcelFileType fileType, bool hasHeaderRow)
        {
            if (streamToProcess == null)
            {
                throw new ArgumentNullException("streamToProcess");
            }

            this.hasHeaderRow = hasHeaderRow;

            if (fileType == ExcelFileType.XLS)
            {
                ExcelImporter = new ExcelXlsImporter();
            }
            else
            {
                ExcelImporter = new ExcelXlsxImporter();
            }

            ExcelImporter.Open(streamToProcess);
        }
예제 #12
0
 public CommandFactory(IReportGenerator reporter,
                       ILogger logger,
                       IReader reader,
                       IWriter writer,
                       IPostgresDataProvider pgDp,
                       ISqlServerDataProvider sqlDp,
                       ISqliteDataProvider sqliteDp,
                       IModelsFactory modelsFactory,
                       ITicketModelsFactory ticketFactory,
                       IExcelImporter excelImporter)
 {
     this.pgDp          = pgDp;
     this.sqlDp         = sqlDp;
     this.sqliteDp      = sqliteDp;
     this.reader        = reader;
     this.writer        = writer;
     this.logger        = logger;
     this.reporter      = reporter;
     this.modelsFactory = modelsFactory;
     this.ticketFactory = ticketFactory;
     this.excelImporter = excelImporter;
 }
예제 #13
0
 public ImporterTest(ITestOutputHelper output)
 {
     Output    = output;
     _importer = new DefaultExcelImporter();
 }
예제 #14
0
 public void SetUp()
 {
     _excelCreator      = new ExcelCreator();
     _fileStreamWrapper = new FileStreamWrapper();
     _excelImporter     = new ExcelImporter <TestExcelObject>(_excelCreator, _fileStreamWrapper);
 }
예제 #15
0
 public ExcelImporterService(IExcelImporter importer)
 {
     _importer = importer;
 }
예제 #16
0
 public ExcelOperator(IExcelImporter excelImporter, IExcelExporter excelExporter)
 {
     ExcelImporter = excelImporter;
     ExcelExporter = excelExporter;
 }
예제 #17
0
 public ImportExcelDataCommand(IExcelImporter excelImporter)
 {
     this.excelImporter = excelImporter;
 }