public RallyResults.Common.IResult InsertEvent( RallyResults.Common.Models.Data.Event subject) { try { this.c_connection.Open(); var _entry = this.MapEvent(subject, this.FetchLastestId()); NpgsqlCommand _cmd = new NpgsqlCommand("INSERT INTO \"Event\" VALUES(:Id, :Category_Class, :CreationTimestamp)", this.c_connection); _cmd.Parameters.Add(new NpgsqlParameter("Id", _entry.id)); var parameter = _cmd.CreateParameter(); parameter.ParameterName = "Category_Class"; parameter.Value = JsonConvert.SerializeObject(_entry.eventDetails); parameter.NpgsqlDbType = NpgsqlDbType.Json; _cmd.Parameters.Add(parameter); _cmd.Parameters.Add(new NpgsqlParameter("CreationTimestamp", _entry.creationTimestamp)); _cmd.ExecuteNonQuery(); return(new RallyResults.Common.Result(RallyResults.Common.Status.Success, "Event successfully stored")); } catch (NpgsqlException ex) { c_logger.ErrorFormat($"{ex}"); } finally { this.c_connection.Close(); } return(new RallyResults.Common.Result(RallyResults.Common.Status.Failure, "Error: ")); }
public RallyResults.Common.IResult UpdateEvent( int id, RallyResults.Common.Models.Data.Event subject) { var _entry = this.MapEvent(subject, id); try { this.c_connection.Open(); NpgsqlCommand _cmd = new NpgsqlCommand("UPDATE \"Event\" SET \"Category_Class\" = :Category_Class, \"CreationTimestamp\" = :CreationTimestamp WHERE \"Id\" = :id;", this.c_connection); _cmd.Parameters.Add(new NpgsqlParameter("Id", _entry.id)); var parameter = _cmd.CreateParameter(); parameter.ParameterName = "Category_Class"; parameter.Value = JsonConvert.SerializeObject(_entry.eventDetails); parameter.NpgsqlDbType = NpgsqlDbType.Json; _cmd.Parameters.Add(parameter); _cmd.Parameters.Add(new NpgsqlParameter("CreationTimestamp", _entry.creationTimestamp)); _cmd.ExecuteNonQuery(); return(new RallyResults.Common.Result(RallyResults.Common.Status.Success, "Success")); } catch (NpgsqlException ex) { c_logger.ErrorFormat($"{ex}"); } finally { this.c_connection.Close(); } return(new RallyResults.Common.Result(RallyResults.Common.Status.Failure, "Error")); }
private RallyResults.Common.Models.AggregateRoot.Event MapEvent( RallyResults.Common.Models.Data.Event subject, int id) { var categories = subject.category.Select(category => new RallyResults.Common.Models.AggregateRoot.Category(category.type, category.@class)).ToList(); return(new RallyResults.Common.Models.AggregateRoot.Event( id, new RallyResults.Common.Models.AggregateRoot.EventDetails( subject.name, subject.startdate, subject.finishdate, subject.surface, subject.image, subject.service, subject.endofday, categories), DateTime.Now)); }