Exemplo n.º 1
0
        public void EmptyColumnBandViewSerializeTest()
        {
            var    view    = new AvrView(-1, "layoutName", -1);
            string viewXml = AvrViewSerializer.Serialize(view);

            Assert.IsNotNull(viewXml);

            var    bandSerializer = new EidssSerializer <AvrViewBand>();
            var    band           = new AvrViewBand();
            string bandXml        = bandSerializer.Serialize(band);

            Assert.IsNotNull(bandXml);

            var colSerializer = new EidssSerializer <AvrViewColumn>();
            var column        = new AvrViewColumn();

            column.FieldType = typeof(string);
            string columnXml = colSerializer.Serialize(column);

            Assert.IsNotNull(columnXml);

            AvrViewColumn newColumn = colSerializer.Deserialize(columnXml);

            Assert.AreEqual(column.FieldType, newColumn.FieldType);
        }
Exemplo n.º 2
0
        public void FullViewSerializeTest()
        {
            AvrView avrView = AvrViewSerializer.Deserialize(SerializedViewStub.ViewXml);

            Assert.IsNotNull(avrView);

            string viewXmlNew = AvrViewSerializer.Serialize(avrView);

            Assert.AreEqual(SerializedViewStub.ViewXml, viewXmlNew);

            DataTable dataTable = DataTableSerializer.Deserialize(SerializedViewStub.DataXml);

            Assert.IsNotNull(dataTable);

            string dataXmlNew = DataTableSerializer.Serialize(dataTable);

            Assert.AreEqual(SerializedViewStub.DataXml, dataXmlNew);
        }
Exemplo n.º 3
0
        public void ViewReceiverTest()
        {
            var facadeStub = new AVRFacadeStub(123);
            var receiver   = new AvrCacheReceiver(facadeStub);

            AvrPivotViewModel model;

            using (new StopwathTransaction("+++GetCachedView+++"))
            {
                model = receiver.GetCachedView("xx", -1, "en");
            }
            Assert.IsNotNull(model);
            Assert.IsNotNull(model.ViewHeader);
            Assert.IsNotNull(model.ViewData);

            string viewXmlNew = AvrViewSerializer.Serialize(model.ViewHeader);

            Assert.AreEqual(SerializedViewStub.ViewXml, viewXmlNew);

            string dataXmlNew = DataTableSerializer.Serialize(model.ViewData);

            Assert.AreEqual(SerializedViewStub.DataXml, dataXmlNew);
        }
Exemplo n.º 4
0
        public void GetCachedViewTest()
        {
            BaseReportTests.InitDBAndLogin();

            var  facade   = new AVRFacade(m_Container);
            long layoutId = LayoutFormSave();

            List <long> queryIdList = facade.GetQueryIdList();

            Assert.IsNotNull(queryIdList);
            Assert.IsTrue(queryIdList.Count > 0);

            List <long> layoutIdList = facade.GetLayoutIdList();

            Assert.IsNotNull(layoutIdList);
            Assert.IsTrue(layoutIdList.Count > 0);

            ViewDTO model = facade.GetCachedView("xxx", layoutId, "en");

            Assert.IsNotNull(model);
            Assert.IsNotNull(model.BinaryViewHeader);
            Assert.IsNotNull(model.Header);
            Assert.IsNotNull(model.BodyPackets);

            byte[]  unzippedViewStructure = BinaryCompressor.Unzip(model.BinaryViewHeader);
            string  xmlViewStructure      = BinarySerializer.DeserializeToString(unzippedViewStructure);
            AvrView view       = AvrViewSerializer.Deserialize(xmlViewStructure);
            string  viewXmlNew = AvrViewSerializer.Serialize(view);

            Assert.IsNotNull(viewXmlNew);

            BaseTableDTO unzippedDTO = BinaryCompressor.Unzip(model);
            DataTable    viewData    = BinarySerializer.DeserializeToTable(unzippedDTO);
            string       dataXmlNew  = DataTableSerializer.Serialize(viewData);

            Assert.IsNotNull(dataXmlNew);
        }
Exemplo n.º 5
0
        public void ViewFacedeTest()
        {
            var facade = new AVRFacadeStub(123);

            ViewDTO model = facade.GetCachedView("xxx", -1, "en");

            Assert.IsNotNull(model);
            Assert.IsNotNull(model.BinaryViewHeader);
            Assert.IsNotNull(model.Header);
            Assert.IsNotNull(model.BodyPackets);

            byte[]  unzippedViewStructure = BinaryCompressor.Unzip(model.BinaryViewHeader);
            string  xmlViewStructure      = BinarySerializer.DeserializeToString(unzippedViewStructure);
            AvrView view       = AvrViewSerializer.Deserialize(xmlViewStructure);
            string  viewXmlNew = AvrViewSerializer.Serialize(view);

            Assert.AreEqual(SerializedViewStub.ViewXml, viewXmlNew);

            BaseTableDTO unzippedDTO = BinaryCompressor.Unzip(model);
            DataTable    viewData    = BinarySerializer.DeserializeToTable(unzippedDTO);
            string       dataXmlNew  = DataTableSerializer.Serialize(viewData);

            Assert.AreEqual(SerializedViewStub.DataXml, dataXmlNew);
        }
Exemplo n.º 6
0
        public ViewDTO GetCachedView(string sessionId, long layoutId, string lang)
        {
            try
            {
                m_ViewSemaphore.Wait();

                var       layout = AvrDbHelper.GetLayoutDTO(layoutId);
                Stopwatch watch  = TraceMethodCall(sessionId, layoutId, layout.DefaultLayoutName, lang);
                EidssAvrServiceInitializer.CheckAndInitEidssCore();

                ViewDTO view         = null;
                var     cacheKey     = new QueryCacheKey(layout.QueryId, lang, layout.UseArchivedData);
                long?   queryCacheId = AvrDbHelper.GetQueryCacheId(cacheKey, RefreshedCacheOnUserCallAfterDays);
                if (queryCacheId.HasValue)
                {
                    var viewCacheId = AvrDbHelper.GetViewCacheId(queryCacheId.Value, layoutId, RefreshedCacheOnUserCallAfterDays);
                    if (viewCacheId.HasValue)
                    {
                        view = AvrDbHelper.GetViewCache(viewCacheId.Value, false);
                    }
                }

                if (view == null)
                {
                    AvrPivotViewModel model = VirtualPivot.CreateAvrPivotViewModel(layoutId, lang, m_Container);

                    string xmlViewHeader    = AvrViewSerializer.Serialize(model.ViewHeader);
                    byte[] zippedViewHeader = BinaryCompressor.ZipString(xmlViewHeader);

                    BaseTableDTO serializedDTO = BinarySerializer.SerializeFromTable(model.ViewData);
                    BaseTableDTO zippedDTO     = BinaryCompressor.Zip(serializedDTO);

                    view = new ViewDTO(zippedDTO, zippedViewHeader);

                    queryCacheId = AvrDbHelper.GetQueryCacheId(cacheKey, RefreshedCacheOnUserCallAfterDays);
                    if (queryCacheId.HasValue)
                    {
                        AvrDbHelper.SaveViewCache(queryCacheId.Value, layoutId, view);
                    }
                }
                TraceMethodCallFinished(watch, sessionId, layoutId, layout.DefaultLayoutName, lang);
                return(view);
            }
            catch (OutOfMemoryException ex)
            {
                m_Trace.TraceMethodException(ex, Utils.GetCurrentMethodName(), m_TraceTitle, sessionId, layoutId, lang);
                throw new AvrDataException(EidssMessages.Get("ErrAVROutOfMemory"), ex);
            }
            catch (Exception ex)
            {
                m_Trace.TraceMethodException(ex, Utils.GetCurrentMethodName(), m_TraceTitle, sessionId, layoutId, lang);
                string format = EidssMessages.Get("msgCouldNotGetViewData",
                                                  "Could not get View Data from Layout. LayoutID={0}, Lang={1}, SessionId={2}");
                string msg = String.Format(format, layoutId, lang, sessionId);
                throw new AvrDataException(msg, ex);
            }
            finally
            {
                m_ViewSemaphore.Release();
            }
        }