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); }
/// <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); }