/// <summary>
        ///
        /// </summary>
        /// <param name="pRequestMessage"></param>
        /// <returns></returns>
        public PublishResponse PublishSurvey(PublishRequest pRequest)
        {
            try
            {
                PublishResponse result = new PublishResponse(pRequest.RequestId);
                Epi.Web.Enter.Interfaces.DataInterfaces.ISurveyInfoDao   SurveyInfoDao   = new EFwcf.EntitySurveyInfoDao();
                Epi.Web.Enter.Interfaces.DataInterfaces.IOrganizationDao OrganizationDao = new EFwcf.EntityOrganizationDao();


                Epi.Web.BLL.Publisher Implementation        = new Epi.Web.BLL.Publisher(SurveyInfoDao, OrganizationDao);
                SurveyInfoBO          surveyInfoBO          = Mapper.ToBusinessObject(pRequest.SurveyInfo);
                SurveyRequestResultBO surveyRequestResultBO = Implementation.PublishSurvey(surveyInfoBO);
                result.PublishInfo = Mapper.ToDataTransferObject(surveyRequestResultBO);

                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);
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Maps SurveyRequestResultBO business object to PublishInfoDTO.
 /// </summary>
 /// <param name="SurveyInfo">A SurveyRequestResultBO business object.</param>
 /// <returns>A PublishInfoDTO.</returns>
 public static PublishInfoDTO ToDataTransferObject(SurveyRequestResultBO pBO)
 {
     return(new PublishInfoDTO
     {
         IsPulished = pBO.IsPulished,
         StatusText = pBO.StatusText,
         URL = pBO.URL,
         ViewIdAndFormIdList = pBO.ViewIdAndFormIdList
     });
 }
        public SurveyRequestResultBO RePublishSurvey(SurveyInfoBO pRequestMessage)
        {
            SurveyRequestResultBO result = new SurveyRequestResultBO();

            if (IsRelatedForm(pRequestMessage.XML))
            {
                result = RePublishRelatedFormSurvey(pRequestMessage);
            }
            else
            {
                result = RePublish(pRequestMessage);
            }
            return(result);
        }
Exemplo n.º 4
0
        public SurveyRequestResultBO RePublishSurvey(SurveyInfoBO pRequestMessage)
        {
            this.ViewIds     = pRequestMessage.RelateViewIds;
            this.ViewIdNames = pRequestMessage.ViewIdNames;
            SurveyRequestResultBO result = new SurveyRequestResultBO();

            if (pRequestMessage.ViewIdNames.Count > 1)
            {
                result = RePublishRelatedFormSurvey(pRequestMessage);
            }
            else
            {
                result = RePublish(pRequestMessage);
            }
            return(result);
        }
        /// <summary>
        /// Publish MetaData to Cloud
        /// </summary>
        /// <param name="pRequestMessage"></param>
        /// <returns></returns>
        public PublishResponse MetaDataToCloud(PublishRequest pRequest)
        {
            bool            pCloud = true;
            MetaDataToCloud _publishMetaDataToCloud = new MetaDataToCloud();

            try
            {
                //pRequest.RequestId = "2";
                PublishResponse result = new PublishResponse(pRequest.RequestId);

                if (pCloud)
                {
                    //Stop Web Job
                    if (_publishMetaDataToCloud.StartAndStopWebJob(Constant.WebJob.Stop))
                    {
                        //Update SurveyMetaData table in Cloud
                        Epi.Web.Enter.Interfaces.DataInterfaces.ISurveyInfoDao   SurveyInfoDao   = new EFwcf.EntitySurveyInfoDao();
                        Epi.Web.Enter.Interfaces.DataInterfaces.IOrganizationDao OrganizationDao = new EFwcf.EntityOrganizationDao();
                        Epi.Web.BLL.Publisher Implementation        = new Epi.Web.BLL.Publisher(SurveyInfoDao, OrganizationDao);
                        SurveyInfoBO          surveyInfoBO          = Mapper.ToBusinessObject(pRequest.SurveyInfo);
                        SurveyRequestResultBO surveyRequestResultBO = Implementation.PublishSurvey(surveyInfoBO);
                        result.PublishInfo = Mapper.ToDataTransferObject(surveyRequestResultBO);
                        EpiCloudOperation();
                    }
                }
                else
                {
                }
                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);
            }
        }
        private SurveyRequestResultBO RePublish(SurveyInfoBO pRequestMessage)
        {
            SurveyRequestResultBO result = new SurveyRequestResultBO();
            string _Xml     = pRequestMessage.XML;
            var    SurveyId = new Guid(pRequestMessage.SurveyId);

            if (pRequestMessage != null)
            {
                //if (! string.IsNullOrEmpty(pRequestMessage.SurveyNumber)  &&  ValidateOrganizationKey(pRequestMessage.OrganizationKey))
                if (ValidateOrganizationKeyByUser(pRequestMessage.OrganizationKey, pRequestMessage.OwnerId))       //EW-96
                {
                    if (ValidateSurveyFields(pRequestMessage))
                    {
                        try
                        {
                            if (pRequestMessage.IsSqlProject)
                            {
                                this.SurveyInfoDao.ValidateServername(pRequestMessage);
                            }
                            XDocument xdoc = XDocument.Parse(pRequestMessage.XML);
                            xdoc.Descendants().Where(e => e.Name == "SourceTable").Remove();
                            pRequestMessage.XML = xdoc.ToString();
                            this.SurveyInfoDao.UpdateSurveyInfo(ToBusinessObject(pRequestMessage, SurveyId));
                            ////Insert Connection string..
                            //DbConnectionStringBO DbConnectionStringBO = new DbConnectionStringBO();
                            //DbConnectionStringBO = GetConnection(pRequestMessage.DBConnectionString);
                            //DbConnectionStringBO.SurveyId = SurveyId;
                            //this.SurveyInfoDao.InsertConnectionString(DbConnectionStringBO);
                            var BO = ToBusinessObject(pRequestMessage, SurveyId);
                            this.SurveyInfoDao.InsertFormdefaultSettings(SurveyId.ToString(), pRequestMessage.IsSqlProject, GetSurveyControls(BO));
                            Dictionary <int, string> SurveyIdsList = new Dictionary <int, string>();
                            SurveyIdsList.Add(GetViewId(pRequestMessage.XML), SurveyId.ToString());
                            result.ViewIdAndFormIdList = SurveyIdsList;
                            result.URL        = GetURL(pRequestMessage, SurveyId);
                            result.IsPulished = true;
                            ReSetSourceTable(_Xml, SurveyId.ToString());
                        }
                        catch (Exception ex)
                        {
                            System.Console.Write(ex.ToString());
                            //Entities.ObjectStateManager.GetObjectStateEntry(SurveyMetaData).Delete();
                            result.URL        = "";
                            result.IsPulished = false;
                            result.StatusText = "An Error has occurred while publishing your survey.";
                        }
                    }
                    else
                    {
                        result.URL        = "";
                        result.IsPulished = false;
                        result.StatusText = "One or more survey required fields are missing values.";
                    }
                }
                else
                {
                    result.URL        = "";
                    result.IsPulished = false;
                    result.StatusText = "Organization Key is invalid.";
                }
            }

            return(result);
        }
Exemplo n.º 7
0
        private SurveyRequestResultBO Publish(SurveyInfoBO pRequestMessage)
        {
            string _Xml = pRequestMessage.XML;
            SurveyRequestResultBO result = new SurveyRequestResultBO();

            var SurveyId = Guid.NewGuid();

            if (pRequestMessage != null)
            {
                //if (! string.IsNullOrEmpty(pRequestMessage.SurveyNumber)  &&  ValidateOrganizationKey(pRequestMessage.OrganizationKey))
                if (ValidateOrganizationKey(pRequestMessage.OrganizationKey))
                {
                    if (ValidateSurveyFields(pRequestMessage))
                    {
                        try
                        {
                            Epi.Web.Common.BusinessObject.SurveyInfoBO BO = new Epi.Web.Common.BusinessObject.SurveyInfoBO();

                            //BO.SurveyId = SurveyId.ToString();
                            //BO.ClosingDate = pRequestMessage.ClosingDate;

                            //BO.IntroductionText = pRequestMessage.IntroductionText;
                            //BO.ExitText = pRequestMessage.ExitText;
                            //BO.DepartmentName = pRequestMessage.DepartmentName;
                            //BO.OrganizationName = pRequestMessage.OrganizationName;

                            //BO.SurveyNumber = pRequestMessage.SurveyNumber;

                            //XDocument xdoc = XDocument.Parse(pRequestMessage.XML);
                            //xdoc.Descendants().Where(e => e.Name == "SourceTable").Remove();
                            //BO.XML = xdoc.ToString();

                            //BO.SurveyName = pRequestMessage.SurveyName;

                            //BO.SurveyType = pRequestMessage.SurveyType;
                            //BO.UserPublishKey = pRequestMessage.UserPublishKey;
                            //BO.OrganizationKey = pRequestMessage.OrganizationKey;
                            //BO.OrganizationKey = pRequestMessage.OrganizationKey;
                            //BO.TemplateXMLSize = pRequestMessage.TemplateXMLSize;
                            //BO.IsDraftMode = pRequestMessage.IsDraftMode;
                            //BO.StartDate = pRequestMessage.StartDate;

                            BO = ToBusinessObject(pRequestMessage, SurveyId);
                            if (pRequestMessage.IsSqlProject)
                            {
                                this.SurveyInfoDao.ValidateServername(pRequestMessage);
                            }

                            BO.IsSqlProject = pRequestMessage.IsSqlProject;

                            this.SurveyInfoDao.InsertSurveyInfo(BO);
                            result.URL        = GetURL(pRequestMessage, SurveyId);
                            result.IsPulished = true;
                            //Insert Connection string..
                            if (pRequestMessage.IsSqlProject)
                            {
                                DbConnectionStringBO DbConnectionStringBO = new DbConnectionStringBO();
                                DbConnectionStringBO          = GetConnection(pRequestMessage.DBConnectionString);
                                DbConnectionStringBO.SurveyId = SurveyId;
                                this.SurveyInfoDao.InsertConnectionString(DbConnectionStringBO);
                            }
                            //Source Table
                            SetSourceTable(_Xml, SurveyId.ToString());
                            // View and ID setup
                            Dictionary <int, string> SurveyIdsList = new Dictionary <int, string>();
                            SurveyIdsList.Add(GetViewId(pRequestMessage.XML), SurveyId.ToString());
                            result.ViewIdAndFormIdList = SurveyIdsList;
                        }
                        catch (Exception ex)
                        {
                            System.Console.Write(ex.ToString());
                            //Entities.ObjectStateManager.GetObjectStateEntry(SurveyMetaData).Delete();
                            result.URL        = "";
                            result.IsPulished = false;
                            result.StatusText = "An Error has occurred while publishing your survey.";
                        }
                    }
                    else
                    {
                        result.URL        = "";
                        result.IsPulished = false;
                        result.StatusText = "One or more survey required fields are missing values.";
                    }
                }
                else
                {
                    result.URL        = "";
                    result.IsPulished = false;
                    result.StatusText = "Organization Key is invalid.";
                }
            }
            return(result);
        }
Exemplo n.º 8
0
        private SurveyRequestResultBO RePublish(SurveyInfoBO pRequestMessage)
        {
            SurveyRequestResultBO result = new SurveyRequestResultBO();

            var SurveyId = new Guid(pRequestMessage.SurveyId);

            if (pRequestMessage != null)
            {
                //if (! string.IsNullOrEmpty(pRequestMessage.SurveyNumber)  &&  ValidateOrganizationKey(pRequestMessage.OrganizationKey))
                if (ValidateOrganizationKeyByUser(pRequestMessage.OrganizationKey, pRequestMessage.OwnerId))       //EW-96
                {
                    if (ValidateSurveyFields(pRequestMessage))
                    {
                        try
                        {
                            //if (pRequestMessage.IsSqlProject)
                            // this.SurveyInfoDao.ValidateServername(pRequestMessage);
                            this.SurveyInfoDao.UpdateSurveyInfo(ToBusinessObject(pRequestMessage, SurveyId));
                            ////Insert Connection string..
                            //DbConnectionStringBO DbConnectionStringBO = new DbConnectionStringBO();
                            //DbConnectionStringBO = GetConnection(pRequestMessage.DBConnectionString);
                            //DbConnectionStringBO.SurveyId = SurveyId;
                            //this.SurveyInfoDao.InsertConnectionString(DbConnectionStringBO);
                            var           BO   = ToBusinessObject(pRequestMessage, SurveyId);
                            List <string> List = new List <string>();
                            //var list = ViewColumnNames.Where(x => x.Key == BO.ViewId);
                            //foreach (var item in list)
                            //{
                            //    List.Add(item.Value.ToString());
                            //}
                            //this.SurveyInfoDao.InsertFormdefaultSettings(SurveyId.ToString(), pRequestMessage.IsSqlProject, List);
                            Dictionary <int, string> SurveyIdsList = new Dictionary <int, string>();
                            //SurveyIdsList.Add(GetViewId(pRequestMessage.XML), SurveyId.ToString());
                            SurveyIdsList.Add(BO.ViewId, SurveyId.ToString());
                            result.ViewIdAndFormIdList = SurveyIdsList;
                            result.URL        = GetURL(pRequestMessage, SurveyId);
                            result.IsPulished = true;
                        }
                        catch (Exception ex)
                        {
                            System.Console.Write(ex.ToString());
                            //Entities.ObjectStateManager.GetObjectStateEntry(SurveyMetaData).Delete();
                            result.URL        = "";
                            result.IsPulished = false;
                            result.StatusText = "An Error has occurred while publishing your survey.";
                        }
                    }
                    else
                    {
                        result.URL        = "";
                        result.IsPulished = false;
                        result.StatusText = "One or more survey required fields are missing values.";
                    }
                }
                else
                {
                    result.URL        = "";
                    result.IsPulished = false;
                    result.StatusText = "Organization Key is invalid.";
                }
            }

            return(result);
        }