private cLista.RootObject CreaLista(RequestGeneraCampania crealista, string DataCenter, string ApiKey) { // Crear una Lista Funciones.csMailChimp lista = new Funciones.csMailChimp(); cLista.RootObject parsed = new cLista.RootObject(); var sampleList = JsonConvert.SerializeObject( new { name = crealista.nombre_lista, contact = new { company = "Julio Loyalty", address1 = "Matriz", address2 = "CDMX", city = "CDMX", state = "CDMX", zip = "30308", country = "MX", phone = "" }, permission_reminder = crealista.permiso_recordatorio, campaign_defaults = new { from_name = crealista.nombre_responder, from_email = crealista.correo_responder, subject = crealista.asunto, language = "es", }, email_type_option = true }); string resp = lista.CreateList(DataCenter, sampleList, ApiKey); parsed = (cLista.RootObject)JsonConvert.DeserializeObject(resp, typeof(cLista.RootObject)); return(parsed); }
public ResultJson GeneraCampania(RequestGeneraCampania genera, string dataCenter, string apiKey, string usuario_alta_id) { try { // Crea Lista para la Campaña cLista.RootObject lista = CreaLista(genera, dataCenter, apiKey); // Obtiene el Id de la Lista Creada string lista_id = lista.id; // Hacer el MergeFields para Agregar los demas Campos Necesarios CreaMergeFields(dataCenter, apiKey, lista_id); // Agrega a los Miembros de la Lista Recien Creada cRespCreateMembersList.RootObject miembros = AgregarMiembros(genera, lista_id, dataCenter, apiKey); string campaign_id = string.Empty; // Crea la Campaña ó Selecciona la Campañia Pendiente sin Lista if (!string.IsNullOrEmpty(genera.nombre_campania) && string.IsNullOrEmpty(genera.campania_pendiente)) { // Se crea la Campaña cCampaign.RootObject campania = CreaCampania(genera, lista_id, dataCenter, apiKey); campaign_id = campania.id; } else { // Se asigna la Campaña a la Lista Recien Creada bool campania = AsignaCampania(genera, lista_id, apiKey); campaign_id = genera.campania_pendiente; } // Realiza la inserción en la tabla campaign InsertaCampania(genera, campaign_id, string.Empty, usuario_alta_id); // Realiza la inserción en la tabla historico_generador_campania InsertaHistoricoGeneradorCampania(genera, campaign_id, lista_id, usuario_alta_id); result.Success = true; result.Message = "Ha sido generada la campaña exitosamente"; return(result); } catch (Exception ex) { result.Success = false; result.Message = "Ocurrio un error al generar la campaña"; return(result); } }