コード例 #1
0
        public async Task <IActionResult> PostSubscribeSuccess([FromBody] Subscribe subscribe)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            subscribe.SubscribeDate = _createDate;
            subscribe.CreateDate    = _createDate;
            subscribe.IP            = HttpContext.Connection.RemoteIpAddress.ToString();

            byte[] bytes = Convert.FromBase64String(subscribe.Email);
            subscribe.Email = Encoding.Default.GetString(bytes);


            if (!SubscribeExists(subscribe.Email))
            {
                _context.Subscribe.Add(subscribe);
            }

            await _context.SaveChangesAsync();

            var emailServices = new SendEmail(_emailConfigList, _mailChimpConfig, subscribe.Category);

            /*string emailBody, email;
             *
             * if (subscribe.Category == EnumUtils.Category.ExchangeUnion.ToString())
             * {
             *  emailBody = String.Format(Constant.XUC_SUBSCRIBE_SUCCESS_TEMPLETE, subscribe.Email, DateTime.Now.ToShortDateString());
             *  email = _emailConfigList.Value.XUCEmailConfig.Form;
             * }
             * else
             * {
             *  emailBody = String.Format(Constant.DFG_SUBSCRIBE_SUCCESS_TEMPLETE, subscribe.Email, DateTime.Now.ToShortDateString());
             *  email = _emailConfigList.Value.DFGEmailConfig.Form;
             * }
             *
             * Task<bool> sendEmailSuccess = emailServices.SendEmailAsync(email, email + "  subscribe complete", emailBody);
             * Task.WaitAll(sendEmailSuccess);*/

            Task <bool> testMailChimp = emailServices.AddMemberToMailChimp(subscribe.Email);

            Task.WaitAll(testMailChimp);

            return(CreatedAtAction("GetSubscribe", new { id = subscribe.Id }, subscribe));
        }