コード例 #1
0
        private cRespCreateMembersList.RootObject AgregarMiembros(RequestGeneraCampania miembros, string lista_id, string dataCenter, string apiKey)
        {
            //Llenar la Lista Recien Creada de los Miembros
            Funciones.csMailChimp             lista  = new Funciones.csMailChimp();
            cRespCreateMembersList.RootObject parsed = new cRespCreateMembersList.RootObject();
            cCreateMembersList.RootObject     member = new cCreateMembersList.RootObject();
            member = lista.ObtieneSocias(miembros);
            string sLista;

            if (member.members.Count() > 500)
            {
                Int32 iteracion;
                Int32 mod = member.members.Count() % 500;
                if (mod == 0)
                {
                    iteracion = member.members.Count() / 500;
                }
                else
                {
                    iteracion = (member.members.Count() / 500) + 1;
                }
                Int32 posicion = 0;
                for (int i = 0; i < iteracion; i++)
                {
                    cCreateMembersList.RootObject memberRange = new cCreateMembersList.RootObject();
                    if (posicion + 500 <= member.members.Count())
                    {
                        memberRange.members = member.members.GetRange(posicion, 500);
                    }
                    else
                    {
                        memberRange.members = member.members.GetRange(posicion, member.members.Count() - posicion);
                    }
                    memberRange.update_existing = true;
                    sLista   = lista.CreateMembersList(dataCenter, apiKey, lista_id, memberRange);
                    posicion = posicion + 500;
                }
            }
            else
            {
                member.update_existing = true;
                sLista = lista.CreateMembersList(dataCenter, apiKey, lista_id, member);
                parsed = (cRespCreateMembersList.RootObject)JsonConvert.DeserializeObject(sLista, typeof(cRespCreateMembersList.RootObject));
            }
            return(parsed);
        }
コード例 #2
0
 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);
     }
 }