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 void ImportExcel() { var controller = Engine.Controllers.AbstractControllers .EngineUtility.InitializeMockControllerContext(new ImportController()) as ImportController; using (var db = new EngineContext()) { var model = db.ExcelStructreTables.FirstOrDefault(); if (model != null) { ViewResult vr = controller.ImportExcel(model.Id) as ViewResult; ExcelStructreTable table = vr.Model as ExcelStructreTable; Assert.NotNull(table); Assert.True(table.Nodes.Count > 0); } else { try { ViewResult vr = controller.ImportExcel(6516465) as ViewResult; Assert.True(false); } catch (Exception e) { Assert.True(true); } } } }
public void ImportExcelWrongName() { var _importController = Engine.Controllers.AbstractControllers .EngineUtility.InitializeMockControllerContext(new ImportController()) as ImportController; using (var db = new EngineContext()) { var model = db.ExcelStructreTables.FirstOrDefault(); if (model != null) { try { ViewResult vr = _importController.ImportExcel(model.Id) as ViewResult; ExcelStructreTable m = vr.Model as ExcelStructreTable; } catch (Exception e) { Assert.True(true); } try { ViewResult vr2 = _importController.ImportExcel(65156) as ViewResult; } catch (Exception e) { Assert.True(true); } try { ViewResult vr3 = _importController.ImportExcel(651) as ViewResult; } catch (Exception e) { Assert.True(true); } } } }
public void SaveTest() { var controller = Engine.Controllers.AbstractControllers .EngineUtility.InitializeMockControllerContext(new ExcelStructuresController()) as ExcelStructuresController; controller.MockAreaName = "absence"; var str = new ExcelStructreTable(); str.Table = ExcelStructureTableNames.Personnel; str.Name = "test"; str.Nodes.Add(new ExcelStructreTableNode { ColumnName = "Id", NumberInExcel = 0 }); str.Nodes.Add(new ExcelStructreTableNode { ColumnName = "Name", NumberInExcel = 1 }); controller.Save(str); Assert.True(str.Id != 0); Assert.True(!str.Nodes.Any(n => n.Id == 0)); str.Nodes.First().IsRemoved = true; controller.Save(str); using (var db = new EngineContext()) { var rec = db.ExcelStructreTables.Find(str.Id); Assert.True(rec.Nodes.Count == 1); } controller.Delete(str.Id); using (var db = new EngineContext()) { Assert.Null(db.ExcelStructreTables.Find(str.Id)); } try { str.Nodes.Add(new ExcelStructreTableNode { ColumnName = "Name", NumberInExcel = 0 }); str.Nodes.Add(new ExcelStructreTableNode { ColumnName = "Name", NumberInExcel = 0 }); controller.Save(str); // دو ستون با کد یکسان Assert.True(false); } catch (Exception e) { Assert.True(true); } try { str = new ExcelStructreTable(); str.Table = ExcelStructureTableNames.Personnel; str.Name = "test"; str.Nodes.Add(new ExcelStructreTableNode { ColumnName = "Name", NumberInExcel = 0 }); str.Nodes.Add(new ExcelStructreTableNode { ColumnName = "Name", NumberInExcel = 1 }); str.Nodes.Add(new ExcelStructreTableNode { ColumnName = "Name", NumberInExcel = 1, IsRemoved = true }); controller.Save(str); // دو ستون با نام و removed یکسان Assert.True(false); } catch (Exception e) { Assert.True(true); } str = new ExcelStructreTable(); str.Table = ExcelStructureTableNames.Personnel; str.Name = "test"; str.Nodes.Add(new ExcelStructreTableNode { ColumnName = "Id", NumberInExcel = 0 }); str.Nodes.Add(new ExcelStructreTableNode { ColumnName = "Name", NumberInExcel = 1 }); str.Nodes.Add(new ExcelStructreTableNode { ColumnName = "LastName", NumberInExcel = 2, }); var lenght = str.Nodes.Count; controller.Save(str); str.Nodes.First().IsRemoved = true; str.Nodes.Add(new ExcelStructreTableNode { ColumnName = "LastName", NumberInExcel = 1, }); controller.Save(str); using (var db = new EngineContext()) { var rec = db.ExcelStructreTables.Find(str.Id); Assert.True(lenght == rec.Nodes.Count); } }