Esempio n. 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var client = new WufooClient("swotme", "1R68-WOYM-LDWD-GIL0");
            //var client = new WufooClient("crm2012", "X031-12R2-NR70-1R92");
            var wufooForm = client.GetAllForms().FirstOrDefault(o => o.Hash == "s7p0x3");
            //var wufooForm = client.GetAllForms().FirstOrDefault(o => o.Hash == "z7x3p9");
            var users    = client.GetAllUsers();
            var user     = users.Count() > 1 ? users.FirstOrDefault(o => o.IsAccountOwner) : users.FirstOrDefault();
            var utcNow   = DateTime.UtcNow;
            var timezone = (DateTime.Now - utcNow).TotalHours;

            var fb = new FilterBuilder(FilterMatchType.And);

            fb.IsAfter("DateCreated", DateTime.Now.Date.AddDays(-1));
            var entries = client.GetEntriesByFormId(wufooForm.Hash, fb, new Sort("DateCreated", SortDirection.Asc)).ToList();
        }
Esempio n. 2
0
        /// <summary>
        /// Wufooes the load data.
        /// </summary>
        /// <param name="siteId">The site id.</param>
        /// <param name="siteActivityRuleId">The site activity rule id.</param>
        /// <param name="date">The date.</param>
        /// <returns></returns>
        public static WufooFormLoadDataResult WufooLoadData(Guid siteId, Guid siteActivityRuleId, DateTime date)
        {
            var result = new WufooFormLoadDataResult();

            var dataManager = new DataManager();

            var siteActivityRule = dataManager.SiteActivityRules.SelectById(siteId, siteActivityRuleId);

            var externalForm = dataManager.SiteActivityRuleExternalForms.Select(siteActivityRule.Code, siteActivityRuleId);

            if (externalForm == null || !externalForm.tbl_SiteActivityRuleExternalFormFields.Any())
            {
                result.Message = "Перед тем как загружать данные, нужно привязать поля на вкладке 'Форма Wufoo'.";
                return(result);
            }

            var client    = new WufooClient(siteActivityRule.WufooName, siteActivityRule.WufooAPIKey);
            var wufooForm = client.GetAllForms().FirstOrDefault(o => o.Hash == siteActivityRule.Code);
            var fb        = new FilterBuilder(FilterMatchType.And);

            fb.IsAfter("DateCreated", date);
            var revisionDate = DateTime.Now;

            if (wufooForm != null)
            {
                var entries =
                    client.GetEntriesByFormId(wufooForm.Hash, fb, new Sort("DateCreated", SortDirection.Asc)).ToList();
                var users = client.GetAllUsers();

                var user           = users.Count() > 1 ? users.FirstOrDefault(o => o.IsAccountOwner) : users.FirstOrDefault();
                var serverTimezone = (DateTime.Now - DateTime.UtcNow).TotalHours;
                var wufooTimezone  = user.TimeZone;

                foreach (var entry in entries)
                {
                    ProceedExternalForm(siteId, externalForm.ID, wufooForm.Hash,
                                        null, entry.Responses,
                                        string.Format("{0}${1}${2}", siteId, wufooForm.Hash, entry.EntryId),
                                        entry.DateCreated.AddHours(-(double)wufooTimezone).AddHours(serverTimezone));
                }
            }
            siteActivityRule.WufooRevisionDate = revisionDate;
            dataManager.SiteActivityRules.Update(siteActivityRule);
            result.RevisionDate = revisionDate;

            return(result);
        }
        /// <summary>
        /// Handles the OnClick event of the lbntAddWufooForm control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void lbntAddWufooForm_OnClick(object sender, EventArgs e)
        {
            ucNotificationMessage.Text = string.Empty;

            try
            {
                var client    = new WufooClient(txtWufooName.Text, txtWufooAPIKey.Text);
                var wufooForm = client.GetAllForms().FirstOrDefault(o => o.Hash == txtCode.Text);

                var form = _dataManager.SiteActivityRules.SelectFormByCode(siteID, wufooForm.Hash);

                if (form == null)
                {
                    form = new tbl_SiteActivityRules
                    {
                        SiteID      = siteID,
                        Name        = wufooForm.Name,
                        RuleTypeID  = (int)RuleType.WufooForm,
                        Code        = wufooForm.Hash,
                        Description = wufooForm.Description,
                        WufooAPIKey = txtWufooAPIKey.Text,
                        WufooName   = txtWufooName.Text
                    };

                    _dataManager.SiteActivityRules.Add(form);

                    Response.Redirect(UrlsData.AP_SiteActivityRule(form.ID, (int)RuleType.WufooForm), false);
                }
                else
                {
                    ucNotificationMessage.Text = "Данная форма уже добавлена в систему.";
                }
            }
            catch (Exception ex)
            {
                Log.Error("Ошибка добавления формы Wufoo", ex);
                ucNotificationMessage.Text = "Ошибка загрузки формы Wufoo. Проверьте введенные данные.";

                if (!Page.ClientScript.IsStartupScriptRegistered("AutoHeight"))
                {
                    ScriptManager.RegisterStartupScript(Page, typeof(Page), "AutoHeight", "AutoHeight();", true);
                }
            }
        }