Beispiel #1
0
        public int SaveWebsiteAddress(WebsiteAddRequest model)
        {
            var addressId = model.AddressId;
            AddressAddRequest    newAddress = new AddressAddRequest();
            AddressUpdateRequest Address    = new AddressUpdateRequest();

            if (addressId > 0)
            {
                Address.Name            = model.Name;
                Address.AddressId       = model.AddressId;
                Address.ExternalPlaceId = model.ExternalAddressId;
                Address.Line1           = model.Street;
                Address.City            = model.City;
                Address.State           = model.State;
                Address.ZipCode         = model.ZipCode;
                Address.Country         = model.Country;

                Update(Address);
            }
            else
            {
                newAddress.Name            = model.Name;
                newAddress.ExternalPlaceId = model.ExternalAddressId;
                newAddress.Line1           = model.Street;
                newAddress.City            = model.City;
                newAddress.State           = model.State;
                newAddress.ZipCode         = model.ZipCode;
                newAddress.Country         = model.Country;

                addressId = Insert(newAddress);
            }

            return(addressId);
        }
        public async Task <int> websiteInsert(WebsiteAddRequest model)
        {
            // ---- Address Service Call ----
            var AddressResult = _AddressService.SaveWebsiteAddress(model);

            // ---- Create New MailChimp List for THIS website ----
            var MailChimpResult = await _CampaignsService.InsertList(model);

            int id = 0;

            DataProvider.ExecuteNonQuery(GetConnection, "dbo.Website_Insert"
                                         , inputParamMapper : delegate(SqlParameterCollection paramCollection)
            {
                paramCollection.AddWithValue("@Name", model.Name);
                paramCollection.AddWithValue("@Slug", model.Slug);
                paramCollection.AddWithValue("@Description", model.Description);
                paramCollection.AddWithValue("@Url", model.Url);
                paramCollection.AddWithValue("@MediaId", model.MediaId);
                paramCollection.AddWithValue("@Phone", model.Phone);
                paramCollection.AddWithValue("@AddressId", AddressResult);
                paramCollection.AddWithValue("@ListId", MailChimpResult);
                paramCollection.AddWithValue("@FromEmail", model.FromEmail);
                paramCollection.AddWithValue("@FromName", model.FromName);
                paramCollection.AddWithValue("@Subject", model.Subject);
                paramCollection.AddWithValue("@PermissionReminder", model.PermissionReminder);

                SqlParameter p = new SqlParameter("@Id", System.Data.SqlDbType.Int);
                p.Direction    = System.Data.ParameterDirection.Output;

                paramCollection.Add(p);
            },
                                         returnParameters : delegate(SqlParameterCollection param)
            {
                int.TryParse(param["@Id"].Value.ToString(), out id);
            }
                                         );

            return(id);
        }
        public async Task <string> InsertList(WebsiteAddRequest model)
        {
            List ThisList = new List();

            string Id = model.ListId;

            if (Id == null)
            {
                ThisList.Name = model.Name;

                Contact Contact = new Contact();
                Contact.Company  = model.Name;
                Contact.Address1 = model.Street;
                Contact.City     = model.City;
                Contact.State    = model.State;
                Contact.Zip      = model.ZipCode.ToString();
                Contact.Country  = model.Country;

                ThisList.Contact            = Contact;
                ThisList.PermissionReminder = model.PermissionReminder;

                CampaignDefaults CampaignDefaults = new CampaignDefaults();
                CampaignDefaults.FromEmail = model.FromEmail;
                CampaignDefaults.FromName  = model.FromName;
                CampaignDefaults.Subject   = model.Subject;
                CampaignDefaults.Language  = "en/us";

                ThisList.CampaignDefaults = CampaignDefaults;
                ThisList.EmailTypeOption  = true;
            }
            else
            {
                ThisList.Name = model.Name;

                ThisList.Id = model.ListId;

                Contact Contact = new Contact();
                Contact.Company  = model.Name;
                Contact.Address1 = model.Street;
                Contact.City     = model.City;
                Contact.State    = model.State;
                Contact.Zip      = model.ZipCode.ToString();
                Contact.Country  = model.Country;

                ThisList.Contact = Contact;

                ThisList.PermissionReminder = model.PermissionReminder;

                CampaignDefaults CampaignDefaults = new CampaignDefaults();
                CampaignDefaults.FromEmail = model.FromEmail;
                CampaignDefaults.FromName  = model.FromName;
                CampaignDefaults.Subject   = model.Subject;
                CampaignDefaults.Language  = "en/us";

                ThisList.CampaignDefaults = CampaignDefaults;

                ThisList.EmailTypeOption = true;
            }
            var result = await Manager.Lists.AddOrUpdateAsync(ThisList);

            var ListId = result.Id;

            return(ListId); // return list id ---> pass into web service ---> insert to website table
        }