Example #1
0
        public bool Suscribe(NewsAddressee newsAddressee)
        {
            if (!IsValid(newsAddressee))
            {
                return(false);
            }

            //chequear existencia del correo
            NewsAddresseeMapper mapper    = new NewsAddresseeMapper();
            NewsAddressee       existence = mapper.Get(newsAddressee.Email);

            if (existence != null)
            {
                string errorDescription = "El suscriptor ya existe.";
                log.AddLogWarn("Save", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                return(false);
            }

            newsAddressee.Active = true;
            newsAddressee.Singup = DateTime.Now;

            if (!mapper.Save(newsAddressee))
            {
                string errorDescription = "No se ha podido guardar el suscriptor.";
                log.AddLogCritical("Save", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                return(false);
            }

            MailerHelper.SendNewsletterWelcome(newsAddressee);
            return(true);
        }
Example #2
0
        /// <summary>
        /// Realiza la desuscripciĆ³n del suscriptor.
        /// </summary>
        /// <param name="newsAddressee"></param>
        /// <param name="confirm"></param>
        /// <returns></returns>
        public bool Unsuscribe(NewsAddressee newsAddressee, bool confirm)
        {
            if (!IsValidForUnsuscribe(newsAddressee, confirm))
            {
                return(false);
            }

            NewsAddresseeMapper mapper = new NewsAddresseeMapper();

            newsAddressee.Active  = false;
            newsAddressee.Dropout = DateTime.Now;

            bool success = mapper.Unsuscribe(newsAddressee);

            if (!success)
            {
                string errorDescription = "No se ha podido ejecutar la desuscripciĆ³n.";
                log.AddLogCritical("Unsuscribe", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                return(false);
            }

            return(success);
        }