/// <summary> /// Adds the samples edit database methods. /// </summary> /// <param name="field">The field.</param> /// <returns>Source code for Sample Edit database methods.</returns> protected override string AddSamplesEditDatabaseMethods(ISampleDefinition field) { var sb = new StringBuilder(); sb.AppendFormat(@" private void Child_DeleteSelf() {{ var commandText = string.Format(""DELETE FROM \""{{0}}\"" WHERE \""Id\"" = :id"", string.Format(""\""{{0}}\"""", _sampleTableName ?? string.Empty)); using (var ctx = ConnectionManager<OracleConnection>.GetManager(ServerSettings.ConnectionString, false)) {{ var connection = ctx.Connection; using (var command = new OracleCommand(commandText, connection)) {{ command.BindByName = true; command.Parameters.Add(""id"", Id); command.ExecuteNonQuery(); }} }} }} private void Child_Insert(IEditableRoot parent) {{ var commandText = string.Format(@"" INSERT INTO """"{{0}}"""" (""""ItemId"""", """"SampleNumeric"""", """"SampleBoolean"""", """"SampleAlphanumeric"""", """"SampleType"""", """"Label"""") VALUES (:itemId, :sampleNumeric, :sampleBoolean, :sampleAlphanumeric, :sampleType, :label) RETURNING """"Id"""" INTO :p_IdOut "", OracleNamesTranslator.Translate(string.Format(""{{0}}"", _sampleTableName ?? string.Empty))); using (var ctx = ConnectionManager<OracleConnection>.GetManager(ServerSettings.ConnectionString, false)) {{ var connection = ctx.Connection; using (var command = new OracleCommand(commandText, connection)) {{ command.BindByName = true; command.Parameters.Add(""itemId"", parent.Id); command.Parameters.Add(""sampleNumeric"", AdoHelper.NullCheck(SampleNumeric)); command.Parameters.Add(""sampleBoolean"", AdoHelper.NullCheck(SampleBoolean) != (object)DBNull.Value ? ((bool)SampleBoolean ? ""1"" : ""0"") : (object)DBNull.Value); command.Parameters.Add(""sampleAlphanumeric"", AdoHelper.NullCheck(SampleAlphanumeric)); command.Parameters.Add(""sampleType"", AdoHelper.NullCheck(SampleType)); command.Parameters.Add(""label"", AdoHelper.NullCheck(Label)); var idOut = command.Parameters.Add(""p_IdOut"", OracleDbType.Int32, ParameterDirection.Output); command.ExecuteNonQuery(); LoadProperty(IdProperty, ((Oracle.DataAccess.Types.OracleDecimal)idOut.Value).ToInt32()); }} }} }} private void Child_Update(IEditableRoot parent) {{ var commandText = string.Format(@"" UPDATE """"{{0}}"""" SET """"SampleNumeric"""" = :sampleNumeric, """"SampleBoolean"""" = :sampleBoolean, """"SampleAlphanumeric"""" = :sampleAlphanumeric, """"SampleType"""" = :sampleType, """"Label"""" = :label WHERE """"Id"""" = :id"", OracleNamesTranslator.Translate(string.Format(""{{0}}"", _sampleTableName ?? string.Empty))); using (var ctx = ConnectionManager<OracleConnection>.GetManager(ServerSettings.ConnectionString, false)) {{ var connection = ctx.Connection; using (var command = new OracleCommand(commandText, connection)) {{ command.BindByName = true; command.Parameters.Add(""id"", Id); command.Parameters.Add(""sampleNumeric"", AdoHelper.NullCheck(SampleNumeric)); command.Parameters.Add(""sampleBoolean"", AdoHelper.NullCheck(SampleBoolean) != (object)DBNull.Value ? ((bool)SampleBoolean ? ""1"" : ""0"") : (object)DBNull.Value); command.Parameters.Add(""sampleAlphanumeric"", AdoHelper.NullCheck(SampleAlphanumeric)); command.Parameters.Add(""sampleType"", AdoHelper.NullCheck(SampleType)); command.Parameters.Add(""label"", AdoHelper.NullCheck(Label)); command.ExecuteNonQuery(); }} }} }} "); return sb.ToString(); }
/// <summary> /// Adds the samples list database methods. /// </summary> /// <param name="field">The field.</param> /// <returns>Source code for Sample List database methods.</returns> protected override string AddSamplesListDatabaseMethods(ISampleDefinition field) { var sb = new StringBuilder(); sb.AppendFormat(@" private void Child_Fetch(DynamicSampleCriteria criteria) {{ RaiseListChangedEvents = false; using (var ctx = ConnectionManager<OracleConnection>.GetManager(ServerSettings.ConnectionString, false)) {{ var cn = ctx.Connection; var query = string.Format(@"" SELECT """"Id"""", """"ItemId"""", """"SampleNumeric"""", """"SampleBoolean"""", """"SampleAlphanumeric"""", """"SampleType"""", """"Label"""" FROM """"{{0}}"""" WHERE """"ItemId"""" = '{{1}}' ORDER BY """"Label"""" "", OracleNamesTranslator.Translate(_sampleTableName), criteria.Item == null ? 0 : criteria.Item.Id); using (var command = new OracleCommand(query, cn)) {{ var reader = command.ExecuteReader(); int label = 0; while (reader.Read()) {{ label++; var dto = new SampleDto {{ Id = SafeTypeConverter.Convert<int>(reader.GetValue(0)), ItemId = SafeTypeConverter.Convert<int>(reader.GetValue(1)), Label = label.ToString(""D7""), SampleNumeric = SafeTypeConverter.Convert<double?>(reader.GetValue(2)), SampleBoolean = SafeTypeConverter.Convert<bool?>(reader.GetValue(3)), SampleAlphanumeric = AdoHelper.GetString(reader, 4), SampleType = AdoHelper.GetString(reader, 5), Label = AdoHelper.GetString(reader, 6) }}; var newSample = DataPortal.FetchChild<{0}SampleEdit>(dto); this.Add(newSample); }} }} }} // Should be removed once the old DB entries will be updated. // Date: 8/19/2013 this.GenerateValuesForEmptyLabels(); if (criteria.Item != null) {{ if (!string.IsNullOrEmpty(_sampleTypeFieldName)) {{ try {{ var sampleTypeProperty = criteria.Item.GetPropertyByName(_sampleTypeFieldName); SampleType = sampleTypeProperty == null ? ""Number"" : sampleTypeProperty.GetValue(criteria.Item, null).ToString(); }} catch(Exception ex) {{ Log4NetLogger.Instance.Log(LogSeverity.Error, """", ex); SampleType = ""Number""; }} }} }} RaiseListChangedEvents = true; }} private void Child_Fetch(SampleCriteria criteria) {{ RaiseListChangedEvents = false; for(int i = 0; i < criteria.SampleCount; i++) {{ var newSample = DataPortal.CreateChild<{0}SampleEdit>(); newSample.ItemId = criteria.ItemId; newSample.Label = ((Count > 0 ? int.Parse(this.Max(x => x.Label)) : Count) + 1).ToString(""D7""); newSample.SampleType = this.SampleType; this.Add(newSample); }} RaiseListChangedEvents = true; }} private void DataPortal_Fetch(DynamicSampleCriteria criteria) {{ if (criteria.Item != null) {{ if (!string.IsNullOrEmpty(_sampleTypeFieldName)) SampleType = criteria.Item.GetValueByPropertyName(_sampleTypeFieldName); var sampleList = PopulateSampleList(criteria.Item); RaiseListChangedEvents = false; foreach (var sample in sampleList) {{ this.Add(sample); }} RaiseListChangedEvents = true; }} MarkAsChild(); }} ", field.Name); return sb.ToString(); }
/// <summary> /// Adds the samples edit database methods. /// </summary> /// <param name="field">The field.</param> /// <returns>Source code for Sample Edit database methods.</returns> protected override string AddSamplesEditDatabaseMethods(ISampleDefinition field) { return string.Empty; }
protected override string AddSamplesEditDatabaseMethods(ISampleDefinition field) { MethodsCalled.Add("AddSamplesEditDatabaseMethods"); return string.Empty; }
protected override string AddSamplesEditDatabaseMethods(ISampleDefinition field) { var sb = new StringBuilder(); sb.AppendFormat(@" private void Child_DeleteSelf() {{ var commandText = string.Format(""DELETE FROM {{0}} WHERE Id = @id"", string.Format(""[dbo].[{{0}}]"", _sampleTableName ?? string.Empty)); using (var ctx = ConnectionManager<SqlConnection>.GetManager(ServerSettings.ConnectionString, false)) {{ var connection = ctx.Connection; using (var command = connection.CreateCommand()) {{ command.CommandText = commandText; command.Parameters.AddWithValue(""@id"", Id); command.ExecuteNonQuery(); }} }} }} private void Child_Insert(IEditableRoot parent) {{ var commandText = string.Format(@"" INSERT INTO {{0}} (ItemId, SampleNumeric, SampleBoolean, SampleAlphanumeric, SampleType, Label) VALUES (@itemId, @sampleNumeric, @sampleBoolean, @sampleAlphanumeric, @sampleType, @label) SELECT SCOPE_IDENTITY()"", string.Format(""[dbo].[{{0}}]"", _sampleTableName ?? string.Empty)); using (var ctx = ConnectionManager<SqlConnection>.GetManager(ServerSettings.ConnectionString, false)) {{ var connection = ctx.Connection; using (var command = connection.CreateCommand()) {{ command.CommandText = commandText; command.Parameters.AddWithValue(""@itemId"", parent.Id); command.Parameters.AddWithValue(""@sampleNumeric"", AdoHelper.NullCheck(SampleNumeric)); command.Parameters.AddWithValue(""@sampleBoolean"", AdoHelper.NullCheck(SampleBoolean)); command.Parameters.AddWithValue(""@sampleAlphanumeric"", AdoHelper.NullCheck(SampleAlphanumeric)); command.Parameters.AddWithValue(""@sampleType"", AdoHelper.NullCheck(SampleType)); command.Parameters.AddWithValue(""@label"", AdoHelper.NullCheck(Label)); var sampleId = command.ExecuteScalar(); LoadProperty(IdProperty, Convert.ToInt32(sampleId)); }} }} }} private void Child_Update(IEditableRoot parent) {{ var commandText = string.Format(@"" UPDATE {{0}} SET SampleNumeric = @sampleNumeric, SampleBoolean = @sampleBoolean, SampleAlphanumeric = @sampleAlphanumeric, SampleType = @sampleType, Label = @label WHERE Id = @id"", string.Format(""[dbo].[{{0}}]"", _sampleTableName ?? string.Empty)); using (var ctx = ConnectionManager<SqlConnection>.GetManager(ServerSettings.ConnectionString, false)) {{ var connection = ctx.Connection; using (var command = connection.CreateCommand()) {{ command.CommandText = commandText; command.Parameters.AddWithValue(""@id"", Id); command.Parameters.AddWithValue(""@sampleNumeric"", AdoHelper.NullCheck(SampleNumeric)); command.Parameters.AddWithValue(""@sampleBoolean"", AdoHelper.NullCheck(SampleBoolean)); command.Parameters.AddWithValue(""@sampleAlphanumeric"", AdoHelper.NullCheck(SampleAlphanumeric)); command.Parameters.AddWithValue(""@sampleType"", AdoHelper.NullCheck(SampleType)); command.Parameters.AddWithValue(""@label"", AdoHelper.NullCheck(Label)); command.ExecuteNonQuery(); }} }} }} ", field.Name); return sb.ToString(); }