Example #1
0
 public SurveyInfoResponse PublishExcelSurvey(SurveyInfoRequest pRequest)
 {
     try
     {
         SurveyInfoResponse ControlListObj = _iManagerService.SetSurveyInfo(pRequest);
         return(ControlListObj);
     }
     catch (FaultException <CustomFaultException> cfe)
     {
         throw cfe;
     }
     catch (FaultException fe)
     {
         throw fe;
     }
     catch (CommunicationException ce)
     {
         throw ce;
     }
     catch (TimeoutException te)
     {
         throw te;
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Example #2
0
 public SurveyInfoResponse GetAllSurveysByOrgKey(string OrgKey)
 {
     try
     {
         SurveyInfoResponse SurveyInfoResponse = _iManagerService.GetAllSurveysByOrgKey(OrgKey);
         return(SurveyInfoResponse);
     }
     catch (FaultException <CustomFaultException> cfe)
     {
         throw cfe;
     }
     catch (FaultException fe)
     {
         throw fe;
     }
     catch (CommunicationException ce)
     {
         throw ce;
     }
     catch (TimeoutException te)
     {
         throw te;
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Example #3
0
        public SurveyInfoResponse GetFormChildInfo(SurveyInfoRequest pRequest)
        {
            try
            {
                SurveyInfoResponse result = new SurveyInfoResponse(pRequest.RequestId);


                Epi.Web.Interfaces.DataInterfaces.IDaoFactory    entityDaoFactory = new EF.EntityDaoFactory();
                Epi.Web.Interfaces.DataInterfaces.ISurveyInfoDao surveyInfoDao    = entityDaoFactory.SurveyInfoDao;
                Epi.Web.BLL.SurveyInfo   implementation = new Epi.Web.BLL.SurveyInfo(surveyInfoDao);
                Dictionary <string, int> ParentIdList   = new Dictionary <string, int>();
                foreach (var item in pRequest.SurveyInfoList)
                {
                    ParentIdList.Add(item.SurveyId, item.ViewId);
                }
                result.SurveyInfoList = Mapper.ToDataTransferObject(implementation.GetChildInfoByParentId(ParentIdList));


                return(result);
            }
            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);
            }
        }
Example #4
0
        public SurveyInfoModel GetSurveyInfoModel(string surveyId)
        {
            _surveyInfoRequest.Criteria.SurveyIdList.Clear();
            _surveyInfoRequest.Criteria.SurveyIdList.Add(surveyId);
            SurveyInfoResponse surveyInfoResponse = _dataEntryService.GetSurveyInfo(_surveyInfoRequest);
            SurveyInfoModel    surveyInfoModel    = surveyInfoResponse.SurveyInfoList[0].ToSurveyInfoModel();

            return(surveyInfoModel);
        }
Example #5
0
        public SurveyInfoModel GetSurveyInfoModel(string surveyId)
        {
            _surveyInfoRequest.Criteria.SurveyIdList = new List <string>();
            _surveyInfoRequest.Criteria.SurveyIdList.Add(surveyId);
            SurveyInfoResponse surveyInfoResponse = _iSurveyInfoRepository.GetSurveyInfo(_surveyInfoRequest);
            SurveyInfoModel    s = Mapper.ToSurveyInfoModel(surveyInfoResponse.SurveyInfoList[0]);

            return(s);
        }
Example #6
0
        public SurveyInfoResponse GetSurveyInfo(SurveyInfoRequest surveyInfoRequest)
        {
            var           criteria     = surveyInfoRequest.Criteria as SurveyInfoCriteria;
            List <string> SurveyIdList = new List <string>();

            foreach (string id in criteria.SurveyIdList)
            {
                SurveyIdList.Add(id.ToUpper());
            }

            var surveyId     = SurveyIdList.FirstOrDefault();
            var surveyInfoBO = _surveyInfoService.GetSurveyInfoByFormId(surveyId);
            var result       = new SurveyInfoResponse();

            result.SurveyInfoList.Add(surveyInfoBO.ToSurveyInfoDTO());
            return(result);
        }
Example #7
0
        public SurveyInfoResponse GetAllSurveysByOrgKey(string OrgKey)

        {
            SurveyInfoResponse SurveyInfoResponse = new SurveyInfoResponse();

            try
            {
                Epi.Web.Interfaces.DataInterfaces.ISurveyInfoDao ISurveyInfoDao = new EF.EntitySurveyInfoDao();
                Epi.Web.BLL.SurveyInfo Implementation = new Epi.Web.BLL.SurveyInfo(ISurveyInfoDao);
                SurveyInfoResponse.SurveyInfoList = Mapper.ToDataTransferObject(Implementation.GetAllSurveysByOrgKey(OrgKey));
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(SurveyInfoResponse);
        }
        public SurveyInfoResponse GetSurveyInfo(SurveyInfoRequest pRequest)
        {
            try
            {
                string surveyKey = pRequest.Criteria.SurveyIdList[0].ToString();

                SurveyInfoResponse surveyInfo = CacheUtility.Get(surveyKey) as SurveyInfoResponse;

                if (surveyInfo != null)
                {
                    return(surveyInfo);
                }

                surveyInfo = (SurveyInfoResponse)_iDataService.GetSurveyInfo(pRequest);

                CacheUtility.Insert(surveyKey, surveyInfo);

                return(surveyInfo);
            }
            catch (FaultException <CustomFaultException> cfe)
            {
                throw cfe;
            }
            catch (FaultException fe)
            {
                throw fe;
            }
            catch (CommunicationException ce)
            {
                throw ce;
            }
            catch (TimeoutException te)
            {
                throw te;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public SurveyInfoResponse GetFormChildInfo(SurveyInfoRequest pRequest)
        {
            try
            {
                SurveyInfoResponse result = new SurveyInfoResponse(pRequest.RequestId);

                Dictionary <string, int> parentIdList = new Dictionary <string, int>();
                foreach (var item in pRequest.SurveyInfoList)
                {
                    parentIdList.Add(item.SurveyId, item.ViewId);
                }
                var surveyInfoBOList = GetChildInfoByParentId(parentIdList);

                result.SurveyInfoList = surveyInfoBOList.ToSurveyInfoDTOList();

                return(result);
            }
            catch (Exception ex)
            {
                throw new FaultException <CustomFaultException>(new CustomFaultException(ex));
            }
        }
Example #10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pRequest"></param>
        /// <returns></returns>
        public SurveyInfoResponse GetSurveyInfo(SurveyInfoRequest surveyInfoRequest)
        {
            try
            {
                SurveyInfoResponse response = new SurveyInfoResponse(surveyInfoRequest.RequestId);

                Epi.Web.Interfaces.DataInterfaces.IDaoFactory    entityDaoFactory = new EF.EntityDaoFactory();
                Epi.Web.Interfaces.DataInterfaces.ISurveyInfoDao surveyInfoDao    = entityDaoFactory.SurveyInfoDao;
                Epi.Web.BLL.SurveyInfo surveyInfo = new Epi.Web.BLL.SurveyInfo(surveyInfoDao);

                if (!ValidRequest(surveyInfoRequest, response, Validate.All))
                {
                    return(response);
                }

                var           criteria     = surveyInfoRequest.Criteria as SurveyInfoCriteria;
                string        sort         = criteria.SortExpression;
                List <string> SurveyIdList = new List <string>();
                foreach (string id in criteria.SurveyIdList)
                {
                    SurveyIdList.Add(id.ToUpper());
                }

                List <SurveyInfoBO> bo = surveyInfo.GetSurveyInfoById(SurveyIdList);

                response.SurveyInfoList = Mapper.ToDataTransferObject(bo);

                return(response);
            }
            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);
            }
        }
Example #11
0
        public SurveyInfoResponse GetChildFormInfo(SurveyInfoRequest surveyInfoRequest)
        {
            SurveyInfoResponse surveyInfoResponse = _surveyInfoService.GetFormChildInfo(surveyInfoRequest);

            return(surveyInfoResponse);
        }
Example #12
0
        /// <summary>
        /// Calling the proxy client to fetch a SurveyInfoResponse object
        /// </summary>
        /// <param name="surveyid"></param>
        /// <returns></returns>
        public SurveyInfoResponse GetSurveyInfo(SurveyInfoRequest pRequest)
        {
            try
            {
                //SurveyInfoResponse result = Client.GetSurveyInfo(pRequest);
                //SurveyInfoResponse result = _iDataService.GetSurveyInfo(pRequest);
                SurveyInfoResponse result   = null;
                string             SurveyId = pRequest.Criteria.SurveyIdList[0].ToString();
                var CacheObj = HttpRuntime.Cache.Get(SurveyId);



                if (CacheIsOn.ToUpper() == "TRUE")
                {
                    if (CacheObj == null)
                    {
                        result = (SurveyInfoResponse)_iDataService.GetSurveyInfo(pRequest);

                        if (IsCacheSlidingExpiration.ToUpper() == "TRUE")
                        {
                            HttpRuntime.Cache.Insert(SurveyId, result, null, Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(CacheDuration));
                        }
                        else
                        {
                            HttpRuntime.Cache.Insert(SurveyId, result, null, DateTime.Now.AddMinutes(CacheDuration), Cache.NoSlidingExpiration);
                        }
                        return(result);
                    }
                    else
                    {
                        return((SurveyInfoResponse)CacheObj);
                    }
                }
                else
                {
                    result = (SurveyInfoResponse)_iDataService.GetSurveyInfo(pRequest);
                    return(result);
                }



                // return result;
            }
            catch (FaultException <CustomFaultException> cfe)
            {
                throw cfe;
            }
            catch (FaultException fe)
            {
                throw fe;
            }
            catch (CommunicationException ce)
            {
                throw ce;
            }
            catch (TimeoutException te)
            {
                throw te;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #13
0
        public SurveyInfoResponse PublishExcelSurvey(SurveyInfoRequest Request)
        {
            SurveyInfoResponse SurveyInfoResponse = _iSurveyInfoRepository.PublishExcelSurvey(Request);

            return(SurveyInfoResponse);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="pRequest"></param>
        /// <returns></returns>
        public SurveyInfoResponse GetSurveyInfo(SurveyInfoRequest pRequest)
        {
            try
            {
                SurveyInfoResponse result = new SurveyInfoResponse(pRequest.RequestId);
                //Epi.Web.Enter.Interfaces.DataInterfaces.ISurveyInfoDao surveyInfoDao = new EF.EntitySurveyInfoDao();
                //Epi.Web.BLL.SurveyInfo implementation = new Epi.Web.BLL.SurveyInfo(surveyInfoDao);

                Epi.Web.Enter.Interfaces.DataInterfaces.IDaoFactory    entityDaoFactory = new EFwcf.EntityDaoFactory();
                Epi.Web.Enter.Interfaces.DataInterfaces.ISurveyInfoDao surveyInfoDao    = entityDaoFactory.SurveyInfoDao;
                Epi.Web.BLL.SurveyInfo implementation = new Epi.Web.BLL.SurveyInfo(surveyInfoDao);

                // Validate client tag, access token, and user credentials
                if (!ValidRequest(pRequest, result, Validate.All))
                {
                    return(result);
                }

                //Validate UserPublishKey exists
                if (pRequest.Criteria.UserPublishKey == null)
                {
                    return(result);
                }

                var           criteria     = pRequest.Criteria as SurveyInfoCriteria;
                string        sort         = criteria.SortExpression;
                List <string> SurveyIdList = new List <string>();
                foreach (string id in criteria.SurveyIdList)
                {
                    SurveyIdList.Add(id.ToUpper());
                }



                List <SurveyInfoBO> SurveyBOList = new List <SurveyInfoBO>();
                //  int ResponseMaxSize = 16384;
                int ResponseMaxSize      = Int32.Parse(ConfigurationManager.AppSettings["maxBytesPerRead"]);
                int BandwidthUsageFactor = Int32.Parse(ConfigurationManager.AppSettings["BandwidthUsageFactor"]);


                Epi.Web.Enter.Interfaces.DataInterfaces.IOrganizationDao entityDaoFactory1 = new EFwcf.EntityOrganizationDao();
                //Epi.Web.Enter.Interfaces.DataInterfaces.ISurveyInfoDao surveyInfoDao = entityDaoFactory.SurveyInfoDao;
                Epi.Web.Enter.Interfaces.DataInterfaces.IOrganizationDao surveyInfoDao1 = entityDaoFactory1;

                Epi.Web.BLL.Organization implementation1 = new Epi.Web.BLL.Organization(surveyInfoDao1);
                bool ISValidOrg = implementation1.ValidateOrganization(pRequest.Criteria.OrganizationKey.ToString());

                if (ISValidOrg)
                {
                    if (pRequest.Criteria.ReturnSizeInfoOnly == true)
                    {
                        // add BandwidthUsageFactor
                        PageInfoBO PageInfoBO = implementation.GetSurveySizeInfo(SurveyIdList, criteria.ClosingDate, criteria.OrganizationKey.ToString(), BandwidthUsageFactor, criteria.SurveyType, criteria.PageNumber, criteria.PageSize, ResponseMaxSize);
                        result.PageSize      = PageInfoBO.PageSize;
                        result.NumberOfPages = PageInfoBO.NumberOfPages;
                    }
                    else
                    {
                        SurveyBOList = implementation.GetSurveyInfo(SurveyIdList, criteria.ClosingDate, criteria.OrganizationKey.ToString(), criteria.SurveyType, criteria.PageNumber, criteria.PageSize);//Default
                        foreach (SurveyInfoBO surveyInfoBO in SurveyBOList)
                        {
                            result.SurveyInfoList.Add(Mapper.ToDataTransferObject(surveyInfoBO));
                        }
                    }
                }
                else
                {
                    result.Message = "Organization Key not found";
                }

                return(result);
            }
            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);
            }
        }
Example #15
0
 public void Update(SurveyInfoResponse t)
 {
     throw new NotImplementedException();
 }
        /// <summary>
        /// Set (add, update, delete) SurveyInfo value.
        /// </summary>
        /// <param name="request">SurveyInfoRequest request message.</param>
        /// <returns>SurveyInfoRequest response message.</returns>
        public SurveyInfoResponse SetSurveyInfo(SurveyInfoRequest request)
        {
            try
            {
                Epi.Web.Enter.Interfaces.DataInterfaces.ISurveyInfoDao surveyInfoDao = new EFwcf.EntitySurveyInfoDao();

                Epi.Web.BLL.SurveyInfo Implementation = new Epi.Web.BLL.SurveyInfo(surveyInfoDao);



                var response = new SurveyInfoResponse(request.RequestId);

                // Validate client tag, access token, and user credentials
                if (!ValidRequest(request, response, Validate.All))
                {
                    return(response);
                }

                // Transform SurveyInfo data transfer object to SurveyInfo business object
                var SurveyInfo = Mapper.ToBusinessObject(request.SurveyInfoList[0]);

                // Validate SurveyInfo business rules

                if (request.Action != "Delete")
                {
                    //if (!SurveyInfo.Validate())
                    //{
                    //    response.Acknowledge = AcknowledgeType.Failure;

                    //    foreach (string error in SurveyInfo.ValidationErrors)
                    //        response.Message += error + Environment.NewLine;

                    //    return response;
                    //}
                }

                // Run within the context of a database transaction. Currently commented out.
                // The Decorator Design Pattern.
                //using (TransactionDecorator transaction = new TransactionDecorator())
                {
                    bool validSurvey = false;
                    //GetSurveyInfoByOrgKey
                    //validSurvey = Implementation.IsSurveyInfoValidByOrgKeyAndPublishKey(SurveyInfo.SurveyId, SurveyInfo.OrganizationKey.ToString(), SurveyInfo.UserPublishKey);
                    validSurvey = Implementation.IsSurveyInfoValidByOrgKey(SurveyInfo.SurveyId, SurveyInfo.OrganizationKey.ToString());

                    Epi.Web.Enter.Interfaces.DataInterfaces.IOrganizationDao entityDaoFactory1 = new EFwcf.EntityOrganizationDao();
                    Epi.Web.Enter.Interfaces.DataInterfaces.IOrganizationDao surveyInfoDao1    = entityDaoFactory1;
                    Epi.Web.BLL.Organization implementation1 = new Epi.Web.BLL.Organization(surveyInfoDao1);
                    bool ISValidOrg = implementation1.ValidateOrganization(SurveyInfo.OrganizationKey.ToString());

                    if (ISValidOrg)
                    {
                        if (validSurvey)
                        {
                            if (request.Action == "Create")
                            {
                                Implementation.InsertSurveyInfo(SurveyInfo);
                                response.SurveyInfoList.Add(Mapper.ToDataTransferObject(SurveyInfo));
                            }
                            else if (request.Action == "Update")
                            {
                                Implementation.UpdateSurveyInfo(SurveyInfo);
                                response.SurveyInfoList.Add(Mapper.ToDataTransferObject(SurveyInfo));
                                response.Message = SurveyInfo.StatusText;
                            }
                            else if (request.Action == "UpdateMode")
                            {
                                Implementation.UpdateSurveyInfo(SurveyInfo);
                                response.SurveyInfoList.Add(Mapper.ToDataTransferObject(SurveyInfo));
                                response.Message = SurveyInfo.StatusText;
                                //ImplementationAdmin.SendEmailToAdmins(SurveyInfo);// This process does not apply for EWE.
                            }
                            else if (request.Action == "Delete")
                            {
                                var criteria = request.Criteria as SurveyInfoCriteria;
                                var survey   = Implementation.GetSurveyInfoById(SurveyInfo.SurveyId);

                                try
                                {
                                    if (Implementation.DeleteSurveyInfo(survey))
                                    {
                                        response.RowsAffected = 1;
                                    }
                                    else
                                    {
                                        response.RowsAffected = 0;
                                    }
                                }
                                catch
                                {
                                    response.RowsAffected = 0;
                                }
                            }
                        }
                        else
                        {
                            response.Message = "SurveyId And/or Publish Key are invalid.";
                        }
                    }
                    else
                    {
                        response.Message = "Organization Key is invalid.";
                    }
                }

                return(response);
            }
            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);
            }
        }
Example #17
0
        public SurveyInfoResponse GetAllSurveysByOrgKey(string OrgKey)
        {
            SurveyInfoResponse SurveyInfoResponse = _iSurveyInfoRepository.GetAllSurveysByOrgKey(OrgKey);

            return(SurveyInfoResponse);
        }
Example #18
0
        public SurveyInfoResponse GetChildFormInfo(SurveyInfoRequest SurveyInfoRequest)
        {
            SurveyInfoResponse SurveyInfoResponse = _iSurveyInfoRepository.GetFormChildInfo(SurveyInfoRequest);

            return(SurveyInfoResponse);
        }
Example #19
0
        /// <summary>
        /// Set (add, update, delete) SurveyInfo value.
        /// </summary>
        /// <param name="request">SurveyInfoRequest request message.</param>
        /// <returns>SurveyInfoRequest response message.</returns>
        public SurveyInfoResponse SetSurveyInfo(SurveyInfoRequest request)
        {
            try
            {
                Epi.Web.Interfaces.DataInterfaces.ISurveyInfoDao surveyInfoDao = new EF.EntitySurveyInfoDao();
                Epi.Web.BLL.SurveyInfo Implementation = new Epi.Web.BLL.SurveyInfo(surveyInfoDao);


                var response = new SurveyInfoResponse(request.RequestId);

                // Validate client tag, access token, and user credentials
                if (!ValidRequest(request, response, Validate.All))
                {
                    return(response);
                }

                // Transform SurveyInfo data transfer object to SurveyInfo business object
                var SurveyInfo = Mapper.ToBusinessObject(request.SurveyInfoList[0]);

                // Validate SurveyInfo business rules

                if (request.Action != "Delete")
                {
                    //if (!SurveyInfo.Validate())
                    //{
                    //    response.Acknowledge = AcknowledgeType.Failure;

                    //    foreach (string error in SurveyInfo.ValidationErrors)
                    //        response.Message += error + Environment.NewLine;

                    //    return response;
                    //}
                }

                // Run within the context of a database transaction. Currently commented out.
                // The Decorator Design Pattern.
                //using (TransactionDecorator transaction = new TransactionDecorator())
                {
                    if (request.Action == "Create")
                    {
                        if (request.Criteria.FileInputStream == null)
                        {
                            Implementation.InsertSurveyInfo(SurveyInfo);
                            response.SurveyInfoList.Add(Mapper.ToDataTransferObject(SurveyInfo));
                        }
                        else
                        {
                            // Excel
                            string SurveyFile = Implementation.GetSurveyXml(request.Criteria.FileInputStream);
                            SurveyInfo.XML = SurveyFile;
                            Implementation.InsertSurveyInfo(SurveyInfo);
                            response.SurveyInfoList.Add(Mapper.ToDataTransferObject(SurveyInfo));
                        }
                    }
                    else if (request.Action == "Update")
                    {
                        if (request.Criteria.FileInputStream == null)
                        {
                            Implementation.UpdateSurveyInfo(SurveyInfo);
                            response.SurveyInfoList.Add(Mapper.ToDataTransferObject(SurveyInfo));
                        }
                        else
                        {
                            // Excel
                            string SurveyFile = Implementation.GetSurveyXml(request.Criteria.FileInputStream);
                            SurveyInfo.XML = SurveyFile;
                            Implementation.UpdateSurveyInfo(SurveyInfo);
                            response.SurveyInfoList.Add(Mapper.ToDataTransferObject(SurveyInfo));
                        }
                    }
                    else if (request.Action == "Delete")
                    {
                        var criteria = request.Criteria as SurveyInfoCriteria;
                        var survey   = Implementation.GetSurveyInfoById(SurveyInfo.SurveyId);

                        try
                        {
                            if (Implementation.DeleteSurveyInfo(survey))
                            {
                                response.RowsAffected = 1;
                            }
                            else
                            {
                                response.RowsAffected = 0;
                            }
                        }
                        catch
                        {
                            response.RowsAffected = 0;
                        }
                    }
                }

                return(response);
            }
            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);
            }
        }
Example #20
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pRequest"></param>
        /// <returns></returns>
        public SurveyAnswerResponse GetFormResponseList(SurveyAnswerRequest pRequest)
        {
            try
            {
                SurveyAnswerResponse result = new SurveyAnswerResponse(pRequest.RequestId);


                Epi.Web.Interfaces.DataInterfaces.IDaoFactory        entityDaoFactory   = new EF.EntityDaoFactory();
                Epi.Web.Interfaces.DataInterfaces.ISurveyResponseDao ISurveyResponseDao = entityDaoFactory.SurveyResponseDao;
                Epi.Web.Interfaces.DataInterfaces.ISurveyInfoDao     ISurveyInfoDao     = entityDaoFactory.SurveyInfoDao;
                Epi.Web.BLL.SurveyResponse Implementation = new Epi.Web.BLL.SurveyResponse(ISurveyResponseDao, ISurveyInfoDao);

                SurveyAnswerCriteria criteria = pRequest.Criteria;
                //result.SurveyResponseList = Mapper.ToDataTransferObject(Implementation.GetFormResponseListById(pRequest.Criteria.SurveyId, pRequest.Criteria.PageNumber, pRequest.Criteria.IsMobile));
                result.SurveyResponseList = Mapper.ToDataTransferObject(Implementation.GetFormResponseListById(criteria));//Pain point
                //Query The number of records

                //result.NumberOfPages = Implementation.GetNumberOfPages(pRequest.Criteria.SurveyId, pRequest.Criteria.IsMobile);
                //result.NumberOfResponses = Implementation.GetNumberOfResponses(pRequest.Criteria.SurveyId);

                result.NumberOfPages     = Implementation.GetNumberOfPages(pRequest.Criteria);
                result.NumberOfResponses = Implementation.GetNumberOfResponses(pRequest.Criteria);

                //Get form info
                //Interfaces.DataInterface.IFormInfoDao surveyInfoDao = new EF.EntityFormInfoDao();
                //Epi.Web.BLL.FormInfo ImplementationFormInfo = new Epi.Web.BLL.FormInfo(surveyInfoDao);
                //result.FormInfo = Mapper.ToFormInfoDTO(ImplementationFormInfo.GetFormInfoByFormId(pRequest.Criteria.SurveyId, false, pRequest.Criteria.UserId));


                SurveyInfoResponse response = new SurveyInfoResponse(pRequest.RequestId);


                Epi.Web.Interfaces.DataInterfaces.ISurveyInfoDao surveyInfoDao = entityDaoFactory.SurveyInfoDao;
                Epi.Web.BLL.SurveyInfo surveyInfo = new Epi.Web.BLL.SurveyInfo(surveyInfoDao);

                if (!ValidRequest(pRequest, response, Validate.All))
                {
                    return(result);
                }


                List <string> SurveyIdList = new List <string>();

                SurveyIdList.Add(pRequest.Criteria.SurveyId.ToUpper());

                List <SurveyInfoBO> bo = surveyInfo.GetSurveyInfoById(SurveyIdList);

                result.SurveyInfo = Mapper.ToDataTransferObject(bo)[0];



                return(result);
            }
            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);
            }
        }