Example #1
0
        /// <summary>
        /// Updates a SurveyResponse.
        /// </summary>
        /// <param name="SurveyResponse">SurveyResponse.</param>
        public void UpdateSurveyResponse(SurveyResponseBO SurveyResponse)
        {
            try{
                Guid Id = new Guid(SurveyResponse.ResponseId);

                //Update Survey
                using (var Context = DataObjectFactory.CreateContext())
                {
                    var Query = from response in Context.SurveyResponses
                                where response.ResponseId == Id
                                select response;

                    var DataRow = Query.Single();

                    if (!string.IsNullOrEmpty(SurveyResponse.RelateParentId) && SurveyResponse.RelateParentId != Guid.Empty.ToString())
                    {
                        DataRow.RelateParentId = new Guid(SurveyResponse.RelateParentId);
                    }

                    DataRow.ResponseXML = SurveyResponse.XML;
                    //DataRow.DateCompleted = DateTime.Now;
                    DataRow.DateCompleted = SurveyResponse.DateCompleted;
                    DataRow.StatusId      = SurveyResponse.Status;
                    DataRow.DateUpdated   = DateTime.Now;
                    //   DataRow.ResponsePasscode = SurveyResponse.ResponsePassCode;
                    DataRow.IsDraftMode     = SurveyResponse.IsDraftMode;
                    DataRow.ResponseXMLSize = RemoveWhitespace(SurveyResponse.XML).Length;
                    Context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
        public static ResponseContext ToResponseContext(this SurveyResponseBO surveyResponseBO)
        {
            MetadataAccessor metadataAccessor = new MetadataAccessor();
            var formId          = surveyResponseBO.FormId ?? surveyResponseBO.FormId;
            var formName        = surveyResponseBO.FormName ?? metadataAccessor.GetFormName(formId);
            var parentFormId    = surveyResponseBO.ParentFormId ?? metadataAccessor.GetParentFormId(formId);
            var parentFormName  = surveyResponseBO.ParentFormName ?? metadataAccessor.GetParentFormName(formId);
            var rootFormId      = surveyResponseBO.RootFormId ?? formId;
            var rootFormName    = surveyResponseBO.RootFormName ?? formName;
            var responseContext = new ResponseContext
            {
                ResponseId       = surveyResponseBO.ResponseId,
                ParentResponseId = surveyResponseBO.ParentResponseId,
                RootResponseId   = surveyResponseBO.RootResponseId,
                FormId           = formId,
                FormName         = formName,
                ParentFormId     = parentFormId,
                ParentFormName   = parentFormName,
                RootFormId       = rootFormId,
                RootFormName     = rootFormName,
                IsNewRecord      = surveyResponseBO.IsNewRecord,

                UserOrgId = surveyResponseBO.UserOrgId,
                UserId    = surveyResponseBO.UserId,
                UserName  = surveyResponseBO.UserName
            };

            //if (responseContext.FormId != metadataAccessor.GetFormIdByViewId(surveyResponseBO.ViewId))
            //    throw new ArgumentException("ViewId not in agreement with FormId", string.Format("FormId={0}, ViewId=>{1}",
            //        responseContext.FormId, metadataAccessor.GetFormIdByViewId(surveyResponseBO.ViewId)));

            return(responseContext);
        }
Example #3
0
        public void UpdateRecordStatus(SurveyResponseBO SurveyResponseBO)
        {
            try
            {
                Guid Id = new Guid(SurveyResponseBO.ResponseId);


                using (var Context = DataObjectFactory.CreateContext())
                {
                    var Query = from response in Context.SurveyResponses
                                where response.ResponseId == Id
                                select response;

                    var DataRow = Query.Single();

                    if (DataRow.StatusId == 3 && SurveyResponseBO.Status == 4)
                    {
                        DataRow.StatusId = SurveyResponseBO.Status;
                    }

                    if (SurveyResponseBO.Status != 4)
                    {
                        DataRow.StatusId = SurveyResponseBO.Status;
                    }


                    Context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
        public static SurveyResponseBO MergeIntoSurveyResponseBO(this SurveyResponseBO surveyResponseBO, SurveyInfoBO parentSurveyInfoBO, string parentResponseId)
        {
            surveyResponseBO.ParentFormId     = parentSurveyInfoBO.ParentFormId;
            surveyResponseBO.ParentResponseId = parentResponseId;
            surveyResponseBO.IsDraftMode      = parentSurveyInfoBO.IsDraftMode;

            var responseDetail = surveyResponseBO.ResponseDetail;

            responseDetail.ParentFormId     = parentSurveyInfoBO.ParentFormId;
            responseDetail.ParentResponseId = parentResponseId;
            responseDetail.IsRelatedView    = surveyResponseBO.ParentFormId != null;
            responseDetail.IsDraftMode      = parentSurveyInfoBO.IsDraftMode;
            responseDetail.IsNewRecord      = surveyResponseBO.IsNewRecord;
            responseDetail.RecStatus        = surveyResponseBO.RecStatus;
            responseDetail.ResponseId       = surveyResponseBO.ResponseId;
            responseDetail.ResolveMetadataDependencies();

            surveyResponseBO.RootFormId     = responseDetail.RootFormId;
            surveyResponseBO.RootFormName   = responseDetail.RootFormName;
            surveyResponseBO.RootResponseId = responseDetail.RootResponseId;

            surveyResponseBO.ParentFormName = responseDetail.ParentFormName;
            surveyResponseBO.FormName       = responseDetail.FormName;

            surveyResponseBO.UserId           = responseDetail.UserId;
            surveyResponseBO.LastActiveUserId = responseDetail.UserId;

            surveyResponseBO.CurrentOrgId    = responseDetail.UserOrgId;
            surveyResponseBO.UserOrgId       = responseDetail.UserOrgId;
            surveyResponseBO.LastActiveOrgId = responseDetail.UserOrgId;

            return(surveyResponseBO);
        }
Example #5
0
        public SurveyResponseBO UpdateSurveyResponse(SurveyResponseBO pValue)
        {
            SurveyResponseBO result = pValue;

            this.SurveyResponseDao.UpdateSurveyResponse(pValue);
            return(result);
        }
        public SurveyResponseBO InsertSurveyResponse(SurveyResponseBO pValue)
        {
            SurveyResponseBO result = pValue;

            this.SurveyResponseDao.InsertSurveyResponse(pValue);
            return(result);
        }
        public bool DeleteSurveyResponseInEditMode(SurveyResponseBO pValue, int Status = -1)
        {
            bool result = false;
            List <SurveyResponseBO> Children = this.GetResponsesHierarchyIdsByRootId(pValue.ResponseId);

            foreach (var child in Children)
            {
                //Get the original copy of the xml
                SurveyResponseBO ResponseXml = this.SurveyResponseDao.GetResponseXml(child.ResponseId);
                if (!ResponseXml.IsNewRecord)
                {
                    child.XML = ResponseXml.XML;
                    this.SurveyResponseDao.UpdateSurveyResponse(child);
                }
                else
                {
                    child.UserId = pValue.UserId;
                    this.SurveyResponseDao.DeleteSurveyResponse(child);
                }
                // delete record from ResponseXml Table

                ResponseXmlBO ResponseXmlBO = new ResponseXmlBO();
                ResponseXmlBO.ResponseId = child.ResponseId;
                this.SurveyResponseDao.DeleteResponseXml(ResponseXmlBO);
                if (Status > -1)
                {
                    this.SurveyResponseDao.UpdateRecordStatus(ResponseXmlBO.ResponseId, Status);
                }
            }

            result = true;

            return(result);
        }
        public bool DeleteSurveyResponseInEditMode(SurveyResponseBO surveyResponseBO, int status = -1)
        {
            var responseContext = surveyResponseBO.ToResponseContext();

            _surveyResponseDao.UpdateRecordStatus(responseContext, status, RecordStatusChangeReason.DeleteInEditMode);
            return(true);
        }
Example #9
0
        public void UpdateResponseStatus(SurveyAnswerRequest request)
        {
            try
            {
                Epi.Web.Interfaces.DataInterfaces.ISurveyResponseDao SurveyResponseDao = new EF.EntitySurveyResponseDao();
                Epi.Web.Interfaces.DataInterfaces.ISurveyInfoDao     ISurveyInfoDao    = new EF.EntitySurveyInfoDao();
                Epi.Web.BLL.SurveyResponse Implementation = new Epi.Web.BLL.SurveyResponse(SurveyResponseDao, ISurveyInfoDao);


                //SurveyAnswerResponse response = new SurveyAnswerResponse(request.RequestId);
                SurveyResponseBO SurveyResponse = Mapper.ToSurveyResponseBOList(request.SurveyAnswerList, request.Criteria.UserId)[0];



                List <SurveyResponseBO> SurveyResponseBOList = Implementation.GetSurveyResponseById(request.Criteria.SurveyAnswerIdList, Guid.Empty);

                SurveyResponseBO ResultList = Implementation.UpdateSurveyResponse(SurveyResponse);
            }
            catch (Exception ex)
            {
                CustomFaultException customFaultException = new CustomFaultException();
                customFaultException.CustomMessage = ex.Message;
                customFaultException.Source        = ex.Source;
                customFaultException.StackTrace    = ex.StackTrace;
                customFaultException.HelpLink      = ex.HelpLink;
                throw new FaultException <CustomFaultException>(customFaultException);
            }
        }
 public bool InsertChildSurveyResponse(SurveyResponseBO surveyResponseBO, SurveyInfoBO parentSurveyInfoBO, string parentResponseId)
 {
     surveyResponseBO = surveyResponseBO.MergeIntoSurveyResponseBO(parentSurveyInfoBO, parentResponseId);
     ((IResponseContext)surveyResponseBO).ResolveMetadataDependencies();
     _surveyResponseDao.InsertSurveyResponse(surveyResponseBO);
     return(true);
 }
Example #11
0
        /// <summary>
        /// Maps SurveyInfoBO business object to SurveyInfoDTO entity.
        /// </summary>
        /// <param name="SurveyInfo">A SurveyInfoBO business object.</param>
        /// <returns>A SurveyInfoDTO.</returns>
        public static SurveyAnswerDTO ToDataTransferObject(SurveyResponseBO pBO)
        {
            SurveyAnswerDTO SurveyAnswerDTO = new SurveyAnswerDTO();

            SurveyAnswerDTO.SurveyId         = pBO.SurveyId;
            SurveyAnswerDTO.ResponseId       = pBO.ResponseId;
            SurveyAnswerDTO.DateUpdated      = pBO.DateUpdated;
            SurveyAnswerDTO.XML              = pBO.XML;
            SurveyAnswerDTO.DateCompleted    = pBO.DateCompleted;
            SurveyAnswerDTO.DateCreated      = pBO.DateCreated;
            SurveyAnswerDTO.Status           = pBO.Status;
            SurveyAnswerDTO.IsDraftMode      = pBO.IsDraftMode;
            SurveyAnswerDTO.IsLocked         = pBO.IsLocked;
            SurveyAnswerDTO.ParentRecordId   = pBO.ParentRecordId;
            SurveyAnswerDTO.UserEmail        = pBO.UserEmail;
            SurveyAnswerDTO.ViewId           = pBO.ViewId;
            SurveyAnswerDTO.RelateParentId   = pBO.RelateParentId;
            SurveyAnswerDTO.SqlData          = pBO.SqlData;
            SurveyAnswerDTO.LastActiveUserId = pBO.LastActiveUserId;
            if (pBO.ResponseHierarchyIds != null)
            {
                SurveyAnswerDTO.ResponseHierarchyIds = ToDataTransferObject(pBO.ResponseHierarchyIds);
            }
            return(SurveyAnswerDTO);
        }
        public SurveyResponseBO GetFormResponseByParentRecordId(string ParentRecordId)
        {
            SurveyResponseBO SurveyResponseBO = new SurveyResponseBO();

            SurveyResponseBO = this.SurveyResponseDao.GetFormResponseByParentRecordId(ParentRecordId);
            return(SurveyResponseBO);
        }
Example #13
0
        /// <summary>
        /// Maps SurveyMetaData entity to SurveyInfoBO business object.
        /// </summary>
        /// <param name="entity">A SurveyMetaData entity to be transformed.</param>
        /// <returns>A SurveyInfoBO business object.</returns>
        internal static SurveyResponseBO Map(SurveyResponse entity, User User = null, int LastActiveUseerId = -1)
        {
            SurveyResponseBO SurveyResponseBO = new SurveyResponseBO();

            SurveyResponseBO.SurveyId         = entity.SurveyId.ToString();
            SurveyResponseBO.ResponseId       = entity.ResponseId.ToString();
            SurveyResponseBO.XML              = entity.ResponseXML;
            SurveyResponseBO.Status           = entity.StatusId;
            SurveyResponseBO.DateUpdated      = entity.DateUpdated;
            SurveyResponseBO.DateCompleted    = entity.DateCompleted;
            SurveyResponseBO.TemplateXMLSize  = (long)entity.ResponseXMLSize;
            SurveyResponseBO.DateCreated      = entity.DateCreated;
            SurveyResponseBO.IsDraftMode      = entity.IsDraftMode;
            SurveyResponseBO.IsLocked         = entity.IsLocked;
            SurveyResponseBO.LastActiveUserId = LastActiveUseerId;
            if (entity.SurveyMetaData != null)
            {
                SurveyResponseBO.ViewId = (int)entity.SurveyMetaData.ViewId;
            }
            if (entity.ParentRecordId != null)
            {
                SurveyResponseBO.ParentRecordId = entity.ParentRecordId.ToString();
            }
            if (entity.RelateParentId != null)
            {
                SurveyResponseBO.RelateParentId = entity.RelateParentId.ToString();
            }
            if (User != null)
            {
                SurveyResponseBO.UserEmail = User.EmailAddress;
            }

            return(SurveyResponseBO);
        }
Example #14
0
        public void SurveyResponseBOCount()
        {
            SurveyResponseBO objSurveyResponseBO           = new SurveyResponseBO();
            int numberOfPublicPropertiesofSurveyResponseBO = objSurveyResponseBO.GetType().GetProperties().Count();

            Assert.AreEqual(numberOfPublicPropertiesofSurveyResponseBO, SurveyResponseBOPropertyCount, "SurveyResponseBO properties has been changed");
        }
Example #15
0
        /// <summary>
        /// Maps SurveyMetaData entity to SurveyInfoBO business object.
        /// </summary>
        /// <param name="entity">A SurveyMetaData entity to be transformed.</param>
        /// <returns>A SurveyInfoBO business object.</returns>
        internal static SurveyResponseBO Map(SurveyResponse entity)
        {
            /* return new SurveyResponseBO
             * {
             *   SurveyId = entity.SurveyId.ToString(),
             *   ResponseId = entity.ResponseId.ToString(),
             *   XML = entity.ResponseXML,
             *   Status = entity.StatusId,
             *    DateUpdated = entity.DateUpdated,
             *   DateCompleted = entity.DateCompleted,
             *   TemplateXMLSize = (long)entity.ResponseXMLSize,
             *    DateCreated = entity.DateCreated,
             *    IsDraftMode = entity.IsDraftMode ,
             *    RecordSourceId=(int)entity.RecordSourceId
             *
             * };*/

            SurveyResponseBO SurveyResponseBO = new SurveyResponseBO();

            SurveyResponseBO.SurveyId        = entity.SurveyId.ToString();
            SurveyResponseBO.ResponseId      = entity.ResponseId.ToString();
            SurveyResponseBO.XML             = entity.ResponseXML;
            SurveyResponseBO.Status          = entity.StatusId;
            SurveyResponseBO.DateUpdated     = entity.DateUpdated;
            SurveyResponseBO.DateCompleted   = entity.DateCompleted;
            SurveyResponseBO.TemplateXMLSize = (long)entity.ResponseXMLSize;
            SurveyResponseBO.DateCreated     = entity.DateCreated;
            SurveyResponseBO.IsDraftMode     = entity.IsDraftMode;
            SurveyResponseBO.RecordSourceId  = (int)entity.RecordSourceId;
            if (entity.RelateParentId != null)
            {
                SurveyResponseBO.RelateParentId = entity.RelateParentId.ToString();
            }
            return(SurveyResponseBO);
        }
Example #16
0
        public static SurveyResponseBO ToSurveyResponseBO(this FormResponseDetail formResponseDetail)
        {
            var surveyResponseBO = new SurveyResponseBO();

            surveyResponseBO.ResponseDetail = formResponseDetail;
            surveyResponseBO.ViewId         = new Common.Metadata.MetadataAccessor().GetFormDigest(formResponseDetail.FormId).ViewId;
            return(surveyResponseBO);
        }
        public SurveyResponseBO GetSurveyResponseStateById(IResponseContext responseContext)
        {
            responseContext.ResolveMetadataDependencies();

            SurveyResponseBO result = _surveyResponseDao.GetSurveyResponseState(responseContext);

            return(result);
        }
        public SurveyResponseBO GetResponseXml(string ResponseId)
        {
            SurveyResponseBO SurveyResponseBO = new SurveyResponseBO();

            SurveyResponseBO = this.SurveyResponseDao.GetResponseXml(ResponseId);

            return(SurveyResponseBO);
        }
Example #19
0
        public SurveyResponseBO UpdateSurveyResponse(SurveyResponseBO pValue)
        {
            SurveyResponseBO result = pValue;
            //Check if this respose has prent
            string ParentId     = SurveyResponseDao.GetResponseParentId(pValue.ResponseId);
            Guid   ParentIdGuid = Guid.Empty;

            if (!string.IsNullOrEmpty(ParentId))
            {
                ParentIdGuid = new Guid(ParentId);
            }
            Epi.Web.Interfaces.DataInterfaces.ISurveyInfoDao ISurveyInfoDao = new EF.EntitySurveyInfoDao();
            Epi.Web.BLL.SurveyInfo Implementation = new Epi.Web.BLL.SurveyInfo(ISurveyInfoDao);
            var List = Implementation.GetSurveyControlList(pValue.SurveyId);
            SurveyResponseJson SurveyResponseJson = new SurveyResponseJson();
            var json = SurveyResponseJson.GetSurveyResponseJson(pValue, List);

            pValue.Json = json;
            //if ( pValue.Status == 2 && ParentIdGuid!= Guid.Empty )
            //{
            //if (!string.IsNullOrEmpty(ParentId) && ParentId != Guid.Empty.ToString() && pValue.Status == 2)
            //    {
            //    //read the child

            //    SurveyResponseBO Child = this.SurveyResponseDao.GetSingleResponse(pValue.ResponseId);
            //    // read the parent
            //    SurveyResponseBO Parent = this.SurveyResponseDao.GetSingleResponse(ParentId);
            //    //copy and update
            //    Parent.XML = Child.XML;
            //    this.SurveyResponseDao.UpdateSurveyResponse(Parent);
            //    result = Parent;
            //    //Check if this child has a related form (subchild)
            //    List<SurveyResponseBO> Children = this.GetResponsesHierarchyIdsByRootId(Child.ResponseId);
            //    if (Children.Count() > 1)
            //    {
            //        SurveyResponseBO NewChild = Children[1];
            //        NewChild.RelateParentId = Parent.ResponseId;
            //        this.SurveyResponseDao.UpdateSurveyResponse(NewChild);
            //    }
            //    // Set  child recod UserId
            //    Child.UserId = pValue.UserId;
            //    // delete the child
            //    this.DeleteSingleSurveyResponse(Child);

            //}
            //else
            //{
            //Check if the record existes.If it does update otherwise insert new
            this.SurveyResponseDao.UpdateSurveyResponse(pValue);

            SurveyResponseBO SurveyResponseBO = SurveyResponseDao.GetResponseXml(pValue.ResponseId);



            //  }
            return(result);
        }
        public void UpdateRecordStatus(SurveyResponseBO SurveyResponseBO)
        {
            if (SurveyResponseBO.Status == 1)//TODO item for WebSurveyIntegration [RecordSourceID=4 and StatusID=3]
            {
                SurveyResponseBO.Status = 2;
            }

            this.SurveyResponseDao.UpdateRecordStatus(SurveyResponseBO);
        }
        public SurveyResponseBO InsertChildSurveyResponse(SurveyResponseBO pValue, SurveyInfoBO ParentSurveyInfo, string RelateParentId)
        {
            SurveyResponseBO result = pValue;

            pValue.ParentId       = ParentSurveyInfo.ParentId;
            pValue.RelateParentId = RelateParentId;
            this.SurveyResponseDao.InsertChildSurveyResponse(pValue);
            return(result);
        }
        public bool DeleteSingleSurveyResponse(SurveyResponseBO pValue)
        {
            bool result = false;

            this.SurveyResponseDao.DeleteSingleSurveyResponse(pValue);
            result = true;

            return(result);
        }
Example #23
0
        public void UpdateRecordStatus(SurveyResponseBO SurveyResponseBO)
        {
            if (SurveyResponseBO.Status == 1)
            {
                SurveyResponseBO.Status = 2;
            }

            this.SurveyResponseDao.UpdateRecordStatus(SurveyResponseBO);
        }
        public bool DeleteSurveyResponse(SurveyResponseBO surveyResponseBO)
        {
            bool result          = false;
            var  responseContext = surveyResponseBO.ToResponseContext();

            _surveyResponseDao.UpdateRecordStatus(responseContext, RecordStatus.Deleted, RecordStatusChangeReason.DeleteResponse);
            result = true;

            return(result);
        }
Example #25
0
        /// <summary>
        /// Updates SurveyResponse
        /// </summary>
        /// <param name="id"></param>
        public void Remove(string id)
        {
            Interfaces.DataInterfaces.ISurveyResponseDao SurveyResponseDao = new EntitySurveyResponseDao();
            BLL.SurveyResponse Implementation   = new BLL.SurveyResponse(SurveyResponseDao);
            SurveyResponseBO   surveyresponseBO = new SurveyResponseBO();

            surveyresponseBO.ResponseId = id;
            surveyresponseBO.Status     = 0;
            Implementation.UpdateRecordStatus(surveyresponseBO);
        }
Example #26
0
        internal static SurveyResponseBO Map(ResponseXml ResponseXml)
        {
            SurveyResponseBO SurveyResponseBO = new SurveyResponseBO();

            SurveyResponseBO.ResponseId  = ResponseXml.ResponseId.ToString();
            SurveyResponseBO.XML         = ResponseXml.Xml;
            SurveyResponseBO.UserId      = (int)ResponseXml.UserId;
            SurveyResponseBO.IsNewRecord = (bool)ResponseXml.IsNewRecord;
            return(SurveyResponseBO);
        }
        public static List <SurveyResponseBO> ToSurveyResponseBOList(List <SurveyAnswerDTO> surveyAnswerList, int userId = 0)
        {
            List <SurveyResponseBO> BOList = new List <SurveyResponseBO>();

            foreach (var item in surveyAnswerList)
            {
                SurveyResponseBO SurveyResponseBO = new SurveyResponseBO();

                SurveyResponseBO = Mapper.ToSurveyResponseBO(item, userId);
                BOList.Add(SurveyResponseBO);
            }
            return(BOList);
        }
        public static SurveyAnswerStateDTO ToSurveyAnswerStateDTO(this SurveyResponseBO surveyResponseBO, int?loggedInUserId = null)
        {
            return(new SurveyAnswerStateDTO
            {
                ResponseId = surveyResponseBO.ResponseId,
                LoggedInUserId = loggedInUserId.HasValue ? loggedInUserId.Value : 0,
                LastActiveUserId = surveyResponseBO.UserId,
                Status = surveyResponseBO.RecStatus,
                DateUpdated = surveyResponseBO.DateUpdated,

                ResponseContext = surveyResponseBO.ResponseDetail.CloneResponseContext()
            });
        }
Example #29
0
 /// <summary>
 /// Maps SurveyInfoBO business object to SurveyMetaData entity.
 /// </summary>
 /// <param name="businessobject">A SurveyInfoBO business object.</param>
 /// <returns>A SurveyMetaData entity.</returns>
 internal static SurveyAnswerDTO Map(SurveyResponseBO businessobject)
 {
     return(new SurveyAnswerDTO
     {
         SurveyId = businessobject.SurveyId,
         ResponseId = businessobject.ResponseId,
         XML = businessobject.XML,
         Status = businessobject.Status,
         UserPublishKey = businessobject.UserPublishKey,
         DateUpdated = businessobject.DateUpdated,
         DateCompleted = businessobject.DateCompleted
     });
 }
        public SurveyResponseBO UpdateSurveyResponse(SurveyResponseBO pValue)
        {
            SurveyResponseBO result = pValue;
            //Check if this respose has prent
            string ParentId     = SurveyResponseDao.GetResponseParentId(pValue.ResponseId);
            Guid   ParentIdGuid = Guid.Empty;

            if (!string.IsNullOrEmpty(ParentId))
            {
                ParentIdGuid = new Guid(ParentId);
            }

            //if ( pValue.Status == 2 && ParentIdGuid!= Guid.Empty )
            //{
            //if (!string.IsNullOrEmpty(ParentId) && ParentId != Guid.Empty.ToString() && pValue.Status == 2)
            //    {
            //    //read the child

            //    SurveyResponseBO Child = this.SurveyResponseDao.GetSingleResponse(pValue.ResponseId);
            //    // read the parent
            //    SurveyResponseBO Parent = this.SurveyResponseDao.GetSingleResponse(ParentId);
            //    //copy and update
            //    Parent.XML = Child.XML;
            //    this.SurveyResponseDao.UpdateSurveyResponse(Parent);
            //    result = Parent;
            //    //Check if this child has a related form (subchild)
            //    List<SurveyResponseBO> Children = this.GetResponsesHierarchyIdsByRootId(Child.ResponseId);
            //    if (Children.Count() > 1)
            //    {
            //        SurveyResponseBO NewChild = Children[1];
            //        NewChild.RelateParentId = Parent.ResponseId;
            //        this.SurveyResponseDao.UpdateSurveyResponse(NewChild);
            //    }
            //    // Set  child recod UserId
            //    Child.UserId = pValue.UserId;
            //    // delete the child
            //    this.DeleteSingleSurveyResponse(Child);

            //}
            //else
            //{
            //Check if the record existes.If it does update otherwise insert new
            this.SurveyResponseDao.UpdateSurveyResponse(pValue);

            SurveyResponseBO SurveyResponseBO = SurveyResponseDao.GetResponseXml(pValue.ResponseId);



            //  }
            return(result);
        }