public static Common.Models.Documents.DocumentTask Create(Common.Models.Documents.DocumentTask model, Common.Models.Account.Users creator, IDbConnection conn = null, bool closeConnection = true) { model.Created = model.Modified = DateTime.UtcNow; model.CreatedBy = model.ModifiedBy = creator; DBOs.Documents.DocumentTask dbo = Mapper.Map <DBOs.Documents.DocumentTask>(model); conn = DataHelper.OpenIfNeeded(conn); Common.Models.Documents.DocumentTask currentModel = Get(model.Task.Id.Value, model.Document.Id.Value, conn, false); if (currentModel != null) { // Update conn.Execute("UPDATE \"document_task\" SET \"utc_modified\"=@UtcModified, \"modified_by_user_pid\"=@ModifiedByUserPId " + "\"utc_disabled\"=null, \"disabled_by_user_pid\"=null WHERE \"id\"=@Id", dbo); model.Created = currentModel.Created; model.CreatedBy = currentModel.CreatedBy; } else { // Create if (conn.Execute("INSERT INTO \"document_task\" (\"id\", \"document_id\", \"task_id\", \"utc_created\", \"utc_modified\", \"created_by_user_pid\", \"modified_by_user_pid\") " + "VALUES (@Id, @DocumentId, @TaskId, @UtcCreated, @UtcModified, @CreatedByUserPId, @ModifiedByUserPId)", dbo) > 0) { model.Id = conn.Query <DBOs.Documents.DocumentTask>("SELECT currval(pg_get_serial_sequence('document_task', 'id')) AS \"id\"").Single().Id; } } DataHelper.Close(conn, closeConnection); return(model); }
public static Common.Models.Documents.DocumentTask Create(Common.Models.Documents.DocumentTask model, Common.Models.Account.Users creator) { model.Created = model.Modified = DateTime.UtcNow; model.CreatedBy = model.ModifiedBy = creator; DBOs.Documents.DocumentTask dbo = Mapper.Map <DBOs.Documents.DocumentTask>(model); using (IDbConnection conn = Database.Instance.GetConnection()) { Common.Models.Documents.DocumentTask currentModel = Get(model.Task.Id.Value, model.Document.Id.Value); if (currentModel != null) { // Update conn.Execute("UPDATE \"document_task\" SET \"utc_modified\"=@UtcModified, \"modified_by_user_pid\"=@ModifiedByUserPId " + "\"utc_disabled\"=null, \"disabled_by_user_pid\"=null WHERE \"id\"=@Id", dbo); model.Created = currentModel.Created; model.CreatedBy = currentModel.CreatedBy; } else { // Create conn.Execute("INSERT INTO \"document_task\" (\"id\", \"document_id\", \"task_id\", \"utc_created\", \"utc_modified\", \"created_by_user_pid\", \"modified_by_user_pid\") " + "VALUES (@Id, @DocumentId, @TaskId, @UtcCreated, @UtcModified, @CreatedByUserPId, @ModifiedByUserPId)", dbo); } } return(model); }