/// <summary> /// Speichern. /// </summary> /// <param name="param">Der Parameter.</param> /// <returns>"KomissionEntityA"</returns> KomissionEntityA IServiceKomissionEntity.Speichern(KomissionEntityF param) { #region ------------------------------ Initialisierung ------------------------------ KomissionEntityA ret = new KomissionEntityA(); ret.HatFehler = true; // für ado.net SqlConnection sqlConnection = null; SqlCommand sqlCommand1 = null; SqlCommand sqlCommand2 = null; #endregion --------------------------- Initialisierung Ende ------------------------- #region ------------------------------ Implementierung ------------------------------ using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { try { // was ist mit ... new DebuggerWriter(); // writing to the debugger log window Speichern_VorImpl(param); sqlConnection = new SqlConnection(VerbindungsEinstellung.ConnectionString); sqlConnection.Open(); // speichern des eigentlichen Satzes mit sp_Table_Update sqlCommand1 = new SqlCommand("Controlling.sp_Komission_UpdateCols", sqlConnection); sqlCommand1.CommandTimeout = 300; AddParameterDef4Update(sqlCommand1); sqlCommand1.CommandType = System.Data.CommandType.StoredProcedure; for (int i = 0; i < param.KomissionEntity.Count; i++) { //if (param.KomissionEntity[i].Timestamp != null) // update nicht mehr über timestamp //{ System.Collections.Generic.List<string> changedColumns = param.KomissionEntity[i].GetUpdatedColumns(); sqlCommand1.Parameters["@rowid"].Value = (Guid)param.KomissionEntity[i].Rowid; sqlCommand1.Parameters["@timestamp"].Value = param.KomissionEntity[i].Timestamp; sqlCommand1.Parameters["@mandant"].Value = (Guid)param.MandantenID; sqlCommand1.Parameters["@geaendertvon"].Value = (string)param.UserName; if (changedColumns.Contains("Vater")) // && (param.KomissionEntity[i].Vater != Guid.Empty)) { sqlCommand1.Parameters["@vater"].Value = (Guid)param.KomissionEntity[i].Vater; } else { sqlCommand1.Parameters["@vater"].Value = DBNull.Value; } if (changedColumns.Contains("KomissionArt")) // && (param.KomissionEntity[i].KomissionArt != Guid.Empty)) { sqlCommand1.Parameters["@Komissionart"].Value = (Guid)param.KomissionEntity[i].KomissionArt; } else { sqlCommand1.Parameters["@Komissionart"].Value = DBNull.Value; } if (changedColumns.Contains("Bezeichnung")) { sqlCommand1.Parameters["@bezeichnung"].Value = (string)param.KomissionEntity[i].Bezeichnung; } else { sqlCommand1.Parameters["@bezeichnung"].Value = DBNull.Value; } if (changedColumns.Contains("Bezeichnung2")) { sqlCommand1.Parameters["@bezeichnung2"].Value = (string)param.KomissionEntity[i].Bezeichnung2; } else { sqlCommand1.Parameters["@bezeichnung2"].Value = DBNull.Value; } if (changedColumns.Contains("SortimentsBezeichnung")) { sqlCommand1.Parameters["@sortimentsbezeichnung"].Value = (string)param.KomissionEntity[i].SortimentsBezeichnung; } else { sqlCommand1.Parameters["@sortimentsbezeichnung"].Value = DBNull.Value; } if (changedColumns.Contains("KreditorenNummer")) { sqlCommand1.Parameters["@kreditorennummer"].Value = (string)param.KomissionEntity[i].KreditorenNummer; } else { sqlCommand1.Parameters["@kreditorennummer"].Value = DBNull.Value; } if (changedColumns.Contains("Bestelltext")) { sqlCommand1.Parameters["@bestelltext"].Value = (string)param.KomissionEntity[i].Bestelltext; } else { sqlCommand1.Parameters["@bestelltext"].Value = DBNull.Value; } if (changedColumns.Contains("KundenNummer")) { sqlCommand1.Parameters["@kundennummer"].Value = (string)param.KomissionEntity[i].KundenNummer; } else { sqlCommand1.Parameters["@kundennummer"].Value = DBNull.Value; } if (changedColumns.Contains("KundenNrIstIntern")) { sqlCommand1.Parameters["@kundennristintern"].Value = (short)param.KomissionEntity[i].KundenNrIstIntern; } else { sqlCommand1.Parameters["@kundennristintern"].Value = DBNull.Value; } if (changedColumns.Contains("PfadProduktInformationen")) { sqlCommand1.Parameters["@pfadproduktinformationen"].Value = (string)param.KomissionEntity[i].PfadProduktInformationen; } else { sqlCommand1.Parameters["@pfadproduktinformationen"].Value = DBNull.Value; } if (changedColumns.Contains("PfadMarktBericht")) { sqlCommand1.Parameters["@pfadmarktbericht"].Value = (string)param.KomissionEntity[i].PfadMarktBericht; } else { sqlCommand1.Parameters["@pfadmarktbericht"].Value = DBNull.Value; } if (changedColumns.Contains("DatenElektronischAktualisierenKz")) { sqlCommand1.Parameters["@datenelektronischaktualisierenkz"].Value = (short)param.KomissionEntity[i].DatenElektronischAktualisierenKz; } else { sqlCommand1.Parameters["@datenelektronischaktualisierenkz"].Value = DBNull.Value; } if (changedColumns.Contains("BestellungenAutomatischVersendenKz")) { sqlCommand1.Parameters["@bestellungenautomatischversendenkz"].Value = (short)param.KomissionEntity[i].BestellungenAutomatischVersendenKz; } else { sqlCommand1.Parameters["@bestellungenautomatischversendenkz"].Value = DBNull.Value; } SqlDataReader sqlReader = sqlCommand1.ExecuteReader(); int timestampOid = sqlReader.GetOrdinal("timestamp"); int geaendertamOid = sqlReader.GetOrdinal("geaendertam"); int geaendertvonOid = sqlReader.GetOrdinal("geaendertvon"); int vaterOid = sqlReader.GetOrdinal("vater"); int KomissionartOid = sqlReader.GetOrdinal("Komissionart"); int bezeichnungOid = sqlReader.GetOrdinal("bezeichnung"); int bezeichnung2Oid = sqlReader.GetOrdinal("bezeichnung2"); int sortimentsbezeichnungOid = sqlReader.GetOrdinal("sortimentsbezeichnung"); int kreditorennummerOid = sqlReader.GetOrdinal("kreditorennummer"); int bestelltextOid = sqlReader.GetOrdinal("bestelltext"); int kundennummerOid = sqlReader.GetOrdinal("kundennummer"); int kundennristinternOid = sqlReader.GetOrdinal("kundennristintern"); int pfadproduktinformationenOid = sqlReader.GetOrdinal("pfadproduktinformationen"); int pfadmarktberichtOid = sqlReader.GetOrdinal("pfadmarktbericht"); int datenelektronischaktualisierenkzOid = sqlReader.GetOrdinal("datenelektronischaktualisierenkz"); int bestellungenautomatischversendenkzOid = sqlReader.GetOrdinal("bestellungenautomatischversendenkz"); if (sqlReader.Read()) { KomissionEntityDM rs = new KomissionEntityDM(); rs.DisableUpdateMask = true; rs.Rowid = param.KomissionEntity[i].Rowid; if (!sqlReader.IsDBNull(timestampOid)) { byte[] tbyte = new byte[sqlReader.GetBytes(timestampOid, 0, null, 0, int.MaxValue)]; // länge ermitteln sqlReader.GetBytes(timestampOid, 0, tbyte, 0, int.MaxValue); // timestamp in buffer einlesen rs.Timestamp = tbyte; } rs.Mandant = param.MandantenID; rs.ErstelltVon = param.KomissionEntity[i].ErstelltVon; rs.ErstelltAm = param.KomissionEntity[i].ErstelltAm; rs.GeaendertVon = sqlReader.IsDBNull(geaendertvonOid) ? string.Empty : sqlReader.GetString(geaendertvonOid); rs.GeaendertAm = sqlReader.IsDBNull(geaendertamOid) ? DateTime.MinValue : sqlReader.GetDateTime(geaendertamOid); rs.Vater = sqlReader.IsDBNull(vaterOid) ? Guid.Empty : sqlReader.GetGuid(vaterOid); rs.KomissionArt = sqlReader.IsDBNull(KomissionartOid) ? Guid.Empty : sqlReader.GetGuid(KomissionartOid); rs.Bezeichnung = sqlReader.IsDBNull(bezeichnungOid) ? string.Empty : sqlReader.GetString(bezeichnungOid); rs.Bezeichnung2 = sqlReader.IsDBNull(bezeichnung2Oid) ? string.Empty : sqlReader.GetString(bezeichnung2Oid); rs.SortimentsBezeichnung = sqlReader.IsDBNull(sortimentsbezeichnungOid) ? string.Empty : sqlReader.GetString(sortimentsbezeichnungOid); rs.KreditorenNummer = sqlReader.IsDBNull(kreditorennummerOid) ? string.Empty : sqlReader.GetString(kreditorennummerOid); rs.Bestelltext = sqlReader.IsDBNull(bestelltextOid) ? string.Empty : sqlReader.GetString(bestelltextOid); rs.KundenNummer = sqlReader.IsDBNull(kundennummerOid) ? string.Empty : sqlReader.GetString(kundennummerOid); rs.KundenNrIstIntern = sqlReader.IsDBNull(kundennristinternOid) ? false : sqlReader.GetBoolean(kundennristinternOid); rs.PfadProduktInformationen = sqlReader.IsDBNull(pfadproduktinformationenOid) ? string.Empty : sqlReader.GetString(pfadproduktinformationenOid); rs.PfadMarktBericht = sqlReader.IsDBNull(pfadmarktberichtOid) ? string.Empty : sqlReader.GetString(pfadmarktberichtOid); rs.DatenElektronischAktualisierenKz = sqlReader.IsDBNull(datenelektronischaktualisierenkzOid) ? false : sqlReader.GetBoolean(datenelektronischaktualisierenkzOid); rs.BestellungenAutomatischVersendenKz = sqlReader.IsDBNull(bestellungenautomatischversendenkzOid) ? false : sqlReader.GetBoolean(bestellungenautomatischversendenkzOid); rs.DisableUpdateMask = false; ret.KomissionEntity.Add(rs); } else { ret.FehlerText = "Der Datensatz konnte nicht gespeichert werden!"; ret.HatFehler = true; return ret; } sqlReader.Close(); //} } Speichern_NachImpl(param, ret); scope.Complete(); } catch (SqlException ex) { // logging des fehlers noch implementieren ret = new KomissionEntityA(); ret.HatFehler = true; ret.FehlerText = "Sql-Fehler: " + ex.Number.ToString() + " " + ex.Message; return ret; } catch (Exception e) { // logging des fehlers noch implementieren ret = new KomissionEntityA(); ret.HatFehler = true; ret.FehlerText = e.Message; return ret; } finally { if (sqlCommand1 != null) sqlCommand1.Dispose(); if (sqlCommand2 != null) sqlCommand2.Dispose(); if (sqlConnection != null) sqlConnection.Close(); } } #endregion --------------------------- Implementierung Ende ------------------------- #region ------------------------------ Rueckgabe ------------------------------ ret.HatFehler = false; return ret; #endregion --------------------------- Rueckgabe Ende ------------------------- }
/// <summary> /// Lesen. /// </summary> /// <param name="param">Der Parameter.</param> /// <returns>"KomissionEntityA"</returns> KomissionEntityA IServiceKomissionEntity.Lesen(KomissionEntityF param) { #region ------------------------------ Initialisierung ------------------------------ KomissionEntityA ret = new KomissionEntityA(); ret.HatFehler = true; PagingA paging = Paging.CheckPaging(param); // für ado.net SqlConnection sqlConnection = null; SqlCommand sqlCommand1 = null; SqlCommand sqlCommand2 = null; SqlDataReader sqlReader = null; StringBuilder strFilter = new StringBuilder(); StringBuilder strSortierung = new StringBuilder(); // queryfilter aufbereiten strFilter.Append(" Komission.mandant='"); strFilter.Append(param.MandantenID.ToString()); strFilter.Append("' "); if (!string.IsNullOrEmpty(param.VolltextSuche)) { StringBuilder suchbedingung = new StringBuilder(); string[] fields = new string[8]; fields[0] = "Komission.BEZEICHNUNG"; fields[1] = "Komission.BEZEICHNUNG2"; fields[2] = "Komission.SORTIMENTSBEZEICHNUNG"; fields[3] = "Komission.KREDITORENNUMMER"; fields[4] = "Komission.BESTELLTEXT"; fields[5] = "Komission.KUNDENNUMMER"; fields[6] = "Komission.PFADPRODUKTINFORMATIONEN"; fields[7] = "Komission.PFADMARKTBERICHT"; string[] volltextsuche = param.VolltextSuche.Split(' '); for (int j = 0; j < fields.Length; j++) { StringBuilder suchbez = new StringBuilder(); for (int i = 0; i < volltextsuche.Length; i++) { suchbez.Append(" AND lower(" + fields[j] + ") LIKE '%"); suchbez.Append(volltextsuche[i].ToLower().Trim()); suchbez.Append("%'"); } suchbez.Remove(0, 4); // erste UND bedingung muss weg suchbez.Insert(0, " OR ("); suchbez.Append(") "); suchbedingung.Append(suchbez.ToString()); } suchbedingung.Remove(0, 3); // erste OR bedingung muss weg suchbedingung.Insert(0, " AND ( "); suchbedingung.Append(") "); strFilter.Append(suchbedingung.ToString()); } if ((Guid)param.Filter.Rowid != Guid.Empty) { strFilter.Append(" AND Komission.rowid='"); strFilter.Append(param.Filter.Rowid.ToString()); strFilter.Append("' "); } if (param.Filter.ErstelltVon.ToString().Length > 0) { strFilter.Append(" AND lower(Komission.ERSTELLTVON) LIKE '%"); strFilter.Append(param.Filter.ErstelltVon.ToString().ToLower()); strFilter.Append("%'"); } if (param.Filter.ErstelltAm != DateTime.MinValue) { strFilter.Append(" AND CAST(FLOOR(CAST(Komission.ERSTELLTAM AS float)) AS datetime)='"); strFilter.Append(param.Filter.ErstelltAm.ToSqlDateFormat()); strFilter.Append("'"); } if (param.Filter.GeaendertVon.ToString().Length > 0) { strFilter.Append(" AND lower(Komission.GEAENDERTVON) LIKE '%"); strFilter.Append(param.Filter.GeaendertVon.ToString().ToLower()); strFilter.Append("%'"); } if (param.Filter.GeaendertAm != DateTime.MinValue) { strFilter.Append(" AND CAST(FLOOR(CAST(Komission.GEAENDERTAM AS float)) AS datetime)='"); strFilter.Append(param.Filter.GeaendertAm.ToSqlDateFormat()); strFilter.Append("'"); } if ((Guid)param.Filter.Vater != Guid.Empty) { strFilter.Append(" AND Komission.vater='"); strFilter.Append(param.Filter.Vater.ToString()); strFilter.Append("' "); } if ((Guid)param.Filter.KomissionArt != Guid.Empty) { strFilter.Append(" AND Komission.Komissionart='"); strFilter.Append(param.Filter.KomissionArt.ToString()); strFilter.Append("' "); } if (!string.IsNullOrEmpty(param.Filter.Bezeichnung)) { strFilter.Append(" AND lower(Komission.BEZEICHNUNG) LIKE '%"); strFilter.Append(param.Filter.Bezeichnung.ToString().ToLower()); strFilter.Append("%'"); } if (!string.IsNullOrEmpty(param.Filter.Bezeichnung2)) { strFilter.Append(" AND lower(Komission.BEZEICHNUNG2) LIKE '%"); strFilter.Append(param.Filter.Bezeichnung2.ToString().ToLower()); strFilter.Append("%'"); } if (!string.IsNullOrEmpty(param.Filter.SortimentsBezeichnung)) { strFilter.Append(" AND lower(Komission.SORTIMENTSBEZEICHNUNG) LIKE '%"); strFilter.Append(param.Filter.SortimentsBezeichnung.ToString().ToLower()); strFilter.Append("%'"); } if (!string.IsNullOrEmpty(param.Filter.KreditorenNummer)) { strFilter.Append(" AND lower(Komission.KREDITORENNUMMER) LIKE '%"); strFilter.Append(param.Filter.KreditorenNummer.ToString().ToLower()); strFilter.Append("%'"); } if (!string.IsNullOrEmpty(param.Filter.Bestelltext)) { strFilter.Append(" AND lower(Komission.BESTELLTEXT) LIKE '%"); strFilter.Append(param.Filter.Bestelltext.ToString().ToLower()); strFilter.Append("%'"); } if (!string.IsNullOrEmpty(param.Filter.KundenNummer)) { strFilter.Append(" AND lower(Komission.KUNDENNUMMER) LIKE '%"); strFilter.Append(param.Filter.KundenNummer.ToString().ToLower()); strFilter.Append("%'"); } if (param.Filter.KundenNrIstIntern == true) strFilter.Append(" AND Komission.kundennristintern=1"); if (!string.IsNullOrEmpty(param.Filter.PfadProduktInformationen)) { strFilter.Append(" AND lower(Komission.PFADPRODUKTINFORMATIONEN) LIKE '%"); strFilter.Append(param.Filter.PfadProduktInformationen.ToString().ToLower()); strFilter.Append("%'"); } if (!string.IsNullOrEmpty(param.Filter.PfadMarktBericht)) { strFilter.Append(" AND lower(Komission.PFADMARKTBERICHT) LIKE '%"); strFilter.Append(param.Filter.PfadMarktBericht.ToString().ToLower()); strFilter.Append("%'"); } if (param.Filter.DatenElektronischAktualisierenKz == true) strFilter.Append(" AND Komission.datenelektronischaktualisierenkz=1"); if (param.Filter.BestellungenAutomatischVersendenKz == true) strFilter.Append(" AND Komission.bestellungenautomatischversendenkz=1"); // erweiterte Sql Bedingung aus Basisobjekt if (!string.IsNullOrEmpty(param.ExtSqlRestriction)) { strFilter.Append(" AND "); strFilter.Append(param.ExtSqlRestriction); } // sortierung strSortierung.Append("Komission.BEZEICHNUNG"); #endregion --------------------------- Initialisierung Ende ------------------------- #region ------------------------------ Implementierung ------------------------------ using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { try { // was ist mit ... new DebuggerWriter(); // writing to the debugger log window Lesen_VorImpl(param); sqlConnection = new SqlConnection(VerbindungsEinstellung.ConnectionString); sqlConnection.Open(); sqlCommand1 = new SqlCommand("sp_SelectRecords", sqlConnection); sqlCommand1.CommandTimeout = 300; sqlCommand1.CommandType = System.Data.CommandType.StoredProcedure; sqlCommand1.Parameters.AddWithValue("@tablename", "Controlling.Komission"); sqlCommand1.Parameters.AddWithValue("@queryfilter", strFilter.ToString()); sqlCommand1.Parameters.AddWithValue("@sortfield", strSortierung.ToString()); sqlCommand1.Parameters.AddWithValue("@userid", param.UserId); sqlCommand1.Parameters.AddWithValue("@pagesize", -1); // alle datensätze holen if (!string.IsNullOrEmpty(param.TableSortRefTable)) sqlCommand1.Parameters.AddWithValue("@tablesortreftable", param.TableSortRefTable.ToString()); if (!string.IsNullOrEmpty(param.TableSortColumn)) sqlCommand1.Parameters.AddWithValue("@tablesortcolumn", param.TableSortColumn.ToString()); //sqlCommand1.Parameters.AddWithValue("@pagesize", 500); //sqlCommand1.Parameters.AddWithValue("@pageindex", 1); sqlReader = sqlCommand1.ExecuteReader(); int rowidOid = sqlReader.GetOrdinal("rowid"); int mandantOid = sqlReader.GetOrdinal("mandant"); int timestampOid = sqlReader.GetOrdinal("timestamp"); int erstelltamOid = sqlReader.GetOrdinal("erstelltam"); int erstelltvonOid = sqlReader.GetOrdinal("erstelltvon"); int geaendertamOid = sqlReader.GetOrdinal("geaendertam"); int geaendertvonOid = sqlReader.GetOrdinal("geaendertvon"); int vaterOid = sqlReader.GetOrdinal("vater"); int KomissionartOid = sqlReader.GetOrdinal("Komissionart"); int bezeichnungOid = sqlReader.GetOrdinal("bezeichnung"); int bezeichnung2Oid = sqlReader.GetOrdinal("bezeichnung2"); int sortimentsbezeichnungOid = sqlReader.GetOrdinal("sortimentsbezeichnung"); int kreditorennummerOid = sqlReader.GetOrdinal("kreditorennummer"); int bestelltextOid = sqlReader.GetOrdinal("bestelltext"); int kundennummerOid = sqlReader.GetOrdinal("kundennummer"); int kundennristinternOid = sqlReader.GetOrdinal("kundennristintern"); int pfadproduktinformationenOid = sqlReader.GetOrdinal("pfadproduktinformationen"); int pfadmarktberichtOid = sqlReader.GetOrdinal("pfadmarktbericht"); int datenelektronischaktualisierenkzOid = sqlReader.GetOrdinal("datenelektronischaktualisierenkz"); int bestellungenautomatischversendenkzOid = sqlReader.GetOrdinal("bestellungenautomatischversendenkz"); while (sqlReader.Read()) { KomissionEntityDM rs = new KomissionEntityDM(); rs.DisableUpdateMask = true; rs.Rowid = sqlReader.IsDBNull(rowidOid) ? Guid.Empty : sqlReader.GetGuid(rowidOid); if (!sqlReader.IsDBNull(timestampOid)) { byte[] tbyte = new byte[sqlReader.GetBytes(timestampOid, 0, null, 0, int.MaxValue)]; // länge ermitteln sqlReader.GetBytes(timestampOid, 0, tbyte, 0, int.MaxValue); // timestamp in buffer einlesen rs.Timestamp = tbyte; } rs.Mandant = sqlReader.IsDBNull(mandantOid) ? Guid.Empty : sqlReader.GetGuid(mandantOid); rs.ErstelltVon = sqlReader.IsDBNull(erstelltvonOid) ? string.Empty : sqlReader.GetString(erstelltvonOid); rs.ErstelltAm = sqlReader.IsDBNull(erstelltamOid) ? DateTime.MinValue : sqlReader.GetDateTime(erstelltamOid); rs.GeaendertVon = sqlReader.IsDBNull(geaendertvonOid) ? string.Empty : sqlReader.GetString(geaendertvonOid); rs.GeaendertAm = sqlReader.IsDBNull(geaendertamOid) ? DateTime.MinValue : sqlReader.GetDateTime(geaendertamOid); rs.Vater = sqlReader.IsDBNull(vaterOid) ? Guid.Empty : sqlReader.GetGuid(vaterOid); rs.KomissionArt = sqlReader.IsDBNull(KomissionartOid) ? Guid.Empty : sqlReader.GetGuid(KomissionartOid); rs.Bezeichnung = sqlReader.IsDBNull(bezeichnungOid) ? string.Empty : sqlReader.GetString(bezeichnungOid); rs.Bezeichnung2 = sqlReader.IsDBNull(bezeichnung2Oid) ? string.Empty : sqlReader.GetString(bezeichnung2Oid); rs.SortimentsBezeichnung = sqlReader.IsDBNull(sortimentsbezeichnungOid) ? string.Empty : sqlReader.GetString(sortimentsbezeichnungOid); rs.KreditorenNummer = sqlReader.IsDBNull(kreditorennummerOid) ? string.Empty : sqlReader.GetString(kreditorennummerOid); rs.Bestelltext = sqlReader.IsDBNull(bestelltextOid) ? string.Empty : sqlReader.GetString(bestelltextOid); rs.KundenNummer = sqlReader.IsDBNull(kundennummerOid) ? string.Empty : sqlReader.GetString(kundennummerOid); rs.KundenNrIstIntern = sqlReader.IsDBNull(kundennristinternOid) ? false : sqlReader.GetBoolean(kundennristinternOid); rs.PfadProduktInformationen = sqlReader.IsDBNull(pfadproduktinformationenOid) ? string.Empty : sqlReader.GetString(pfadproduktinformationenOid); rs.PfadMarktBericht = sqlReader.IsDBNull(pfadmarktberichtOid) ? string.Empty : sqlReader.GetString(pfadmarktberichtOid); rs.DatenElektronischAktualisierenKz = sqlReader.IsDBNull(datenelektronischaktualisierenkzOid) ? false : sqlReader.GetBoolean(datenelektronischaktualisierenkzOid); rs.BestellungenAutomatischVersendenKz = sqlReader.IsDBNull(bestellungenautomatischversendenkzOid) ? false : sqlReader.GetBoolean(bestellungenautomatischversendenkzOid); rs.DisableUpdateMask = false; ret.KomissionEntity.Add(rs); } // sind dem benutzer alle orgeinheiten zugewiesen? if ((param.BenuterHatAlleMasterOrgEinheitenHolen) && (param.Filter.Rowid != Guid.Empty)) { sqlCommand2 = new SqlCommand("sp_SelectHatAlleOrgEinheiten", sqlConnection); sqlCommand2.CommandTimeout = 300; sqlCommand2.CommandType = System.Data.CommandType.StoredProcedure; sqlCommand2.Parameters.Add("@tablename", System.Data.SqlDbType.VarChar); sqlCommand2.Parameters["@tablename"].DbType = System.Data.DbType.String; sqlCommand2.Parameters["@tablename"].Direction = System.Data.ParameterDirection.Input; sqlCommand2.Parameters["@tablename"].Value = "Komission"; sqlCommand2.Parameters.Add("@rowid2query", System.Data.SqlDbType.UniqueIdentifier); sqlCommand2.Parameters["@rowid2query"].DbType = System.Data.DbType.Guid; sqlCommand2.Parameters["@rowid2query"].Direction = System.Data.ParameterDirection.Input; sqlCommand2.Parameters["@rowid2query"].Value = (Guid)param.Filter.Rowid; sqlCommand2.Parameters.Add("@userid", System.Data.SqlDbType.UniqueIdentifier); sqlCommand2.Parameters["@userid"].DbType = System.Data.DbType.Guid; sqlCommand2.Parameters["@userid"].Direction = System.Data.ParameterDirection.Input; sqlCommand2.Parameters["@userid"].Value = (Guid)param.UserId; sqlCommand2.Parameters.Add("@hatalleorgeinheiten", System.Data.SqlDbType.Bit); sqlCommand2.Parameters["@hatalleorgeinheiten"].DbType = System.Data.DbType.Boolean; sqlCommand2.Parameters["@hatalleorgeinheiten"].Direction = System.Data.ParameterDirection.InputOutput; sqlCommand2.Parameters["@hatalleorgeinheiten"].Value = false; sqlReader.Close(); sqlReader = sqlCommand2.ExecuteReader(); ret.BenutzerHatAlleMasterOrgEinheiten = (bool)sqlCommand2.Parameters["@hatalleorgeinheiten"].Value; } Lesen_NachImpl(param, ret); scope.Complete(); } catch (SqlException ex) { // logging des fehlers noch implementieren ret = new KomissionEntityA(); ret.HatFehler = true; ret.FehlerText = "Sql-Fehler: " + ex.Number.ToString() + " " + ex.Message; return ret; } catch (Exception e) { // logging des fehlers noch implementieren ret = new KomissionEntityA(); ret.HatFehler = true; ret.FehlerText = e.Message; return ret; } finally { if (sqlReader != null) sqlReader.Close(); if (sqlCommand1 != null) sqlCommand1.Dispose(); if (sqlCommand2 != null) sqlCommand2.Dispose(); if (sqlConnection != null) sqlConnection.Close(); } } #endregion --------------------------- Implementierung Ende ------------------------- #region ------------------------------ Rueckgabe ------------------------------ ret.HatFehler = false; return ret; #endregion --------------------------- Rueckgabe Ende ------------------------- }
/// <summary> /// Loeschen. /// </summary> /// <param name="param">Der Parameter.</param> /// <returns>"KomissionEntityA"</returns> KomissionEntityA IServiceKomissionEntity.Loeschen(KomissionEntityF param) { #region ------------------------------ Initialisierung ------------------------------ KomissionEntityA ret = new KomissionEntityA(); ret.HatFehler = true; // für ado.net SqlConnection sqlConnection = null; SqlCommand sqlCommand1 = null; SqlCommand sqlCommand2 = null; #endregion --------------------------- Initialisierung Ende ------------------------- #region ------------------------------ Implementierung ------------------------------ using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { try { // was ist mit ... new DebuggerWriter(); // writing to the debugger log window Loeschen_VorImpl(param); sqlConnection = new SqlConnection(VerbindungsEinstellung.ConnectionString); sqlConnection.Open(); // löschen aller abhängigen datensätze mit sp_DeleteRelationships sqlCommand1 = new SqlCommand("dbo.sp_DeleteRelationships", sqlConnection); sqlCommand1.CommandTimeout = 300; sqlCommand1.CommandType = System.Data.CommandType.StoredProcedure; AddParameterDef4DeleteRelationships(sqlCommand1); // löschen des eigentlichen Satzes mit sp_Table_Delete sqlCommand2 = new SqlCommand("Controlling.sp_Komission_Delete", sqlConnection); sqlCommand2.CommandTimeout = 300; sqlCommand2.CommandType = System.Data.CommandType.StoredProcedure; AddParameterDef4Delete(sqlCommand2); sqlCommand1.Parameters["@tablename"].Value = (string)"Komission"; sqlCommand1.Parameters["@geaendertvon"].Value = param.UserName; sqlCommand2.Parameters["@mandant"].Value = param.MandantenID; sqlCommand2.Parameters["@geaendertvon"].Value = param.UserName; for (int i = 0; i < param.KomissionEntity.Count; i++) { if (param.KomissionEntity[i].Timestamp != null) { sqlCommand1.Parameters["@uirowid"].Value = (Guid)param.KomissionEntity[i].Rowid; sqlCommand1.ExecuteScalar(); int iReturnValue = (int)sqlCommand1.Parameters["@errorvalue"].Value; if (iReturnValue == 1) { String sFKInfo = (string)sqlCommand1.Parameters["@fkdelinfo"].Value.ToString().Replace(",", "\n"); if (String.IsNullOrEmpty(sFKInfo)) ret.FehlerText = "Es bestehen noch abhängige Daten.\nDer Datensatz kann nicht gelöscht werden!"; else ret.FehlerText = "Es bestehen noch abhängige Daten:\n" + sFKInfo + "\n\nDer Datensatz kann nicht gelöscht werden!"; ret.HatFehler = true; return ret; } sqlCommand2.Parameters["@rowid"].Value = (Guid)param.KomissionEntity[i].Rowid; sqlCommand2.Parameters["@timestamp"].Value = param.KomissionEntity[i].Timestamp; iReturnValue = sqlCommand2.ExecuteNonQuery(); if (iReturnValue == 0) { ret.FehlerText = "Der Datensatz konnte nicht gelöscht werden!"; ret.HatFehler = true; return ret; } } } Loeschen_NachImpl(param, ret); scope.Complete(); } catch (SqlException ex) { // logging des fehlers noch implementieren ret = new KomissionEntityA(); ret.HatFehler = true; ret.FehlerText = "Sql-Fehler: " + ex.Number.ToString() + " " + ex.Message; return ret; } catch (Exception e) { // logging des fehlers noch implementieren ret = new KomissionEntityA(); ret.HatFehler = true; ret.FehlerText = e.Message; return ret; } finally { if (sqlCommand1 != null) sqlCommand1.Dispose(); if (sqlCommand2 != null) sqlCommand2.Dispose(); if (sqlConnection != null) sqlConnection.Close(); } } #endregion --------------------------- Implementierung Ende ------------------------- #region ------------------------------ Rueckgabe ------------------------------ ret.HatFehler = false; return ret; #endregion --------------------------- Rueckgabe Ende ------------------------- }
partial void Speichern_VorImpl(KomissionEntityF param);
partial void Speichern_NachImpl(KomissionEntityF paramF, KomissionEntityA paramA);
partial void Neu_NachImpl(KomissionEntityF paramF, KomissionEntityA paramA);
partial void Neu_VorImpl(KomissionEntityF paramF);
partial void Loeschen_NachImpl(KomissionEntityF paramF, KomissionEntityA paramA);
partial void Loeschen_VorImpl(KomissionEntityF param);
// throw an exception inside the ext_method to abort functionality (transaction save!) partial void Lesen_VorImpl(KomissionEntityF paramF);