public Task SendMailAsync(string email, EmailTemplateBase emailTemplateBase) { if (emailTemplateBase == null) { throw new ArgumentNullException($"{emailTemplateBase} is null"); } AddAddressees("", email); SetSubject(emailTemplateBase.Subject); SetHTML(emailTemplateBase.HtmlBody, emailTemplateBase.AltText); return(base.SendEmailAsync()); }
/// <summary> /// Add common parameters before calling a procedure /// </summary> /// <param name="cmd">command object, where parameters will be added</param> /// <param name="emailTemplateObject"></param> private void AddCommonParams(SqlCommand cmd, EmailTemplateBase emailTemplateObject) { AddParameter(cmd, pGuid(EmailTemplateBase.Property_CompanyId, emailTemplateObject.CompanyId)); AddParameter(cmd, pNVarChar(EmailTemplateBase.Property_TemplateKey, 250, emailTemplateObject.TemplateKey)); AddParameter(cmd, pNVarChar(EmailTemplateBase.Property_Name, 250, emailTemplateObject.Name)); AddParameter(cmd, pNVarChar(EmailTemplateBase.Property_Description, 250, emailTemplateObject.Description)); AddParameter(cmd, pNVarChar(EmailTemplateBase.Property_ToEmail, 250, emailTemplateObject.ToEmail)); AddParameter(cmd, pNVarChar(EmailTemplateBase.Property_CcEmail, 250, emailTemplateObject.CcEmail)); AddParameter(cmd, pNVarChar(EmailTemplateBase.Property_BccEmail, 250, emailTemplateObject.BccEmail)); AddParameter(cmd, pNVarChar(EmailTemplateBase.Property_FromEmail, 250, emailTemplateObject.FromEmail)); AddParameter(cmd, pNVarChar(EmailTemplateBase.Property_FromName, 250, emailTemplateObject.FromName)); AddParameter(cmd, pNVarChar(EmailTemplateBase.Property_ReplyEmail, 250, emailTemplateObject.ReplyEmail)); AddParameter(cmd, pNVarChar(EmailTemplateBase.Property_Subject, 250, emailTemplateObject.Subject)); AddParameter(cmd, pNVarChar(EmailTemplateBase.Property_BodyContent, emailTemplateObject.BodyContent)); AddParameter(cmd, pNVarChar(EmailTemplateBase.Property_BodyFile, 250, emailTemplateObject.BodyFile)); AddParameter(cmd, pBool(EmailTemplateBase.Property_IsActive, emailTemplateObject.IsActive)); AddParameter(cmd, pNVarChar(EmailTemplateBase.Property_LastUpdatedBy, 250, emailTemplateObject.LastUpdatedBy)); AddParameter(cmd, pDateTime(EmailTemplateBase.Property_LastUpdatedDate, emailTemplateObject.LastUpdatedDate)); }
/// <summary> /// Updates EmailTemplate /// </summary> /// <param name="emailTemplateObject">Object to be updated</param> /// <returns>Number of rows affected</returns> public long Update(EmailTemplateBase emailTemplateObject) { try { SqlCommand cmd = GetSPCommand(UPDATEEMAILTEMPLATE); AddParameter(cmd, pInt32(EmailTemplateBase.Property_Id, emailTemplateObject.Id)); AddCommonParams(cmd, emailTemplateObject); long result = UpdateRecord(cmd); if (result > 0) { emailTemplateObject.RowState = BaseBusinessEntity.RowStateEnum.NormalRow; } return(result); } catch (SqlException x) { throw new ObjectUpdateException(emailTemplateObject, x); } }
/// <summary> /// Inserts EmailTemplate /// </summary> /// <param name="emailTemplateObject">Object to be inserted</param> /// <returns>Number of rows affected</returns> public long Insert(EmailTemplateBase emailTemplateObject) { try { SqlCommand cmd = GetSPCommand(INSERTEMAILTEMPLATE); AddParameter(cmd, pInt32Out(EmailTemplateBase.Property_Id)); AddCommonParams(cmd, emailTemplateObject); long result = InsertRecord(cmd); if (result > 0) { emailTemplateObject.RowState = BaseBusinessEntity.RowStateEnum.NormalRow; emailTemplateObject.Id = (Int32)GetOutParameter(cmd, EmailTemplateBase.Property_Id); } return(result); } catch (SqlException x) { throw new ObjectInsertException(emailTemplateObject, x); } }
/// <summary> /// Fills EmailTemplate object /// </summary> /// <param name="emailTemplateObject">The object to be filled</param> /// <param name="reader">The reader to use to fill a single object</param> protected void FillObject(EmailTemplateBase emailTemplateObject, SqlDataReader reader) { FillObject(emailTemplateObject, reader, 0); }
/// <summary> /// Fills EmailTemplate object /// </summary> /// <param name="emailTemplateObject">The object to be filled</param> /// <param name="reader">The reader to use to fill a single object</param> /// <param name="start">The ordinal position from which to start reading the reader</param> protected void FillObject(EmailTemplateBase emailTemplateObject, SqlDataReader reader, int start) { emailTemplateObject.Id = reader.GetInt32(start + 0); emailTemplateObject.CompanyId = reader.GetGuid(start + 1); if (!reader.IsDBNull(2)) { emailTemplateObject.TemplateKey = reader.GetString(start + 2); } if (!reader.IsDBNull(3)) { emailTemplateObject.Name = reader.GetString(start + 3); } if (!reader.IsDBNull(4)) { emailTemplateObject.Description = reader.GetString(start + 4); } if (!reader.IsDBNull(5)) { emailTemplateObject.ToEmail = reader.GetString(start + 5); } if (!reader.IsDBNull(6)) { emailTemplateObject.CcEmail = reader.GetString(start + 6); } if (!reader.IsDBNull(7)) { emailTemplateObject.BccEmail = reader.GetString(start + 7); } if (!reader.IsDBNull(8)) { emailTemplateObject.FromEmail = reader.GetString(start + 8); } if (!reader.IsDBNull(9)) { emailTemplateObject.FromName = reader.GetString(start + 9); } if (!reader.IsDBNull(10)) { emailTemplateObject.ReplyEmail = reader.GetString(start + 10); } if (!reader.IsDBNull(11)) { emailTemplateObject.Subject = reader.GetString(start + 11); } if (!reader.IsDBNull(12)) { emailTemplateObject.BodyContent = reader.GetString(start + 12); } if (!reader.IsDBNull(13)) { emailTemplateObject.BodyFile = reader.GetString(start + 13); } if (!reader.IsDBNull(14)) { emailTemplateObject.IsActive = reader.GetBoolean(start + 14); } if (!reader.IsDBNull(15)) { emailTemplateObject.LastUpdatedBy = reader.GetString(start + 15); } if (!reader.IsDBNull(16)) { emailTemplateObject.LastUpdatedDate = reader.GetDateTime(start + 16); } FillBaseObject(emailTemplateObject, reader, (start + 17)); emailTemplateObject.RowState = BaseBusinessEntity.RowStateEnum.NormalRow; }