Example #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();
        }
Example #2
0
        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);
                    }
                }
            }
        }
Example #3
0
        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);
            }
        }