Exemplo n.º 1
0
        /// <summary>
        /// Execute
        /// </summary>
        /// <returns></returns>
        protected override bool Execute()
        {
            if (DTO.Format.FrmDirection != FormatDirection.DOWNLOAD.ToString())
            {
                return(false);
            }
            ////See if this request has cached data
            MemCachedD_Value cache = MemCacheD.Get_BSO <dynamic>("PxStat.Data", "Cube_API", "ReadMetadata", DTO);

            if (cache.hasData)
            {
                Response.data = cache.data;
                return(true);
            }


            if (Throttle_BSO.IsThrottled(Ado, HttpContext.Current.Request, Request, SamAccountName))
            {
                Log.Instance.Debug("Request throttled");
                Response.error = Label.Get("error.throttled");
            }

            var items = new Release_ADO(Ado).ReadLiveNow(DTO.matrix, DTO.language);

            var result = Release_ADO.GetReleaseDTO(items);

            if (result == null)
            {
                Response.data = null;
                return(true);
            }
            //The Language of the received data may be different from the request - so we make sure it corresponds to the language of the metadata
            DTO.language = items.LngIsoCode;
            return(ExecuteReadMetadata(Ado, DTO, result, Response));
        }
        /// <summary>
        /// Execute
        /// </summary>
        /// <returns></returns>
        protected override bool Execute()
        {
            Release_ADO adoRelease = new Release_ADO(Ado);
            Release_DTO dtoRelease = Release_ADO.GetReleaseDTO(adoRelease.Read(DTO.RlsCode, SamAccountName));


            DTO.MtrCode = dtoRelease.MtrCode;

            //We can do this now because the MtrCode is available to us
            MemCacheD.CasRepositoryFlush(Resources.Constants.C_CAS_DATA_CUBE_READ_DATASET + DTO.MtrCode);
            MemCacheD.CasRepositoryFlush(Resources.Constants.C_CAS_DATA_CUBE_READ_METADATA + DTO.MtrCode);

            int updated;

            if (dtoRelease.CmmCode == 0)
            {
                dtoRelease.CmmValue = DTO.CmmValue;
                updated             = adoRelease.CreateComment(dtoRelease, SamAccountName);
            }
            else
            {
                dtoRelease.CmmValue = DTO.CmmValue;
                updated             = adoRelease.UpdateComment(dtoRelease, SamAccountName);
            }

            if (updated == 0)
            {
                Log.Instance.Debug("Failed to update Release Comment");
                Response.error = Label.Get("error.update");
                return(false);
            }
            Response.data = JSONRPC.success;
            return(true);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Execute
        /// </summary>
        /// <returns></returns>
        protected override bool Execute()
        {
            if (DTO.Format.FrmDirection != FormatDirection.DOWNLOAD.ToString())
            {
                return(false);
            }

            ////See if this request has cached data
            MemCachedD_Value cache = MemCacheD.Get_BSO <dynamic>("PxStat.Data", "Cube_API", "ReadPreMetadata", DTO);

            if (cache.hasData)
            {
                Response.data = cache.data;
                return(true);
            }

            var item   = new Matrix_ADO(Ado).Read(DTO.release, DTO.language, SamAccountName);
            var result = Release_ADO.GetReleaseDTO(item);

            if (result == null)
            {
                Response.data = null;
                return(true);
            }

            DTO.language = item.LngIsoCode;
            return(Cube_BSO_ReadMetadata.ExecuteReadMetadata(Ado, DTO, result, Response, false));
        }
Exemplo n.º 4
0
        internal Matrix GetMetadataMatrix(string LngIsoCode, string MtrCode)
        {
            var release = new Release_ADO(ado).ReadLiveNow(MtrCode, LngIsoCode);

            var result = Release_ADO.GetReleaseDTO(release);

            // The matrix constructor will load all the metadata from the db when instances specification
            return(result != null ? new Matrix(ado, result, LngIsoCode) : null);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Get the latest release for a matrix
        /// </summary>
        /// <param name="theMatrix"></param>
        /// <returns></returns>
        internal Release_DTO GetLatestRelease(Matrix theMatrix)
        {
            Release_ADO releaseAdo     = new Release_ADO(Ado);
            var         releaseDTORead = new Release_DTO_Read()
            {
                MtrCode = theMatrix.Code
            };

            return(Release_ADO.GetReleaseDTO(releaseAdo.ReadLatest(releaseDTORead)));
        }
Exemplo n.º 6
0
        /// <summary>
        /// Execute
        /// </summary>
        /// <returns></returns>
        protected override bool Execute()
        {
            if (DTO.jStatQueryExtension.extension.Pivot != null)
            {
                if (DTO.jStatQueryExtension.extension.Format.Type != "CSV" && DTO.jStatQueryExtension.extension.Format.Type != "XLSX")
                {
                    DTO.jStatQueryExtension.extension.Pivot = null;
                }
            }
            //if the role details haven't been supplied then look it up from the metadata in the database
            if (DTO.Role == null)
            {
                DTO.Role = new Cube_BSO().UpdateRoleFromMetadata(Ado, DTO);
            }

            //The Language of the received data may be different from the request - so we make sure it corresponds to the language of the dataset (???)
            var items = new Release_ADO(Ado).ReadLiveNow(DTO.jStatQueryExtension.extension.Matrix, DTO.jStatQueryExtension.extension.Language.Code);

            ////See if this request has cached data
            MemCachedD_Value cache = MemCacheD.Get_BSO <dynamic>("PxStat.Data", "Cube_API", "ReadDataset", DTO);

            if (cache.hasData)
            {
                Response.data = cache.data;
                return(true);
            }


            if (Throttle_BSO.IsThrottled(Ado, HttpContext.Current.Request, Request, SamAccountName))
            {
                Log.Instance.Debug("Request throttled");
                Response.error = Label.Get("error.throttled");
            }

            var result = Release_ADO.GetReleaseDTO(items);

            if (result == null)
            {
                Response.data = null;
                return(true);
            }

            var data = ExecuteReadDataset(Ado, DTO, result, Response, DTO.jStatQueryExtension.extension.Language.Code, DTO.jStatQueryExtension.extension.Language.Culture, defaultPivot);

            return(data);
        }
Exemplo n.º 7
0
        /// <summary>
        /// Execute
        /// </summary>
        /// <returns></returns>
        protected override bool Execute()
        {
            Release_ADO adoRelease = new Release_ADO(Ado);
            Release_DTO dtoRelease = Release_ADO.GetReleaseDTO(adoRelease.Read(DTO.RlsCode, SamAccountName));

            dtoRelease.RlsDependencyFlag = DTO.RlsDependencyFlag.Value;
            DTO.MtrCode = dtoRelease.MtrCode;
            int updated = adoRelease.Update(dtoRelease, SamAccountName);

            if (updated == 0)
            {
                Log.Instance.Debug("Failed to update Dependency flag");
                Response.error = Label.Get("error.update");
                return(false);
            }
            Response.data = JSONRPC.success;
            return(true);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Execute
        /// </summary>
        /// <returns></returns>
        protected override bool Execute()
        {
            if (DTO.Format.FrmDirection != FormatDirection.DOWNLOAD.ToString())
            {
                return(false);
            }

            var item   = new Matrix_ADO(Ado).Read(DTO.release, DTO.language, SamAccountName);
            var result = Release_ADO.GetReleaseDTO(item);

            if (result == null)
            {
                Response.data = null;
                return(true);
            }

            DTO.language = item.LngIsoCode;
            return(Cube_BSO_ReadMetadata.ExecuteReadMetadata(Ado, DTO, result, Response));
        }
Exemplo n.º 9
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override bool Execute()
        {
            var item   = new Matrix_ADO(Ado).Read(DTO.jStatQueryExtension.extension.RlsCode, DTO.jStatQueryExtension.extension.Language.Code, SamAccountName);
            var result = Release_ADO.GetReleaseDTO(item);

            if (result == null)
            {
                Response.data = null;
                return(true);
            }

            DTO.jStatQueryExtension.extension.Matrix = result.MtrCode;
            //if the role details haven't been supplied then look it up from the metadata in the database
            if (DTO.Role == null)
            {
                DTO.Role = new Cube_BSO().UpdateRoleFromMetadata(Ado, DTO);
            }

            //The returned data may not be in the same language as the preferred language, so we must change the DTO.language property
            // DTO.language = item.LngIsoCode;
            return(Cube_BSO_ReadDataset.ExecuteReadDataset(Ado, DTO, result, Response, DTO.jStatQueryExtension.extension.Language.Code, DTO.jStatQueryExtension.extension.Language.Culture));
        }
Exemplo n.º 10
0
        /// <summary>
        /// Execute
        /// </summary>
        /// <returns></returns>
        protected override bool Execute()
        {
            //if the role details haven't been supplied then look it up from the metadata in the database
            if (DTO.Role == null)
            {
                DTO.Role = new Cube_BSO().UpdateRoleFromMetadata(Ado, DTO);
            }

            //The Language of the received data may be different from the request - so we make sure it corresponds to the language of the dataset (???)
            var items = new Release_ADO(Ado).ReadLiveNow(DTO.jStatQueryExtension.extension.Matrix, DTO.jStatQueryExtension.extension.Language.Code);

            /* string requestLanguage = DTO.language;
             * DTO.language = items.LngIsoCode; */


            ////See if this request has cached data
            MemCachedD_Value cache = MemCacheD.Get_BSO <dynamic>("PxStat.Data", "Cube_API", "ReadDataset", DTO);

            if (cache.hasData)
            {
                Response.data = cache.data;
                return(true);
            }


            var result = Release_ADO.GetReleaseDTO(items);

            if (result == null)
            {
                Response.data = null;
                return(true);
            }

            var data = ExecuteReadDataset(Ado, DTO, result, Response, DTO.jStatQueryExtension.extension.Language.Code, DTO.jStatQueryExtension.extension.Language.Culture);

            return(data);
        }
Exemplo n.º 11
0
        /// <summary>
        /// Execute
        /// </summary>
        /// <returns></returns>
        protected override bool Execute()
        {
            // uses authentication and filters privileges according to user access
            var currentRelease = Release_ADO.GetReleaseDTO(new Matrix_ADO(Ado).Read(DTO.RlsCode, Configuration_BSO.GetCustomConfig("language.iso.code"), SamAccountName));

            if (currentRelease == null)
            {
                Response.data = null;
                return(true);
            }

            int previousReleaseId = new Compare_ADO(Ado).ReadPreviousRelease(DTO.RlsCode);

            if (previousReleaseId == 0)
            {
                Response.data = null;
            }
            else
            {
                Response.data = previousReleaseId;
            }

            return(true);
        }
Exemplo n.º 12
0
        /// <summary>
        /// Execute
        /// </summary>
        /// <returns></returns>
        protected override bool Execute()
        {
            Release_ADO adoRelease = new Release_ADO(Ado);

            Release_DTO dtoRelease = Release_ADO.GetReleaseDTO(adoRelease.Read(DTO.RlsCode, SamAccountName));


            DTO.MtrCode = dtoRelease.MtrCode;


            //We can do this now because the MtrCode is available to us
            MemCacheD.CasRepositoryFlush(Resources.Constants.C_CAS_DATA_CUBE_READ_DATASET + DTO.MtrCode);
            MemCacheD.CasRepositoryFlush(Resources.Constants.C_CAS_DATA_CUBE_READ_METADATA + DTO.MtrCode);

            bool historicalTest = adoRelease.IsHistorical(DTO.RlsCode);
            int  deleted        = 0;

            if (!historicalTest)
            {
                deleted = adoRelease.DeleteComment(dtoRelease, SamAccountName);
            }


            if (deleted == 0)
            {
                //Can't create a comment so we can't proceed
                Log.Instance.Debug("Can't delete  comment - request refused");
                Response.error = Label.Get("error.delete");
                return(false);
            }



            Response.data = JSONRPC.success;
            return(true);
        }