/// <summary>
        /// Retrieves the lists.
        /// </summary>
        /// <returns></returns>
        public virtual NameValueCollection RetrieveLists()
        {
            var output = new NameValueCollection();
            try
            {

                // input parameters
                var listInput = new listsInput(_mailChimpSettings.ApiKey);

                // execute the request
                var cmd = new lists(listInput);
                listsOutput listOutput = cmd.Execute();

                if (listOutput != null && listOutput.result != null && listOutput.result.total > 0)
                {
                    foreach (listsResults.DataItem item in listOutput.result.data)
                    {
                        output.Add(item.name, item.id);
                    }
                }
            }
            catch (Exception e)
            {
                _log.Debug(e.Message, e);
            }
            return output;
        }
        /// <summary>
        /// Retrieves the lists.
        /// </summary>
        /// <returns></returns>
        public virtual NameValueCollection RetrieveLists()
        {
            var output = new NameValueCollection();

            try
            {
                // input parameters
                var listInput = new listsInput(_mailChimpSettings.ApiKey);

                // execute the request
                var         cmd        = new lists(listInput);
                listsOutput listOutput = cmd.Execute();

                if (listOutput != null && listOutput.result != null && listOutput.result.total > 0)
                {
                    foreach (listsResults.DataItem item in listOutput.result.data)
                    {
                        output.Add(item.name, item.id);
                    }
                }
            }
            catch (Exception e)
            {
                _log.Debug(e.Message, e);
            }
            return(output);
        }
    // A real simple request (using all default settings)
    public void lists_method()
    {
        // input parameters, using default apikey
        listsInput input = new listsInput(MCAPISettings.default_apikey);
        // execution
        lists cmd = new lists(input);
        listsOutput output = cmd.Execute();
        // format output (Assuming a User control named show_lists)

        //show_lists1.Display(output);
    }
Esempio n. 4
0
        static void Main(string[] args)
        {
            lists list1 = new lists();
            int   i     = 0;

            list1.add("arm");
            list1.add("pc");
            list1.add("x86");
            list1.add("80186");
            list1.add("80286");
            list1.add("80386");
            list1.add("80486");
            list1.report();
            list1.remove(1);
            list1.report();
        }
Esempio n. 5
0
        void LoadList(lists list)
        {
            if (currentList == list)
            {
                return;
            }
            currentList = list;

            string[] items = new string[0];
            switch (list)
            {
            case lists.elevator:
                items = elevatorList;
                break;

            case lists.powerup:
                items = powerupList;
                break;

            case lists.singlebyte:
                items = singleByteList;
                break;

            case lists.doors:
                items = doorList;
                break;

            case lists.turret:
                items = turretList;
                break;
            }

            itemValueList.Items.Clear();

            for (int i = 0; i < items.Length; i++)
            {
                string[] parts = items[i].Split(':');
                itemValueList.Items.Add(parts[2], parts[1]).Tag = parts[0];
            }
        }
Esempio n. 6
0
        /// <summary>
        /// Gets the mail chimp lists.
        /// </summary>
        /// <param name="apikey">The apikey.</param>
        /// <returns></returns>
        public List <listsResults.DataItem> GetMailChimpLists(string apikey)
        {
            //todo:pass
            listsInput  input  = new listsInput(apikey);
            lists       cmd    = new lists(input);
            listsOutput output = cmd.Execute();

            if (output.api_ErrorMessages.Count > 0)
            {
                StringBuilder sbErrDetail = new StringBuilder();
                foreach (var apiErrorMessage in output.api_ErrorMessages)
                {
                    sbErrDetail.AppendLine(string.Format("error code:{0},error msg:{1}", apiErrorMessage.code,
                                                         apiErrorMessage.error));
                }
                string errMsg = string.Format("apikey:{4}\r\n{0}{1}{2}{3}", output.api_Request, output.api_Response,     // raw data
                                              sbErrDetail.ToString(), output.api_ValidatorMessages, apikey);
                //int Event_id = 5011;
                //EventLog.WriteEntry(InfoHubEventLog.LogSource, errMsg, EventLogEntryType.Warning, Event_id, Category);
                return(new List <listsResults.DataItem>());
            }
            return(output.result.data);
        }
Esempio n. 7
0
        static void Main(string[] args)
        {
            lists list1 = new lists(false);
            lists list2 = new lists(true);
            int   i     = 0;

            list1.add("CCC");
            list1.add("AAA");
            list1.add("MMM");
            list1.add("ZZZ");
            list1.add("XXX");
            list1.add("VVV");
            list1.add("BBB");
            list2.add("CCC");
            list2.add("AAA");
            list2.add("MMM");
            list2.add("ZZZ");
            list2.add("XXX");
            list2.add("VVV");
            list2.add("BBB");
            list1.report();
            list2.report();
        }
Esempio n. 8
0
        public Dictionary<String, String> getListsFromApi()
        {
            var listsInput = new listsInput(MailChimpSettings.ApiKey);
            var listsCmd = new lists(listsInput);

            var answer = listsCmd.Execute();

            var lists = new Dictionary<String, String>();
            foreach (var result in answer.result)
            {
                lists.Add(result.id, result.name);
            }

            return lists;
        }
 private void AddMatrixPort(lists.ATMLListControl listView)
 {
     MatrixPortForm form = new MatrixPortForm();
     form.MatrixPort = new MatrixPort();
     if (DialogResult.OK == form.ShowDialog())
     {
         MatrixPort port = form.MatrixPort;
         ListViewItem lvi = new ListViewItem(port.name);
         lvi.SubItems.Add(port.Description);
         lvi.SubItems.Add(port.baseIndexSpecified ? "" + port.baseIndex : "");
         lvi.SubItems.Add(port.countSpecified ? "" + port.count : "");
         lvi.SubItems.Add(port.incrementBySpecified ? "" + port.incrementBy : "");
         lvi.SubItems.Add(port.replacementCharacter);
         lvi.Tag = port;
         listView.Items.Add(lvi);
     }
 }
 private void EditMatrixPort(lists.ATMLListControl listView)
 {
     if (lvColumns.SelectedItems.Count > 0)
     {
         ListViewItem lvi = listView.SelectedItems[0];
         MatrixPortForm form = new MatrixPortForm();
         form.MatrixPort = (MatrixPort)lvi.Tag;
         if (DialogResult.OK == form.ShowDialog())
         {
             MatrixPort port = form.MatrixPort;
             lvi.SubItems[0].Text = port.name;
             lvi.SubItems[1].Text = port.Description;
             lvi.SubItems[2].Text = port.baseIndexSpecified ? "" + port.baseIndex : "";
             lvi.SubItems[3].Text = port.countSpecified ? "" + port.count : "";
             lvi.SubItems[4].Text = port.incrementBySpecified ? "" + port.incrementBy : "";
             lvi.SubItems[5].Text = port.replacementCharacter;
             lvi.Tag = port;
         }
     }
 }
        private void DeleteMatrixPort(lists.ATMLListControl listView)
        {
            if (listView.SelectedItems.Count > 0)
            {
                MatrixPort port = (MatrixPort)listView.SelectedItems[0].Tag;
                String prompt = String.Format(MessageManager.getMessage("Generic.delete.prompt"), "matrix port", port.name);
                String title = MessageManager.getMessage("Generic.title.verification");
                if (DialogResult.Yes == MessageBox.Show(prompt,
                                                         title,
                                                         MessageBoxButtons.YesNo,
                                                         MessageBoxIcon.Question))
                {
                    listView.SelectedItems[0].Remove();
                }

            }
        }
 private void AddListViewItem(SwitchPort port, lists.ATMLListControl listView)
 {
     ListViewItem lvi = new ListViewItem(port.name);
     lvi.SubItems.Add(port.Description);
     lvi.SubItems.Add(port.baseIndexSpecified ? "" + port.baseIndex : "");
     lvi.SubItems.Add(port.countSpecified ? "" + port.count : "");
     lvi.SubItems.Add(port.incrementBySpecified ? "" + port.incrementBy : "");
     lvi.SubItems.Add(port.replacementCharacter);
     lvi.Tag = port;
     listView.Items.Add(lvi);
 }
        private void btnSync_Click(object sender, EventArgs e)
        {
            if (this.SelectedItems.Count == 0)
            {
                MessageBox.Show("請先選擇電子報名單。");
                return;
            }

            listsInput input = new listsInput(this.MailChimp_API_Key);
            lists cmd = new lists();
            listsOutput output = cmd.Execute(input);
            List<string> lists_duplicated = new List<string>();
            this.dicMailChimpLists.Clear();
            if (output != null)
            {
                if (output.result != null)
                {
                    foreach (var listsResult in output.result)
                    {
                        if (!dicMailChimpLists.ContainsKey(listsResult.name))
                        {
                            dicMailChimpLists.Add(listsResult.name, new McList()
                            {
                                ListId = listsResult.id,
                                ListName = listsResult.name,
                                MemberCount = listsResult.member_count,
                                UnsubscribeCount = listsResult.unsubscribe_count
                            });
                        }
                        else
                        {
                            if (this.SelectedItems.ContainsKey(listsResult.name))
                                lists_duplicated.Add(listsResult.name);
                        }
                    }
                }
            }
            lists_duplicated = lists_duplicated.Distinct().ToList();
            if (lists_duplicated.Count > 0)
            {
                MessageBox.Show(string.Format("下列 MailChimp Lists 名稱重覆,請先移除重覆之 MailChimp Lists:\n\n{0}", string.Join(",", lists_duplicated.Select(x => x))));
                return;
            }
            List<string> lists_NoneMailChimp = new List<string>();
            this.SelectedItems.Keys.ToList().ForEach((x) =>
            {
                if (!this.dicMailChimpLists.ContainsKey(x))
                    lists_NoneMailChimp.Add(x);
            });
            if (lists_NoneMailChimp.Count > 0)
            {
                MessageBox.Show(string.Format("下列電子報名單不存在於 MailChimp Lists,請先在 MailChimp 中建立:\n\n{0}", string.Join(",", lists_NoneMailChimp.Select(x => x))));
                return;
            }

            this.circularProgress.Visible = true;
            this.circularProgress.IsRunning = true;
            Task task = Task.Factory.StartNew(() =>
            {
                this.TeacherTags = this.GetTeacherTags();
                this.StudentTags = this.GetStudentTags();

                List<string> TeacherIDs = new List<string>();
                List<string> StudentIDs = new List<string>();
                this.TeacherTags.Values.ToList().ForEach(x => TeacherIDs.AddRange(x));
                this.StudentTags.Values.ToList().ForEach(x => StudentIDs.AddRange(x));

                this.dicTeachers = this.GetTeachersByIDs(TeacherIDs.Distinct().ToList());
                this.dicStudents = this.GetStudentsByIDs(StudentIDs.Distinct().ToList());

                foreach (string key in this.SelectedItems.Keys)
                {
                    listBatchSubscribe_method(this.SelectedItems[key]);
                }
            });
            task.ContinueWith((x) =>
            {
                if (x.Exception != null)
                    MessageBox.Show(x.Exception.InnerException.Message);
                else
                    MessageBox.Show("同步完成。");

                this.circularProgress.IsRunning = false;
                this.circularProgress.Visible = false;
            }, System.Threading.CancellationToken.None, TaskContinuationOptions.None, TaskScheduler.FromCurrentSynchronizationContext());
        }