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