コード例 #1
0
ファイル: 217.cs プロジェクト: kopelli/Visual-StyleCop
        /// <summary>
        /// Speichern.
        /// </summary>
        /// <param name="param">Der Parameter.</param>
        /// <returns>"OrderArtEntityA"</returns>
        OrderArtEntityA IServiceOrderArtEntity.Speichern(OrderArtEntityF param)
        {
            #region ------------------------------ Initialisierung ------------------------------

            OrderArtEntityA ret = new OrderArtEntityA();
            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_OrderArt_UpdateCols", sqlConnection);
                    sqlCommand1.CommandTimeout = 300;
                    AddParameterDef4Update(sqlCommand1);
                    sqlCommand1.CommandType = System.Data.CommandType.StoredProcedure;

                    for (int i = 0; i < param.OrderArtEntity.Count; i++)
                    {
                        //if (param.OrderArtEntity[i].Timestamp != null) // update nicht mehr über timestamp
                        //{
                        System.Collections.Generic.List<string> changedColumns = param.OrderArtEntity[i].GetUpdatedColumns();

                        sqlCommand1.Parameters["@rowid"].Value = (Guid)param.OrderArtEntity[i].Rowid;
                        sqlCommand1.Parameters["@timestamp"].Value = param.OrderArtEntity[i].Timestamp;
                        sqlCommand1.Parameters["@mandant"].Value = (Guid)param.MandantenID;
                        sqlCommand1.Parameters["@geaendertvon"].Value = (string)param.UserName;
                        if (changedColumns.Contains("BestellEinheit")) // && (param.OrderArtEntity[i].BestellEinheit != Guid.Empty))
                        {
                            sqlCommand1.Parameters["@bestelleinheit"].Value = (Guid)param.OrderArtEntity[i].BestellEinheit;
                        }
                        else
                        {
                            sqlCommand1.Parameters["@bestelleinheit"].Value = DBNull.Value;
                        }
                        if (changedColumns.Contains("OrganisationsEinheit")) // && (param.OrderArtEntity[i].OrganisationsEinheit != Guid.Empty))
                        {
                            sqlCommand1.Parameters["@organisationseinheit"].Value = (Guid)param.OrderArtEntity[i].OrganisationsEinheit;
                        }
                        else
                        {
                            sqlCommand1.Parameters["@organisationseinheit"].Value = DBNull.Value;
                        }
                        if (changedColumns.Contains("Artikel")) // && (param.OrderArtEntity[i].Artikel != Guid.Empty))
                        {
                            sqlCommand1.Parameters["@artikel"].Value = (Guid)param.OrderArtEntity[i].Artikel;
                        }
                        else
                        {
                            sqlCommand1.Parameters["@artikel"].Value = DBNull.Value;
                        }
                        if (changedColumns.Contains("Komission")) // && (param.OrderArtEntity[i].Komission != Guid.Empty))
                        {
                            sqlCommand1.Parameters["@Komission"].Value = (Guid)param.OrderArtEntity[i].Komission;
                        }
                        else
                        {
                            sqlCommand1.Parameters["@Komission"].Value = DBNull.Value;
                        }
                        if (changedColumns.Contains("BestellNummer"))
                        {
                            sqlCommand1.Parameters["@bestellnummer"].Value = (string)param.OrderArtEntity[i].BestellNummer;
                        }
                        else
                        {
                            sqlCommand1.Parameters["@bestellnummer"].Value = DBNull.Value;
                        }
                        if (changedColumns.Contains("Artikelpreis"))
                        {
                            sqlCommand1.Parameters["@artikelpreis"].Value = (double)param.OrderArtEntity[i].Artikelpreis;
                        }
                        else
                        {
                            sqlCommand1.Parameters["@artikelpreis"].Value = DBNull.Value;
                        }
                        if (changedColumns.Contains("Menge"))
                        {
                            sqlCommand1.Parameters["@menge"].Value = (double)param.OrderArtEntity[i].Menge;
                        }
                        else
                        {
                            sqlCommand1.Parameters["@menge"].Value = DBNull.Value;
                        }
                        if (changedColumns.Contains("Bezeichnung"))
                        {
                            sqlCommand1.Parameters["@bezeichnung"].Value = (string)param.OrderArtEntity[i].Bezeichnung;
                        }
                        else
                        {
                            sqlCommand1.Parameters["@bezeichnung"].Value = DBNull.Value;
                        }
                        if (changedColumns.Contains("GueltigkeitsDatum"))
                        {
                            sqlCommand1.Parameters["@gueltigkeitsdatum"].Value = (DateTime)param.OrderArtEntity[i].GueltigkeitsDatum;
                        }
                        else
                        {
                            sqlCommand1.Parameters["@gueltigkeitsdatum"].Value = DBNull.Value;
                        }
                        if (changedColumns.Contains("DauerOrderArt"))
                        {
                            sqlCommand1.Parameters["@dauerOrderArt"].Value = (short)param.OrderArtEntity[i].DauerOrderArt;
                        }
                        else
                        {
                            sqlCommand1.Parameters["@dauerOrderArt"].Value = DBNull.Value;
                        }
                        if (changedColumns.Contains("BestellVorlaufInTagen"))
                        {
                            sqlCommand1.Parameters["@bestellvorlaufintagen"].Value = (int)param.OrderArtEntity[i].BestellVorlaufInTagen;
                        }
                        else
                        {
                            sqlCommand1.Parameters["@bestellvorlaufintagen"].Value = DBNull.Value;
                        }
                        if (changedColumns.Contains("IstVorzugsKomission"))
                        {
                            sqlCommand1.Parameters["@istvorzugsKomission"].Value = (short)param.OrderArtEntity[i].IstVorzugsKomission;
                        }
                        else
                        {
                            sqlCommand1.Parameters["@istvorzugsKomission"].Value = DBNull.Value;
                        }

                        SqlDataReader sqlReader = sqlCommand1.ExecuteReader();

                        int timestampOid = sqlReader.GetOrdinal("timestamp");
                        int geaendertamOid = sqlReader.GetOrdinal("geaendertam");
                        int geaendertvonOid = sqlReader.GetOrdinal("geaendertvon");
                        int bestelleinheitOid = sqlReader.GetOrdinal("bestelleinheit");
                        int organisationseinheitOid = sqlReader.GetOrdinal("organisationseinheit");
                        int artikelOid = sqlReader.GetOrdinal("artikel");
                        int KomissionOid = sqlReader.GetOrdinal("Komission");
                        int bestellnummerOid = sqlReader.GetOrdinal("bestellnummer");
                        int artikelpreisOid = sqlReader.GetOrdinal("artikelpreis");
                        int mengeOid = sqlReader.GetOrdinal("menge");
                        int bezeichnungOid = sqlReader.GetOrdinal("bezeichnung");
                        int gueltigkeitsdatumOid = sqlReader.GetOrdinal("gueltigkeitsdatum");
                        int dauerOrderArtOid = sqlReader.GetOrdinal("dauerOrderArt");
                        int bestellvorlaufintagenOid = sqlReader.GetOrdinal("bestellvorlaufintagen");
                        int istvorzugsKomissionOid = sqlReader.GetOrdinal("istvorzugsKomission");


                        if (sqlReader.Read())
                        {
                            OrderArtEntityDM rs = new OrderArtEntityDM();
                            rs.DisableUpdateMask = true;

                            rs.Rowid = param.OrderArtEntity[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.OrderArtEntity[i].ErstelltVon;
                            rs.ErstelltAm = param.OrderArtEntity[i].ErstelltAm;
                            rs.GeaendertVon = sqlReader.IsDBNull(geaendertvonOid) ? string.Empty : sqlReader.GetString(geaendertvonOid);
                            rs.GeaendertAm = sqlReader.IsDBNull(geaendertamOid) ? DateTime.MinValue : sqlReader.GetDateTime(geaendertamOid);
                            rs.BestellEinheit = sqlReader.IsDBNull(bestelleinheitOid) ? Guid.Empty : sqlReader.GetGuid(bestelleinheitOid);
                            rs.OrganisationsEinheit = sqlReader.IsDBNull(organisationseinheitOid) ? Guid.Empty : sqlReader.GetGuid(organisationseinheitOid);
                            rs.Artikel = sqlReader.IsDBNull(artikelOid) ? Guid.Empty : sqlReader.GetGuid(artikelOid);
                            rs.Komission = sqlReader.IsDBNull(KomissionOid) ? Guid.Empty : sqlReader.GetGuid(KomissionOid);
                            rs.BestellNummer = sqlReader.IsDBNull(bestellnummerOid) ? string.Empty : sqlReader.GetString(bestellnummerOid);
                            if (!sqlReader.IsDBNull(artikelpreisOid))
                                rs.Artikelpreis = sqlReader.GetDouble(artikelpreisOid);
                            if (!sqlReader.IsDBNull(mengeOid))
                                rs.Menge = sqlReader.GetDouble(mengeOid);
                            rs.Bezeichnung = sqlReader.IsDBNull(bezeichnungOid) ? string.Empty : sqlReader.GetString(bezeichnungOid);
                            rs.GueltigkeitsDatum = sqlReader.IsDBNull(gueltigkeitsdatumOid) ? DateTime.MinValue : sqlReader.GetDateTime(gueltigkeitsdatumOid);
                            rs.DauerOrderArt = sqlReader.IsDBNull(dauerOrderArtOid) ? false : sqlReader.GetBoolean(dauerOrderArtOid);
                            if (!sqlReader.IsDBNull(bestellvorlaufintagenOid))
                                rs.BestellVorlaufInTagen = sqlReader.GetInt32(bestellvorlaufintagenOid);
                            rs.IstVorzugsKomission = sqlReader.IsDBNull(istvorzugsKomissionOid) ? false : sqlReader.GetBoolean(istvorzugsKomissionOid);

                            rs.DisableUpdateMask = false;
                            ret.OrderArtEntity.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 OrderArtEntityA();
                    ret.HatFehler = true;
                    ret.FehlerText = "Sql-Fehler: " + ex.Number.ToString() + " " + ex.Message;

                    return ret;
                }
                catch (Exception e)
                {
                    // logging des fehlers noch implementieren
                    ret = new OrderArtEntityA();
                    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 -------------------------
        }
コード例 #2
0
ファイル: 217.cs プロジェクト: kopelli/Visual-StyleCop
 partial void Speichern_NachImpl(OrderArtEntityF paramF, OrderArtEntityA paramA);
コード例 #3
0
ファイル: 217.cs プロジェクト: kopelli/Visual-StyleCop
        /// <summary>
        /// Lesen.
        /// </summary>
        /// <param name="param">Der Parameter.</param>
        /// <returns>"OrderArtEntityA"</returns>
        OrderArtEntityA IServiceOrderArtEntity.Lesen(OrderArtEntityF param)
        {
            #region ------------------------------ Initialisierung ------------------------------

            OrderArtEntityA ret = new OrderArtEntityA();
            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(" OrderArt.mandant='");
            strFilter.Append(param.MandantenID.ToString());
            strFilter.Append("' ");

            if (!string.IsNullOrEmpty(param.VolltextSuche))
            {
                StringBuilder suchbedingung = new StringBuilder();
                string[] fields = new string[2];
                fields[0] = "OrderArt.BESTELLNUMMER";
                fields[1] = "OrderArt.BEZEICHNUNG";
                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 OrderArt.rowid='");
                strFilter.Append(param.Filter.Rowid.ToString());
                strFilter.Append("' ");
            }
            if (param.Filter.ErstelltVon.ToString().Length > 0)
            {
                strFilter.Append(" AND lower(OrderArt.ERSTELLTVON) LIKE '%");
                strFilter.Append(param.Filter.ErstelltVon.ToString().ToLower());
                strFilter.Append("%'");
            }
            if (param.Filter.ErstelltAm != DateTime.MinValue)
            {
                strFilter.Append(" AND CAST(FLOOR(CAST(OrderArt.ERSTELLTAM AS float)) AS datetime)='");
                strFilter.Append(param.Filter.ErstelltAm.ToSqlDateFormat());
                strFilter.Append("'");
            }
            if (param.Filter.GeaendertVon.ToString().Length > 0)
            {
                strFilter.Append(" AND lower(OrderArt.GEAENDERTVON) LIKE '%");
                strFilter.Append(param.Filter.GeaendertVon.ToString().ToLower());
                strFilter.Append("%'");
            }
            if (param.Filter.GeaendertAm != DateTime.MinValue)
            {
                strFilter.Append(" AND CAST(FLOOR(CAST(OrderArt.GEAENDERTAM AS float)) AS datetime)='");
                strFilter.Append(param.Filter.GeaendertAm.ToSqlDateFormat());
                strFilter.Append("'");
            }
            if ((Guid)param.Filter.BestellEinheit != Guid.Empty)
            {
                strFilter.Append(" AND OrderArt.bestelleinheit='");
                strFilter.Append(param.Filter.BestellEinheit.ToString());
                strFilter.Append("' ");
            }
            if ((Guid)param.Filter.OrganisationsEinheit != Guid.Empty)
            {
                strFilter.Append(" AND OrderArt.organisationseinheit='");
                strFilter.Append(param.Filter.OrganisationsEinheit.ToString());
                strFilter.Append("' ");
            }
            if ((Guid)param.Filter.Artikel != Guid.Empty)
            {
                strFilter.Append(" AND OrderArt.artikel='");
                strFilter.Append(param.Filter.Artikel.ToString());
                strFilter.Append("' ");
            }
            if ((Guid)param.Filter.Komission != Guid.Empty)
            {
                strFilter.Append(" AND OrderArt.Komission='");
                strFilter.Append(param.Filter.Komission.ToString());
                strFilter.Append("' ");
            }
            if (!string.IsNullOrEmpty(param.Filter.BestellNummer))
            {
                strFilter.Append(" AND lower(OrderArt.BESTELLNUMMER) LIKE '%");
                strFilter.Append(param.Filter.BestellNummer.ToString().ToLower());
                strFilter.Append("%'");
            }
            if (param.Filter.Artikelpreis != 0.0)
            {
                int iDec = param.Filter.Artikelpreis.ToString().Length - (param.Filter.Artikelpreis.ToString().IndexOf(",") + 1);
                strFilter.Append(" AND ROUND(OrderArt.artikelpreis,");
                strFilter.Append(iDec.ToString());
                strFilter.Append(")=");
                strFilter.Append(param.Filter.Artikelpreis.ToString().Replace(",", "."));
            }
            if (param.Filter.Menge != 0.0)
            {
                int iDec = param.Filter.Menge.ToString().Length - (param.Filter.Menge.ToString().IndexOf(",") + 1);
                strFilter.Append(" AND ROUND(OrderArt.menge,");
                strFilter.Append(iDec.ToString());
                strFilter.Append(")=");
                strFilter.Append(param.Filter.Menge.ToString().Replace(",", "."));
            }
            if (!string.IsNullOrEmpty(param.Filter.Bezeichnung))
            {
                strFilter.Append(" AND lower(OrderArt.BEZEICHNUNG) LIKE '%");
                strFilter.Append(param.Filter.Bezeichnung.ToString().ToLower());
                strFilter.Append("%'");
            }
            if (param.Filter.GueltigkeitsDatum != DateTime.MinValue)
            {
                strFilter.Append(" AND CAST(FLOOR(CAST(OrderArt.GUELTIGKEITSDATUM AS float)) AS datetime)='");
                strFilter.Append(param.Filter.GueltigkeitsDatum.ToSqlDateFormat());
                strFilter.Append("'");
            }
            if (param.Filter.DauerOrderArt == true)
                strFilter.Append(" AND OrderArt.dauerOrderArt=1");
            if (param.Filter.BestellVorlaufInTagen != 0)
            {
                strFilter.Append(" AND OrderArt.bestellvorlaufintagen=");
                strFilter.Append(param.Filter.BestellVorlaufInTagen.ToString());
            }
            if (param.Filter.IstVorzugsKomission == true)
                strFilter.Append(" AND OrderArt.istvorzugsKomission=1");

            // erweiterte Sql Bedingung aus Basisobjekt
            if (!string.IsNullOrEmpty(param.ExtSqlRestriction))
            {
                strFilter.Append(" AND ");
                strFilter.Append(param.ExtSqlRestriction);
            }

            // sortierung
            strSortierung.Append("OrderArt.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.OrderArt");
                    sqlCommand1.Parameters.AddWithValue("@queryfilter", strFilter.ToString());
                    sqlCommand1.Parameters.AddWithValue("@sortfield", strSortierung.ToString());
                    sqlCommand1.Parameters.AddWithValue("@userid", param.UserId);
                    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 bestelleinheitOid = sqlReader.GetOrdinal("bestelleinheit");
                    int organisationseinheitOid = sqlReader.GetOrdinal("organisationseinheit");
                    int artikelOid = sqlReader.GetOrdinal("artikel");
                    int KomissionOid = sqlReader.GetOrdinal("Komission");
                    int bestellnummerOid = sqlReader.GetOrdinal("bestellnummer");
                    int artikelpreisOid = sqlReader.GetOrdinal("artikelpreis");
                    int mengeOid = sqlReader.GetOrdinal("menge");
                    int bezeichnungOid = sqlReader.GetOrdinal("bezeichnung");
                    int gueltigkeitsdatumOid = sqlReader.GetOrdinal("gueltigkeitsdatum");
                    int dauerOrderArtOid = sqlReader.GetOrdinal("dauerOrderArt");
                    int bestellvorlaufintagenOid = sqlReader.GetOrdinal("bestellvorlaufintagen");
                    int istvorzugsKomissionOid = sqlReader.GetOrdinal("istvorzugsKomission");

                    while (sqlReader.Read())
                    {
                        OrderArtEntityDM rs = new OrderArtEntityDM();
                        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.BestellEinheit = sqlReader.IsDBNull(bestelleinheitOid) ? Guid.Empty : sqlReader.GetGuid(bestelleinheitOid);
                        rs.OrganisationsEinheit = sqlReader.IsDBNull(organisationseinheitOid) ? Guid.Empty : sqlReader.GetGuid(organisationseinheitOid);
                        rs.Artikel = sqlReader.IsDBNull(artikelOid) ? Guid.Empty : sqlReader.GetGuid(artikelOid);
                        rs.Komission = sqlReader.IsDBNull(KomissionOid) ? Guid.Empty : sqlReader.GetGuid(KomissionOid);
                        rs.BestellNummer = sqlReader.IsDBNull(bestellnummerOid) ? string.Empty : sqlReader.GetString(bestellnummerOid);
                        if (!sqlReader.IsDBNull(artikelpreisOid))
                            rs.Artikelpreis = sqlReader.GetDouble(artikelpreisOid);
                        if (!sqlReader.IsDBNull(mengeOid))
                            rs.Menge = sqlReader.GetDouble(mengeOid);
                        rs.Bezeichnung = sqlReader.IsDBNull(bezeichnungOid) ? string.Empty : sqlReader.GetString(bezeichnungOid);
                        rs.GueltigkeitsDatum = sqlReader.IsDBNull(gueltigkeitsdatumOid) ? DateTime.MinValue : sqlReader.GetDateTime(gueltigkeitsdatumOid);
                        rs.DauerOrderArt = sqlReader.IsDBNull(dauerOrderArtOid) ? false : sqlReader.GetBoolean(dauerOrderArtOid);
                        if (!sqlReader.IsDBNull(bestellvorlaufintagenOid))
                            rs.BestellVorlaufInTagen = sqlReader.GetInt32(bestellvorlaufintagenOid);
                        rs.IstVorzugsKomission = sqlReader.IsDBNull(istvorzugsKomissionOid) ? false : sqlReader.GetBoolean(istvorzugsKomissionOid);

                        rs.DisableUpdateMask = false;
                        ret.OrderArtEntity.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 = "OrderArt";
                        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 OrderArtEntityA();
                    ret.HatFehler = true;
                    ret.FehlerText = "Sql-Fehler: " + ex.Number.ToString() + " " + ex.Message;

                    return ret;
                }
                catch (Exception e)
                {
                    // logging des fehlers noch implementieren
                    ret = new OrderArtEntityA();
                    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 -------------------------
        }
コード例 #4
0
ファイル: 217.cs プロジェクト: kopelli/Visual-StyleCop
 partial void Neu_NachImpl(OrderArtEntityF paramF, OrderArtEntityA paramA);
コード例 #5
0
ファイル: 217.cs プロジェクト: kopelli/Visual-StyleCop
 partial void Speichern_VorImpl(OrderArtEntityF param);
コード例 #6
0
ファイル: 217.cs プロジェクト: kopelli/Visual-StyleCop
        /// <summary>
        /// Loeschen.
        /// </summary>
        /// <param name="param">Der Parameter.</param>
        /// <returns>"OrderArtEntityA"</returns>
        OrderArtEntityA IServiceOrderArtEntity.Loeschen(OrderArtEntityF param)
        {
            #region ------------------------------ Initialisierung ------------------------------

            OrderArtEntityA ret = new OrderArtEntityA();
            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_OrderArt_Delete", sqlConnection);
                    sqlCommand2.CommandTimeout = 300;
                    sqlCommand2.CommandType = System.Data.CommandType.StoredProcedure;
                    AddParameterDef4Delete(sqlCommand2);

                    sqlCommand1.Parameters["@tablename"].Value = (string)"OrderArt";
                    sqlCommand1.Parameters["@geaendertvon"].Value = param.UserName;
                    sqlCommand2.Parameters["@mandant"].Value = param.MandantenID;
                    sqlCommand2.Parameters["@geaendertvon"].Value = param.UserName;

                    for (int i = 0; i < param.OrderArtEntity.Count; i++)
                    {
                        if (param.OrderArtEntity[i].Timestamp != null)
                        {
                            sqlCommand1.Parameters["@uirowid"].Value = (Guid)param.OrderArtEntity[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.OrderArtEntity[i].Rowid;
                            sqlCommand2.Parameters["@timestamp"].Value = param.OrderArtEntity[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 OrderArtEntityA();
                    ret.HatFehler = true;
                    ret.FehlerText = "Sql-Fehler: " + ex.Number.ToString() + " " + ex.Message;

                    return ret;
                }
                catch (Exception e)
                {
                    // logging des fehlers noch implementieren
                    ret = new OrderArtEntityA();
                    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 -------------------------
        }
コード例 #7
0
ファイル: 217.cs プロジェクト: kopelli/Visual-StyleCop
 partial void Neu_VorImpl(OrderArtEntityF paramF);
コード例 #8
0
ファイル: 217.cs プロジェクト: kopelli/Visual-StyleCop
 partial void Loeschen_NachImpl(OrderArtEntityF paramF, OrderArtEntityA paramA);
コード例 #9
0
ファイル: 217.cs プロジェクト: kopelli/Visual-StyleCop
 partial void Loeschen_VorImpl(OrderArtEntityF param);
コード例 #10
0
ファイル: 217.cs プロジェクト: kopelli/Visual-StyleCop
 // throw an exception inside the ext_method to abort functionality (transaction save!)
 partial void Lesen_VorImpl(OrderArtEntityF paramF);