using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; namespace Baza_Reklam { class Utils { public static object ExecuteQuery(string query) { SqlConnection conn = new SqlConnection(ConnString.getConnString().Value); SqlCommand command = new SqlCommand(query); command.Connection = conn; object result = null; conn.Open(); result = command.ExecuteScalar(); conn.Close(); return result; } public static float pobierzSzerModulu(string mod_typ) { string query = "select MOD_SZER from dbo.[NAZWY MODUŁÓW] where MOD_TYP='" + mod_typ + "'"; return (float) (ExecuteQuery(query) ?? 0); } public static float pobierzWysModulu(string mod_typ) { string query = "select MOD_WYS from dbo.[NAZWY MODUŁÓW] where MOD_TYP='" + mod_typ + "'"; return (float)(ExecuteQuery(query) ?? 0); } /// /// Zwraca customerId danej reklamy /// public static int customerId(int reklamaId) { string query = "select customerId from Reklama where reklamaId=" + reklamaId; return (int)(ExecuteQuery(query) ?? 0); } /// /// Zwraca Id loga przypisanego do danej reklamy /// public static int logoId(int reklamaId) { string query = "select logoId from Reklama where reklamaId=" + reklamaId; return (int)(ExecuteQuery(query) ?? 0); } /// /// Funkcja sprawdza czy logo jest użyte w ktorejs z reklam. /// public static bool logoByloWykorzystane(int logoID) { string query = "select count(*) from reklama where logoID=" + logoID; int result = 0; result = (int)(ExecuteQuery(query) ?? result); return (result != 0 ? false : true); } /// /// Funkcja sprawdza czy handlowiec wystawił jużw danym roku fakturę o danym numerze. /// public static bool istniejeFaktura(int nr, string kod, int rok) { string query = "select count(*) from faktury where NUMER=" + nr + " aND NUMER_ROZ='" + kod + "' AND NUMER_ROK=" + rok; int result = 0; result = (int)(ExecuteQuery(query) ?? result); return (result == 0 ? false : true); } /// /// Zwraca nazwę agencji dla danego agenta. /// public static string nazwaAgencji(string symbolAgenta) { string query = "select A2.Symbol from agenci A left outer join Agencje A2 on A.id_agencji=A2.id_agencji where A.Symbol ='" + symbolAgenta +"'"; return (string)(ExecuteQuery(query) ?? "?"); } /// /// Zwraca id agencji dla danego agenta. /// public static int idAgencji(string symbolAgenta) { string query = "select id_Agencji from agenci where Symbol ='" + symbolAgenta +"'"; return (int)(ExecuteQuery(query) ?? 2); } /// /// Zwraca id agencji dla danego agenta. /// public static int idAgencjiWgKoduAgenta(string kodAgenta) { string query = "select id_Agencji from agenci where F_ROZ ='" + kodAgenta + "'"; return (int)(ExecuteQuery(query) ?? 2); } /// /// Sprawdza czy istnieje już w bazie dany kod rozliczeniowy. /// public static bool tagAgentaUnikalny(string tagAgenta, string symbolAgenta) { string query = "select count(*) from agenci where F_ROZ = '" + tagAgenta +"' and symbol <> '" + symbolAgenta + "'"; int result = (int)ExecuteQuery(query); return (result == 0 ? true : false); } /// /// VIES ma wartości w bazie: -1,0,1,NULL... /// public static bool czyKlientMaNrVIES(int customerID) { string query = "select VIES from klienci where customerId=" + customerID + " and VIES is not null "; short result = (short)(ExecuteQuery(query) ?? Convert.ToInt16(0)); result = Math.Abs(result); if (result > 0) return true; return false; } public static string mailKlienta(int customerID) { string query = "select Email from klienci where customerId=" + customerID + " and email is not null "; string result = (string)(ExecuteQuery(query) ?? ""); return result; } /// /// Zwraca kod rozliczeniowy agenta (tag Agenta). /// public static string tagAgenta(string symbolAgenta) { string query = "select F_ROZ from agenci where Symbol ='" + symbolAgenta + "'"; return (string)(ExecuteQuery(query) ?? "?"); } /// /// Zwraca numer następnej faktury danego agenta. /// public static int numerNowejFaktury(string tagAgenta, int year) { string query = "select count(*) from faktury where korekta = 0 and [numer_roz]='" + tagAgenta + "' AND [numer_rok]=" + year; int nr = (int)ExecuteQuery(query); return (nr + 1); } /// /// Zwraca numer nowego reklamy. W try - catch z powoodu bzdurnych danych w bazie. /// public static int numerNowejReklamy(string symbolAgenta, string tagAgenta) { SqlConnection conn = new SqlConnection( ConnString.getConnString().Value); SqlCommand command = new SqlCommand(); command.CommandType = CommandType.Text; // command.CommandText = "select distinct [id reklamy] from reklama where [symbol akwizytora]=@symbolAgenta"; // command.Parameters.AddWithValue("@symbolAgenta", symbolAgenta); command.CommandText = "select distinct [id reklamy] from reklama where [id reklamy] like '%' + @tagAgenta + '%'"; command.Parameters.AddWithValue("@tagAgenta", tagAgenta); command.Connection = conn; conn.Open(); SqlDataReader reader = command.ExecuteReader(); int max = 0; int nr = 0; while (reader.Read()) { if ((reader.GetValue(0).ToString()).Substring(0, tagAgenta.Length) == tagAgenta) { // Int32.TryParse((reader.GetValue(0).ToString()).Substring(tagAgenta.Length, 3), out nr); //W try - catch z powoodu bzdurnych danych w bazie. try { nr = Int32.Parse((reader.GetValue(0).ToString()).Substring(tagAgenta.Length, 3)); } catch (Exception e1) { } if (nr > max) { max = nr; } } } conn.Close(); return max + 1; } /// /// Zwraca ilość kontaktów z poprzedniego miesiąca /// public static int iloscKontaktowAgenta(string login) { string query = "select count(*) from dbo.KONTAKTY where symbol_agenta ='" + login + "' and year(data)=" + DateTime.Today.AddMonths(-1).Year +" and month(data)=" + DateTime.Today.AddMonths(-1).Month; int ilosc = (int)ExecuteQuery(query); return ilosc; } /// /// Zwraca numer nowego zamówienia /// public static int numerNowegoZamowienia(int idKlienta, int year) { string query = "select count(*) from zamowienia where idKlienta=" + idKlienta + " AND rokZamowienia=" + year; int nr = (int)ExecuteQuery(query); return (nr + 1); } /// /// Zwraca numer następnej faktury korekty dla danego agenta. /// public static int numerNowejFakturyKorekty(string tagAgenta, int year) { string query = "select count(*) from faktury where korekta=1 AND [numer_rok]=" + year; int nr = (int)ExecuteQuery(query); return (nr + 1); } /// /// Sprawdza czy istnieje już w bazie dany kod rozliczeniowy. /// public static bool kodKlientaUnikalny(string kodKlienta, string symbolAgenta, int customerId) { string query = "select count(*) from klienci where kodKlienta = '" + kodKlienta + "' and username = '" + symbolAgenta + "'" + " and customerId <> " + customerId; int result = (int)ExecuteQuery(query); return (result == 0 ? true : false); } } }