private void DeleteEvents2Weekly(WeeklyRuleConfiguration config) { var sql = "DELETE FROM Event2WeeklyRule WHERE WeeklyRuleId = @WeeklyRuleId"; var parameter = new SqlParameter("@WeeklyRuleId", config.Id); ExecuteNonQuery(sql, parameter); }
private MvcHtmlString WeeklyDetails(WeeklyRuleConfiguration config) { var builder = new StringBuilder(); builder.AppendFormat("{0}: {1}<br />", Strings.Admin.RuleDetails.InputLabelStatus, Strings.Admin.GetStatusName(config.AvailabilityStatus)); builder.AppendFormat("{0}: {1}<br />", Strings.Admin.RuleDetails.InputLabelDayOfWeek, DateTimeFormatInfo.CurrentInfo.GetDayName(config.DayOfWeek)); builder.AppendFormat("{0}: {1}<br />", Strings.Admin.RuleDetails.InputLabelTime, config.Time.HasValue ? config.Time.Value.ToString("hh\\:mm") : "-"); builder.AppendFormat("{0}: {1}<br />", Strings.Admin.RuleDetails.InputLabelEndTime, config.EndTime.HasValue ? config.EndTime.Value.ToString("hh\\:mm") : "-"); builder.AppendFormat("{0}: {1}<br />", Strings.Admin.RuleDetails.InputLabelStartDate, config.StartDate.HasValue ? config.StartDate.Value.ToShortDateString() : "-"); if (config.EventIds.Any()) { builder.AppendFormat("{0}: <br />", Strings.Admin.RuleDetails.InputLabelRuleScope); foreach (var id in config.EventIds) { builder.AppendFormat("- {0}<br />", Events.FirstOrDefault(e => e.Id == id)?.Name ?? Strings.Admin.Settings.DeactivatedEvent); } } else { builder.AppendFormat("{0}: {1}<br />", Strings.Admin.RuleDetails.InputLabelRuleScope, Strings.Admin.RuleDetails.ScopeAllEvents); } return(new MvcHtmlString(builder.ToString())); }
private void UpdateWeekly(WeeklyRuleConfiguration config) { var sql = @" UPDATE WeeklyRule SET AvailabilityStatusId = @AvailabilityStatusId, [DayOfWeek] = @DayOfWeek, StartDate = @StartDate, [Time] = @Time, EndTime = @EndTime WHERE Id = @Id" ; var parameters = new[] { new SqlParameter("@Id", config.Id), new SqlParameter("@AvailabilityStatusId", config.AvailabilityStatus), new SqlParameter("@DayOfWeek", config.DayOfWeek), new SqlParameter("@StartDate", (object)config.StartDate ?? DBNull.Value), new SqlParameter("@Time", (object)config.Time ?? DBNull.Value), new SqlParameter("@EndTime", (object)config.EndTime ?? DBNull.Value) }; ExecuteNonQuery(sql, parameters); DeleteEvents2Weekly(config); SaveEvents2Weekly(config); }
public static void MapFromEntity(this WeeklyRuleModel model, WeeklyRuleConfiguration rule) { model.Id = rule.Id; model.Status = rule.AvailabilityStatus; model.Day = rule.DayOfWeek; model.StartDate = rule.StartDate.ToString("dd.MM.yyyy"); model.Time = rule.Time.ToString("hh\\:mm"); model.EndTime = rule.EndTime.ToString("hh\\:mm"); model.EventIds = rule.EventIds.Select(i => i.ToString()).ToArray(); }
private RuleConfiguration MapWeekly(SqlDataReader reader) { var config = new WeeklyRuleConfiguration(); config.Id = (int)reader["wr_Id"]; config.AvailabilityStatus = (AvailabilityStatus)reader["wr_AvailabilityStatusId"]; config.DayOfWeek = (DayOfWeek)reader["wr_DayOfWeek"]; config.StartDate = reader["wr_StartDate"] as DateTime?; config.Time = reader["wr_Time"] as TimeSpan?; config.EndTime = reader["wr_EndTime"] as TimeSpan?; return(config); }
public static void MapToEntity(this WeeklyRuleModel model, WeeklyRuleConfiguration rule) { if (model.Id.HasValue) { rule.Id = model.Id.Value; } rule.AvailabilityStatus = model.Status.Value; rule.DayOfWeek = model.Day.Value; rule.StartDate = DateTimeUtility.NullableDateTimeFor(model.StartDate); rule.Time = DateTimeUtility.NullableTimeSpanFor(model.Time); rule.EndTime = DateTimeUtility.NullableTimeSpanFor(model.EndTime); rule.EventIds = model.EventIds?.Select(i => int.Parse(i)).ToList(); }
private void SaveWeekly(WeeklyRuleConfiguration config) { var sql = @" INSERT INTO WeeklyRule(RuleId, AvailabilityStatusId, [DayOfWeek], StartDate, [Time], EndTime) VALUES (@RuleId, @AvailabilityStatusId, @DayOfWeek, @StartDate, @Time, @EndTime); SELECT SCOPE_IDENTITY()"; var parameters = new[] { new SqlParameter("@RuleId", config.RuleId), new SqlParameter("@AvailabilityStatusId", config.AvailabilityStatus), new SqlParameter("@DayOfWeek", config.DayOfWeek), new SqlParameter("@StartDate", (object)config.StartDate ?? DBNull.Value), new SqlParameter("@Time", (object)config.Time ?? DBNull.Value), new SqlParameter("@EndTime", (object)config.EndTime ?? DBNull.Value) }; config.Id = Convert.ToInt32(ExecuteScalar(sql, parameters)); SaveEvents2Weekly(config); }
private void LoadEvents2Weekly(WeeklyRuleConfiguration config) { var sql = "SELECT * FROM Event2WeeklyRule WHERE WeeklyRuleId = @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.EventIds.Add((int)reader["EventId"]); } } transaction.Complete(); } }
private void SaveEvents2Weekly(WeeklyRuleConfiguration config) { if (config.EventIds == null) { return; } foreach (var id in config.EventIds) { var sql = @" INSERT INTO Event2WeeklyRule(EventId, WeeklyRuleId) VALUES (@EventId, @WeeklyRuleId)" ; var parameters = new[] { new SqlParameter("@EventId", id), new SqlParameter("@WeeklyRuleId", config.Id) }; ExecuteNonQuery(sql, parameters); } }