/// <summary> /// Fetches palette from database. /// </summary> /// <param name="id">Palette id.</param> /// <returns>The <see cref="PaletteDTO" /> instance.</returns> public PaletteDTO FetchPalette(int id) { var result = new PaletteDTO(); using (var ctx = ConnectionManager<SqlConnection>.GetManager(Database.VeyronMeta, false)) { var cn = ctx.Connection; const string Sql = @" SELECT Id , Name , MainBackColor , MainFrontColor , StrongBackColor , StrongFrontColor , CalmBackColor , CalmFrontColor FROM Themes WHERE Id = @id"; using (var cmd = new SqlCommand(Sql, cn)) { cmd.Parameters.AddWithValue("@id", id); using (var reader = new SafeDataReader(cmd.ExecuteReader())) { if (reader.Read()) { result = ReadPalette(reader); } } } } return result; }
/// <summary> /// Updates palette in the database. /// </summary> /// <param name="dto">Palette dto instance.</param> /// <exception cref="System.ArgumentNullException">dto</exception> /// <exception cref="ArgumentNullException">Thrown if dto is null.</exception> public void UpdatePalette(PaletteDTO dto) { if (dto == null) { throw new ArgumentNullException("dto"); } const string Sql = @" UPDATE themes SET Name = @Name, MainBackColor = @MainBackColor, MainFrontColor = @MainFrontColor, StrongBackColor = @StrongBackColor, StrongFrontColor = @StrongFrontColor, CalmBackColor = @CalmBackColor, CalmFrontColor = @CalmFrontColor WHERE Id = @Id"; using (var ctx = ConnectionManager<SqlConnection>.GetManager(Database.VeyronMeta, false)) { var cn = ctx.Connection; using (var cmd = new SqlCommand(Sql, cn)) { cmd.Parameters.AddWithValue("@Id", dto.Id); cmd.Parameters.AddWithValue("@Name", dto.Name); cmd.Parameters.AddWithValue("@MainBackColor", Convert.ToInt64(dto.MainBackColor)); cmd.Parameters.AddWithValue("@MainFrontColor", Convert.ToInt64(dto.MainFrontColor)); cmd.Parameters.AddWithValue("@StrongBackColor", Convert.ToInt64(dto.StrongBackColor)); cmd.Parameters.AddWithValue("@StrongFrontColor", Convert.ToInt64(dto.StrongFrontColor)); cmd.Parameters.AddWithValue("@CalmBackColor", Convert.ToInt64(dto.CalmBackColor)); cmd.Parameters.AddWithValue("@CalmFrontColor", Convert.ToInt64(dto.CalmFrontColor)); cmd.ExecuteNonQuery(); } } }