/// <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);
        }