Esempio n. 1
0
        public void ImportVisitLogSource_WithCsvText_ReturnsVisitLogEntities()
        {
            //set up repo
            var visitLogEntities        = new List <VisitLog>();
            var dataStoreRepositoryMock = new Mock <IDataStoreRepository>();

            dataStoreRepositoryMock.Setup(x => x.AddEntity(It.IsAny <VisitLog>())).Callback <VisitLog>(l => visitLogEntities.Add(l));
            dataStoreRepositoryMock.Setup(x => x.SaveChanges()).Returns(() => visitLogEntities.Count);
            var exclusionEntryRepositoryMock = new Mock <IExclusionEntryRepository>();
            var visitLogService = new VisitLogService(exclusionEntryRepositoryMock.Object, dataStoreRepositoryMock.Object);

            //simulate csv data input
            var csvDataReader = new StringReader(@"date|website|visits
2016-01-06|www.bing.com|14065457
2016-01-06|www.ebay.com.au|19831166
2016-01-06|www.facebook.com|104346720
2016-01-06|mail.live.com|21536612
2016-01-06|www.wikipedia.org|13246531
2016-01-27|www.ebay.com.au|23154653
2016-01-06|au.yahoo.com|11492756
2016-01-06|www.google.com|26165099");

            //parse data and save
            var count = visitLogService.ImportVisitLogSource(csvDataReader);

            Assert.AreEqual(visitLogEntities.Count, count);
            Assert.AreEqual(8, visitLogEntities.Count);
            Assert.AreEqual(new DateTime(2016, 1, 6), visitLogEntities[0].date);
            Assert.AreEqual("www.bing.com", visitLogEntities[0].website);
            Assert.AreEqual(14065457, visitLogEntities[0].visits);
            Assert.AreEqual(new DateTime(2016, 1, 27), visitLogEntities[5].date);
            Assert.AreEqual("www.ebay.com.au", visitLogEntities[5].website);
            Assert.AreEqual(23154653, visitLogEntities[5].visits);
        }
Esempio n. 2
0
        public void ResetVisitLog_NoParam_InvokesTruncateOnce()
        {
            var dataStoreRepositoryMock      = new Mock <IDataStoreRepository>();
            var exclusionEntryRepositoryMock = new Mock <IExclusionEntryRepository>();
            var visitLogService = new VisitLogService(exclusionEntryRepositoryMock.Object, dataStoreRepositoryMock.Object);

            visitLogService.ResetVisitLog();

            dataStoreRepositoryMock.Verify(x => x.TruncateStore <VisitLog>(), Times.Once);
        }
Esempio n. 3
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (_currentVisitor == null)
            {
                VisitorService  vs  = new VisitorService();
                VisitLogService vls = new VisitLogService();

                if (txtName.Text.Trim().Length > 0 && txtMobile.Text.Trim().Length > 0 && txtIdentity.Text.Trim().Length > 0)
                {
                    _newVisitor = vs.AddVisitor(txtName.Text.Trim(), txtMobile.Text.Trim(), txtIdentity.Text.Trim(), txtCompany.Text.Trim(), Robot.GetLatestTemplate());
                    if (txtPurpose.Text.Trim().Length > 0 && txtRecepter.Text.Trim().Length > 0 && _newVisitor != null)
                    {
                        if (validateTime(txtTime.Text.Trim()))
                        {
                            vls.AddLog(txtTime.Text.Trim(), txtPurpose.Text.Trim(), txtRecepter.Text.Trim(), txtRemark.Text.Trim(), _newVisitor.Id);

                            this.Close();
                        }
                        else
                        {
                            MessageBox.Show("访问时间格式不正确,请重新填写!", "提示");
                        }
                    }
                    else
                    {
                        MessageBox.Show("访客信息不完整,请补充完整!", "提示");
                    }
                }
                else
                {
                    MessageBox.Show("身份信息不完整,请补充完整!", "提示");
                }
            }
            else
            {
                VisitLogService vls = new VisitLogService();
                if (txtPurpose.Text.Trim().Length > 0 && txtRecepter.Text.Trim().Length > 0)
                {
                    if (validateTime(txtTime.Text.Trim()))
                    {
                        vls.AddLog(txtTime.Text.Trim(), txtPurpose.Text.Trim(), txtRecepter.Text.Trim(), txtRemark.Text.Trim(), _currentVisitor.Id);

                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("访问时间格式不正确,请重新填写!", "提示");
                    }
                }
                else
                {
                    MessageBox.Show("访客信息不完整,请补充完整!", "提示");
                }
            }
        }
Esempio n. 4
0
        private void btnCheck_Click(object sender, EventArgs e)
        {
            if (validateTime(txtLeaveTime.Text.Trim()))
            {
                VisitLogService service = new VisitLogService();
                service.UpdateLeaveTime(_log.Id, txtLeaveTime.Text.Trim());

                this.DialogResult = DialogResult.OK;
                this.Close();
            }
            else
            {
                MessageBox.Show("您输入的时间格式不正确,请重新输入!", "提示");
            }
        }
Esempio n. 5
0
        public void ImportVisitLogSource_WithCsvWrongDataFormat_ThrowsException()
        {
            //set up repo
            var visitLogEntities        = new List <VisitLog>();
            var dataStoreRepositoryMock = new Mock <IDataStoreRepository>();

            dataStoreRepositoryMock.Setup(x => x.AddEntity(It.IsAny <VisitLog>())).Callback <VisitLog>(l => visitLogEntities.Add(l));
            var exclusionEntryRepositoryMock = new Mock <IExclusionEntryRepository>();
            var visitLogService = new VisitLogService(exclusionEntryRepositoryMock.Object, dataStoreRepositoryMock.Object);

            //simulate csv data input
            var csvDataReader = new StringReader(@"date|website|visits
2016-01-06|www.bing.com|1406aa5457");

            //parse data and save
            var count = visitLogService.ImportVisitLogSource(csvDataReader);
        }