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()));
            }
        }
示例#2
0
        public string GetImporterName(ExcelStructureTableNames table)
        {
            switch (table)
            {
            case ExcelStructureTableNames.Personnel:
                return(TableColumnsStructureFactory.PersonnelName);

                break;

            case ExcelStructureTableNames.BiometricRawData:
                return(TableColumnsStructureFactory.BiometricRawDataName);

                break;
            }

            throw new ExcelImporterException("یافت نشد");
        }