private void DeleteOverrideBookingTimes(BookingTimeOverrideRuleConfiguration config) { var sql = "DELETE FROM OverrideBookingTime WHERE BookingTimeOverrideRuleId = @BookingTimeOverrideRuleId"; var parameters = new[] { new SqlParameter("@BookingTimeOverrideRuleId", config.Id) }; ExecuteNonQuery(sql, parameters); }
private RuleConfiguration MapBookingTimeOverride(SqlDataReader reader) { var config = new BookingTimeOverrideRuleConfiguration(); config.Id = (int)reader["bt_Id"]; config.EventId = (int)reader["bt_EventId"]; return(config); }
private void DeleteBookingTimeOverride(BookingTimeOverrideRuleConfiguration config) { DeleteOverrideBookingTimes(config); var sql = "DELETE FROM BookingTimeOverrideRule WHERE RuleId = @Id"; var parameter = new SqlParameter("@Id", config.RuleId); ExecuteNonQuery(sql, parameter); }
public static void MapToEntity(this BookingTimeOverrideRuleModel model, BookingTimeOverrideRuleConfiguration rule) { if (model.Id.HasValue) { rule.Id = model.Id.Value; } rule.EventId = model.EventId.Value; rule.OverrideBookingTimes = model.BookingTimes.Select(t => TimeSpan.Parse(t)).ToList(); }
private MvcHtmlString BookingTimeOverrideDetails(BookingTimeOverrideRuleConfiguration config) { var builder = new StringBuilder(); var eventName = Events.FirstOrDefault(e => e.Id == config.EventId)?.Name ?? Strings.Admin.Settings.DeactivatedEvent; builder.AppendFormat("{0}: {1}<br />", Strings.Admin.RuleDetails.InputLabelEvent, eventName); foreach (var bookingTime in config.OverrideBookingTimes.OrderBy(t => t.Ticks)) { builder.AppendFormat("- {0}<br />", bookingTime.ToString("hh\\:mm")); } return(new MvcHtmlString(builder.ToString())); }
private void SaveBookingTimeOverride(BookingTimeOverrideRuleConfiguration config) { var sql = @" INSERT INTO BookingTimeOverrideRule(RuleId, EventId) VALUES (@RuleId, @EventId); SELECT SCOPE_IDENTITY()"; var parameters = new[] { new SqlParameter("@RuleId", config.RuleId), new SqlParameter("@EventId", config.EventId), }; config.Id = Convert.ToInt32(ExecuteScalar(sql, parameters)); SaveBookingTimeOverrideData(config); }
private void SaveBookingTimeOverrideData(BookingTimeOverrideRuleConfiguration config) { foreach (var bookingTime in config.OverrideBookingTimes) { var sql = @" INSERT INTO OverrideBookingTime([Value], BookingTimeOverrideRuleId) VALUES (@Value, @BookingTimeOverrideRuleId)" ; var parameters = new[] { new SqlParameter("@Value", bookingTime), new SqlParameter("@BookingTimeOverrideRuleId", config.Id) }; ExecuteNonQuery(sql, parameters); } }
private void UpdateBookingTimeOverride(BookingTimeOverrideRuleConfiguration config) { var sql = @" UPDATE BookingTimeOverrideRule SET EventId = @EventId WHERE Id = @Id" ; var parameters = new[] { new SqlParameter("@Id", config.Id), new SqlParameter("@EventId", config.EventId) }; ExecuteNonQuery(sql, parameters); DeleteOverrideBookingTimes(config); SaveBookingTimeOverrideData(config); }
private void LoadBookingTimeOverrideData(BookingTimeOverrideRuleConfiguration config) { var sql = "SELECT * FROM OverrideBookingTime WHERE BookingTimeOverrideRuleId = @Id"; var parameter = new SqlParameter("@Id", config.Id); using (var transaction = new TransactionScope()) using (var connection = NewSqlConnection()) using (var command = new SqlCommand(sql, connection)) { connection.Open(); command.Parameters.Add(parameter); using (var reader = command.ExecuteReader()) { while (reader.Read()) { config.OverrideBookingTimes.Add((TimeSpan)reader["Value"]); } } transaction.Complete(); } }
public static void MapFromEntity(this BookingTimeOverrideRuleModel model, BookingTimeOverrideRuleConfiguration rule) { model.Id = rule.Id; model.BookingTimes = rule.OverrideBookingTimes.Select(t => t.ToString("hh\\:mm")).ToList(); model.EventId = rule.EventId; }