protected void btnSubmit_Click(object sender, EventArgs e)
        {
            try
            {
                var microProperties = DIContainer.Resolve <IMicroProperties>();

                var fileStream = ReadRequestFileStream();
                var fileName   = inpFileName.Value;
                var fileId     = UploadFile(microProperties, fileStream, fileName);

                var mailingClient = new MailingListClient(microProperties);
                var containerId   = Guid.Empty;
                if (_container == null)
                {
                    containerId = CreateMailingContainer(mailingClient, fileName);
                }
                else
                {
                    containerId = new Guid(_container.Id);
                    ClearMailingContainer(mailingClient, containerId);
                }

                RedirectToNextPage(containerId, fileId);
            }
            catch (Exception exc)
            {
                inpError.Value = exc.Message;
                EventLogProvider.LogException(GetType().Name, "EXCEPTION", exc, CurrentSite.SiteID);
            }
        }
        private void ClearMailingContainer(MailingListClient mailingClient, Guid containerId)
        {
            if (mailingClient == null)
            {
                return;
            }

            var removeResult = mailingClient.RemoveAddresses(containerId).Result;

            if (!removeResult.Success)
            {
                EventLogProvider.LogEvent(EventType.ERROR, GetType().Name, "MailingListClient", removeResult.ErrorMessages, siteId: CurrentSite.SiteID);
            }
        }
        private Guid CreateMailingContainer(MailingListClient mailingClient, string containerName)
        {
            if (mailingClient == null)
            {
                return(Guid.Empty);
            }

            var mailType     = Request.Form[GetString("Kadena.MailingList.MailType")];
            var product      = Request.Form[GetString("Kadena.MailingList.Product")];
            var validity     = int.Parse(Request.Form[GetString("Kadena.MailingList.Validity")]);
            var createResult = mailingClient.CreateMailingContainer(
                containerName,
                mailType,
                product,
                validity,
                ECommerceContext.CurrentCustomer?.CustomerID.ToString()).Result;

            if (!createResult.Success)
            {
                EventLogProvider.LogEvent(EventType.ERROR, GetType().Name, "MailingListClient", createResult.ErrorMessages, siteId: CurrentSite.SiteID);
            }

            return(createResult?.Payload ?? Guid.Empty);
        }