public static ObservableCollection <Grup> selectGrupsDeUnTorneig(Int32 idTorneig) { ObservableCollection <Grup> grups = new ObservableCollection <Grup>(); //--------------------------------- using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = @"select * from grup where torneig_id = @idTorneig"; UtilsDB.AddParameter(consulta, "idTorneig", idTorneig, MySqlDbType.Int32); MySqlDataReader reader = consulta.ExecuteReader(); while (reader.Read()) { Int32 num = reader.GetInt32(reader.GetOrdinal("num")); string description = reader.GetString(reader.GetOrdinal("description")); Int32 carambolesVictoria = reader.GetInt32(reader.GetOrdinal("caramboles_victoria")); Int32 limitEntrades = reader.GetInt32(reader.GetOrdinal("limit_entrades")); Torneig t = TorneigBD.selectTorneigPerId(idTorneig); Grup g = new Grup(num, description, carambolesVictoria, limitEntrades, t); grups.Add(g); } } } return(grups); }
internal static int tancarTorneig(int id) { using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); MySqlTransaction trans = connexio.BeginTransaction(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.Transaction = trans; consulta.CommandText = @"update torneig set data_finalitzacio=@data_final where id = @idTorneig"; String dateTimeCorrecto = getDataSQLFromDateTime(DateTime.Now); UtilsDB.AddParameter(consulta, "data_final", dateTimeCorrecto, MySqlDbType.String); UtilsDB.AddParameter(consulta, "idTorneig", id, MySqlDbType.Int32); try { consulta.ExecuteNonQuery(); trans.Commit(); return(1); } catch (Exception e) { return(0); } } } }
internal static void insertTorneig(Torneig t, String data) { String b; if (t.PreinscripcioOberta == 0) { b = "true"; } else { b = "false"; } using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = @"INSERT INTO torneig (nom, data_inici, preinscripcio_oberta, modalitat_id) VALUES (@nomTorneig, @data, @actiu, @modalitat);"; UtilsDB.AddParameter(consulta, "nomTorneig", t.Nom, MySqlDbType.String); UtilsDB.AddParameter(consulta, "data", data, MySqlDbType.String); UtilsDB.AddParameter(consulta, "actiu", t.PreinscripcioOberta, MySqlDbType.Int32); Int64 modalitatId = selectModalitatPerId((Int32)(long)t.Modalitat.Id).Id; UtilsDB.AddParameter(consulta, "modalitat", modalitatId, MySqlDbType.Int32); consulta.ExecuteNonQuery(); } } }
internal static void EsborrarPartidesDeUnTorneig(int idTorneig) { using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); MySqlTransaction trans = connexio.BeginTransaction(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.Transaction = trans; consulta.CommandText = "delete from partida where torneig_id =@idTorneig"; UtilsDB.AddParameter(consulta, "idTorneig", idTorneig, MySqlDbType.Int32); try { consulta.ExecuteNonQuery(); trans.Commit(); } catch (Exception e) { trans.Rollback(); } } } }
internal static bool TorneigActiuONo(int idTorneig) { DateTime finalitzatONo; using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = @"select * from torneig where id = @idTorneig"; UtilsDB.AddParameter(consulta, "idTorneig", idTorneig, MySqlDbType.Int32); MySqlDataReader reader = consulta.ExecuteReader(); while (reader.Read()) { try { finalitzatONo = reader.GetDateTime(reader.GetOrdinal("data_finalitzacio")); if (finalitzatONo <= DateTime.Now || (finalitzatONo.Day == DateTime.Now.Day && finalitzatONo.Month == DateTime.Now.Month && finalitzatONo.Year == DateTime.Now.Year)) { return(false); } } catch (Exception e) { return(true); } } } } return(true); }
internal static int tancarPreinscripcioTorneig(int id) { using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); MySqlTransaction trans = connexio.BeginTransaction(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.Transaction = trans; consulta.CommandText = @"update torneig set preinscripcio_oberta=0 where id = @idTorneig"; UtilsDB.AddParameter(consulta, "idTorneig", id, MySqlDbType.Int32); try { consulta.ExecuteNonQuery(); trans.Commit(); return(1); } catch (Exception e) { return(0); } } } }
private static Grup selectGrupDeUnTorneigIUnGrup(int idT, int numG) { Grup g = null; //--------------------------------- using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = @"select * from grup where torneig_id = @idTorneig and num = @numGrup"; UtilsDB.AddParameter(consulta, "idTorneig", idT, MySqlDbType.Int32); UtilsDB.AddParameter(consulta, "numGrup", numG, MySqlDbType.Int32); MySqlDataReader reader = consulta.ExecuteReader(); while (reader.Read()) { Int32 num = reader.GetInt32(reader.GetOrdinal("num")); string description = reader.GetString(reader.GetOrdinal("description")); Int32 carambolesVictoria = reader.GetInt32(reader.GetOrdinal("caramboles_victoria")); Int32 limitEntrades = reader.GetInt32(reader.GetOrdinal("limit_entrades")); Torneig t = TorneigBD.selectTorneigPerId(idT); g = new Grup(num, description, carambolesVictoria, limitEntrades, t); } } } return(g); }
private static Soci selectSociPerId(int idS) { Soci s = null; using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = @"select * from soci s where s.Id = @sId"; UtilsDB.AddParameter(consulta, "sId", idS, MySqlDbType.Int32); MySqlDataReader reader = consulta.ExecuteReader(); while (reader.Read()) { Int32 id = reader.GetInt32(reader.GetOrdinal("id")); string nif = reader.GetString(reader.GetOrdinal("nif")); string nom = reader.GetString(reader.GetOrdinal("nom")); string cognom1 = reader.GetString(reader.GetOrdinal("cognom1")); string cognom2 = reader.GetString(reader.GetOrdinal("cognom2")); DateTime dataAlta = reader.GetDateTime(reader.GetOrdinal("data_alta")); string passwordHash = reader.GetString(reader.GetOrdinal("password_hash")); Int32 actiu = reader.GetInt32(reader.GetOrdinal("actiu")); s = new Soci(id, nif, nom, cognom1, cognom2, dataAlta, passwordHash, actiu); } } } return(s); }
public static Torneig selectTorneigPerId(int idTorneig) { Torneig t = null; using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = @"select * from torneig where id = @idTorneig"; UtilsDB.AddParameter(consulta, "idTorneig", idTorneig, MySqlDbType.Int32); MySqlDataReader reader = consulta.ExecuteReader(); while (reader.Read()) { Int32 id = reader.GetInt32(reader.GetOrdinal("id")); string nom = reader.GetString(reader.GetOrdinal("nom")); DateTime dataAlta = reader.GetDateTime(reader.GetOrdinal("data_inici")); DateTime dataFinalitzacio = new DateTime(); try { dataFinalitzacio = reader.GetDateTime(reader.GetOrdinal("data_finalitzacio")); } catch (Exception e) { } Int32 preinscripcioOberta = reader.GetInt32(reader.GetOrdinal("preinscripcio_oberta")); Modalitat mod = TorneigBD.selectModalitatPerId(reader.GetInt32(reader.GetOrdinal("modalitat_id"))); t = new Torneig(id, nom, dataAlta, dataFinalitzacio, preinscripcioOberta, mod); } } } return(t); }
internal static void updateInscritEnUnGrup(Inscrit i, Grup g) { using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); MySqlTransaction trans = connexio.BeginTransaction(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.Transaction = trans; consulta.CommandText = @"update inscrit set grup_num = @grupNum where soci_id = @idSoci and torneig_id = @idTorneig"; UtilsDB.AddParameter(consulta, "grupNum", g.Num, MySqlDbType.Int32); UtilsDB.AddParameter(consulta, "idTorneig", i.Torneig.Id, MySqlDbType.Int32); UtilsDB.AddParameter(consulta, "idSoci", i.Soci.Id, MySqlDbType.Int32); try { consulta.ExecuteNonQuery(); trans.Commit(); } catch (Exception e) { } } } }
public void Guardar(Pedido p) { using (var tx = _BD.IniciarTransaccion()) { try { string sqltxt = $"INSERT [dbo].[Pedido] ([fechaPedido])" + $" VALUES ('{UtilsDB.GetFecha(p.fechaPedido)}')"; p.id = _BD.EjecutarTransaccion(sqltxt); if (p.id == 0) { throw new ApplicationException(); } foreach (var d in p.detallePedidos) { sqltxt = $"INSERT [dbo].[Detalle_Pedido]" + $"([id_Pedido], [Cantidad], [id_Disco]) " + $"VALUES ('{p.id}', '{d.cantidad}', '{d.idDisco}')"; _BD.EjecutarTransaccion(sqltxt); sqltxt = $"SELECT cantidad FROM Disco WHERE id={d.idDisco}"; var stock = int.Parse(_BD.ConsultaDuranteTransaccion(sqltxt).Rows[0]["cantidad"].ToString()); int number; if (!int.TryParse(d.cantidad, out number)) { throw new ApplicationException("La cantidad ingresada no corresponde."); } if (number <= 0) { throw new ApplicationException("La cantidad ingresada no corresponde."); } int nuevoStock = stock + number; sqltxt = $"UPDATE [dbo].[Disco] SET cantidad = '{nuevoStock}' WHERE id={d.idDisco}"; _BD.EjecutarTransaccion(sqltxt); } tx.Commit(); } catch (ApplicationException aex) { throw aex; } catch (Exception ex) { tx.Rollback(); throw new Exception("No se pudo realizar la operaciĆ³n."); } finally { _BD.cerrar(); } } }
public static ObservableCollection <Inscrit> selectInscritsDeUnTorneigIGrup(Int32 idTorneig, Grup g) { DateTime data; ObservableCollection <Inscrit> inscrits = new ObservableCollection <Inscrit>(); //--------------------------------- using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = @"select inscrit.* from inscrit where inscrit.torneig_id = @idTorneig and inscrit.grup_num = @numGrup"; UtilsDB.AddParameter(consulta, "idTorneig", idTorneig, MySqlDbType.Int32); UtilsDB.AddParameter(consulta, "numGrup", g.Num, MySqlDbType.Int32); MySqlDataReader reader = consulta.ExecuteReader(); while (reader.Read()) { Inscrit i; Int32 idS = reader.GetInt32(reader.GetOrdinal("soci_id")); Int32 idT = reader.GetInt32(reader.GetOrdinal("torneig_id")); Int32 numG = -1; try { numG = reader.GetInt32(reader.GetOrdinal("grup_num")); } catch (Exception e) { } data = reader.GetDateTime(reader.GetOrdinal("data")); Soci s = TorneigBD.selectSociPerId(idS); Torneig t = TorneigBD.selectTorneigPerId(idT); if (numG != -1) { Grup gr = TorneigBD.selectGrupDeUnTorneigIUnGrup(idT, numG); i = new Inscrit(s, t, gr, data); inscrits.Add(i); } else { i = new Inscrit(s, t, null, data); inscrits.Add(i); } } } } return(inscrits); }
internal static int selectCountPartidesTotalesDeTorneig(int idTorneig) { using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = @"select count(*) from partida where torneig_id = @idTorneig"; UtilsDB.AddParameter(consulta, "idTorneig", idTorneig, MySqlDbType.Int32); return((Int32)(long)consulta.ExecuteScalar()); } } }
public static ObservableCollection <Inscrit> selectInscritsDeUnTorneig(Int32 idTorneig) { DateTime data; ObservableCollection <Inscrit> inscrits = new ObservableCollection <Inscrit>(); //--------------------------------- using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = @"select inscrit.* from inscrit inner join soci on inscrit.soci_id = soci.id left join estadistica_modalitat on estadistica_modalitat.soci_id = soci.id where inscrit.torneig_id = @idTorneig and inscrit.grup_num is NULL and estadistica_modalitat.modalitat_id = 1 order by estadistica_modalitat.coeficient_base desc"; UtilsDB.AddParameter(consulta, "idTorneig", idTorneig, MySqlDbType.Int32); MySqlDataReader reader = consulta.ExecuteReader(); while (reader.Read()) { Inscrit i; Int32 idS = reader.GetInt32(reader.GetOrdinal("soci_id")); Int32 idT = reader.GetInt32(reader.GetOrdinal("torneig_id")); Int32 numG = -1; try { numG = reader.GetInt32(reader.GetOrdinal("grup_num")); } catch (Exception e) { } data = reader.GetDateTime(reader.GetOrdinal("data")); Soci s = TorneigBD.selectSociPerId(idS); Torneig t = TorneigBD.selectTorneigPerId(idT); if (numG != -1) { Grup g = TorneigBD.selectGrupDeUnTorneigIUnGrup(idT, numG); i = new Inscrit(s, t, g, data); inscrits.Add(i); } else { i = new Inscrit(s, t, null, data); inscrits.Add(i); } } } } return(inscrits); }
internal static int selectCountPartidesJugadasPerIdTorneigNumGrup(int idTorneig, int numGrup) { using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = @"select count(*) from partida where torneig_id = @idTorneig and grup_num = @numGrup and estat_partida = 'jugada'"; UtilsDB.AddParameter(consulta, "idTorneig", idTorneig, MySqlDbType.Int32); UtilsDB.AddParameter(consulta, "numGrup", numGrup, MySqlDbType.Int32); return((Int32)(long)consulta.ExecuteScalar()); } } }
internal static void insertGrupAUnTorneig(int id, Grup g) { using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = @"INSERT INTO grup (num, description, caramboles_victoria, limit_entrades, torneig_id) VALUES (@GrupNum, @desc, @caramboles, @entrades, @idTorneig);"; UtilsDB.AddParameter(consulta, "GrupNum", g.Num, MySqlDbType.Int32); UtilsDB.AddParameter(consulta, "desc", g.Description, MySqlDbType.String); UtilsDB.AddParameter(consulta, "caramboles", g.Caramboles_victoria, MySqlDbType.Int32); UtilsDB.AddParameter(consulta, "entrades", g.Limit_entrades, MySqlDbType.Int32); UtilsDB.AddParameter(consulta, "idTorneig", id, MySqlDbType.Int32); consulta.ExecuteNonQuery(); } } }
internal static Int32 selectPartidesPerdudesDeUnInscrit(int idTorneig, int num, Inscrit inscrit) { Int32 contador = 0; using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = @"select count(*) from partida where torneig_id = @idTorneig and grup_num = @numGrup and (inscrit_a = @idSoci and guanyador = 'B') or (inscrit_b = @idSoci and guanyador = 'A') and estat_partida = 'jugada'"; UtilsDB.AddParameter(consulta, "idTorneig", idTorneig, MySqlDbType.Int32); UtilsDB.AddParameter(consulta, "numGrup", num, MySqlDbType.Int32); UtilsDB.AddParameter(consulta, "idSoci", inscrit.Soci.Id, MySqlDbType.Int32); return((Int32)(long)consulta.ExecuteScalar()); } } }
public static float selectCoeficientDeUnInscrit(Inscrit i) { float coeficient = 0; using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = @"select coeficient_base from estadistica_modalitat inner join soci on estadistica_modalitat.soci_id = soci.id left join inscrit on inscrit.soci_id = soci.id where estadistica_modalitat.modalitat_id = 1 and soci.id = @sociId"; UtilsDB.AddParameter(consulta, "sociId", i.Soci.Id, MySqlDbType.Int32); MySqlDataReader reader = consulta.ExecuteReader(); while (reader.Read()) { coeficient = reader.GetFloat(reader.GetOrdinal("coeficient_base")); } } } return(coeficient); }
internal static object selectTornejosFiltrados(bool data, bool estat) { String dataString = data == true ? "asc" : "desc"; Int32 estatInt = estat == true ? 1 : 0; ObservableCollection <Torneig> tornejos = new ObservableCollection <Torneig>(); //--------------------------------- using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = data == true ? @"select * from torneig where preinscripcio_oberta = @estat order by data_inici asc" : @"select * from torneig where preinscripcio_oberta = @estat order by data_inici desc"; UtilsDB.AddParameter(consulta, "estat", estatInt, MySqlDbType.Int32); MySqlDataReader reader = consulta.ExecuteReader(); while (reader.Read()) { Int32 id = reader.GetInt32(reader.GetOrdinal("id")); string nom = reader.GetString(reader.GetOrdinal("nom")); DateTime dataAlta = reader.GetDateTime(reader.GetOrdinal("data_inici")); DateTime dataFinalitzacio = new DateTime(); try { dataFinalitzacio = reader.GetDateTime(reader.GetOrdinal("data_finalitzacio")); } catch (Exception e) { } Int32 preinscripcioOberta = reader.GetInt32(reader.GetOrdinal("preinscripcio_oberta")); Modalitat mod = TorneigBD.selectModalitatPerId(reader.GetInt32(reader.GetOrdinal("modalitat_id"))); Torneig t = new Torneig(id, nom, dataAlta, dataFinalitzacio, preinscripcioOberta, mod); tornejos.Add(t); } } } return(tornejos); }
internal static Modalitat selectModalitatPerNom(string mSeleccionada) { Modalitat m = null; using (MySqlConnection connexio = MySQL.GetConnexio()) { connexio.Open(); using (MySqlCommand consulta = connexio.CreateCommand()) { consulta.CommandText = @"select * from modalitat m where m.description = @mNom"; UtilsDB.AddParameter(consulta, "mNom", mSeleccionada, MySqlDbType.String); MySqlDataReader reader = consulta.ExecuteReader(); while (reader.Read()) { string descripcio = reader.GetString(reader.GetOrdinal("description")); Int32 id = reader.GetInt32(reader.GetOrdinal("id")); m = new Modalitat(id, descripcio); } } } return(m); }
public Result A(in_isAlive req) { base.Init_Request_Data(enumAction.IsAlive, req, req.IP, req.UA, req.T); string exc = null; IPHolder cacheIP = null; #region MyRegion VALIDATION if (!ModelState.IsValid || !base.ValidRequestFromServerIP) { cacheIP = Cache_IP.IP_Get(req.IP, 1, out exc, ref base.APICreateDate_ISR, ref base.ProjectType); #region MyRegion LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_PayloadError, base.SerializedRequest, "base.ValidRequestFromServerIP IP:" + base.ServerIP + " IsValid:" + base.ValidRequestFromServerIP.ToString(), Newtonsoft.Json.JsonConvert.SerializeObject(ModelState.Keys) + " -> cacheip:" + Newtonsoft.Json.JsonConvert.SerializeObject(cacheIP), true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.IP, base.ProjectType); #endregion return(AppResponse.Any(enumReturnStatus.PayloadError, null)); } #endregion Guid ProjectToken = base.APITransaction; if (!AppManager.CampaignAlive(base.APICreateDate_ISR, base.ProjectType, ref base.APITransaction, out ProjectToken)) { cacheIP = Cache_IP.IP_Get(req.IP, 1, out exc, ref base.APICreateDate_ISR, ref base.ProjectType); #region MyRegion LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.End, enumLogType.Response, base.SerializedRequest, Newtonsoft.Json.JsonConvert.SerializeObject(cacheIP), null, true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, false, null, base.ProjectType); #endregion return(AppResponse.Any(enumReturnStatus.Ends, null)); } Dictionary <string, dynamic> result = new Dictionary <string, dynamic>() { { "P", ProjectToken }, { "UI", null }, { "Pets", null } }; List <UIOut> uimsg = new List <Models.UIOut>(); if (req.ND.GetValueOrDefault(false)) { uimsg = AppManager.UIResponse_Get(ref base.APICreateDate_ISR, base.ProjectType); result["UI"] = uimsg; #region MyRegion PET REMOVED - PREDEFINED NOW //if (uimsg.Count > 0) //{ // result["Pets"] = AppManager.PetProjectGet(ref base.APICreateDate_ISR, base.ProjectType); //} #endregion } //CHECK IF IP NEED CAPTCHA BUT DO NOT ADD, WE WILL ADD LATER IF NEEDED cacheIP = Cache_IP.IP_Get(req.IP, 0, out exc, ref base.APICreateDate_ISR, ref base.ProjectType); bool needCaptcha = cacheIP.need_Captcha(); if (needCaptcha) { #region MyRegion LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType.Response, base.SerializedRequest, "NEED CAPTCHA", null, true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, false, null, base.ProjectType); #endregion return(AppResponse.Any(enumReturnStatus.Captcha, result)); } #region MyRegion LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType.Response, base.SerializedRequest, "OK", null, true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, false, null, base.ProjectType); #endregion return(AppResponse.OK(result)); }
public Result RL(Registered_SubmitLead req) { base.Init_Request_Data(enumAction.Lead, req, req.IP, req.UA, req.T); string exception = string.Empty; IPHolder cacheIP = null; bool TokenError = false; if (!AppManager.CampaignAlive(base.APICreateDate_ISR, base.ProjectType, ref base.APITransaction, req.P, out TokenError)) { cacheIP = Cache_IP.IP_Get(req.IP, 1, out exception, ref base.APICreateDate_ISR, ref base.ProjectType); #region LOG if(TokenError) if (TokenError) { UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_PayloadError, base.SerializedRequest, "enumReturnStatus.Ends -> is TokenError: " + TokenError.ToString(), "_cacheIP: " + Newtonsoft.Json.JsonConvert.SerializeObject(cacheIP), true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); return(AppResponse.Any(enumReturnStatus.PayloadError, null)); } #endregion return(AppResponse.Any(enumReturnStatus.Ends, null)); } #region MyRegion VALIDATION if (!ModelState.IsValid || !base.ValidRequestFromServerIP || TokenError) { cacheIP = Cache_IP.IP_Get(req.IP, 1, out exception, ref base.APICreateDate_ISR, ref base.ProjectType); #region MyRegion LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_PayloadError, base.SerializedRequest, "base.ValidRequestFromServerIP IP:" + base.ServerIP + " IsValid:" + base.ValidRequestFromServerIP.ToString() + " -> TokenError(P): " + TokenError.ToString(), Newtonsoft.Json.JsonConvert.SerializeObject(ModelState.Keys) + " -> cacheIP: " + Newtonsoft.Json.JsonConvert.SerializeObject(cacheIP), true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); #endregion return(AppResponse.Any(enumReturnStatus.PayloadError, null)); } #endregion #region UNIQUE_Exist if (Cache_Unique.MAC_UNIQUE_IS_EXIST(ref base.APICreateDate, req.Email, ref base.ProjectType)) { #region MyRegion LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_Unique_Not_Allowed, base.SerializedRequest, "_1_MAC_OR_Unique_Address_Not_Allowed", null, true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); #endregion return(AppResponse.Any(enumReturnStatus.Forbidden, null)); } #endregion bool NeedCaptcha = false; #region REGINO CACHE IP AND IF CAPTCH IS NEEDED //ADD TO IP CALL cacheIP = Cache_IP.IP_Get(req.IP, 0, out exception, ref base.APICreateDate_ISR, ref base.ProjectType); if (cacheIP != null && cacheIP.need_Captcha() && string.IsNullOrEmpty(req.CAP)) { NeedCaptcha = true; UtilsDB.API_Log_Insert(base.Action, enumLogType.Request, enumLogType._1_Need_Captcha, base.SerializedRequest, "NEED CAPTCHA -> Captch: " + Newtonsoft.Json.JsonConvert.SerializeObject(cacheIP), null, false, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); return(AppResponse.Any(enumReturnStatus.Captcha, null)); } #endregion #region REGION GOOGLE VERIFICATION string googleRequest = string.Empty, googleResponse = string.Empty; bool GoogleApproved = false; if (cacheIP != null && cacheIP.need_Captcha() && !string.IsNullOrEmpty(req.CAP)) { googleResponse = UtilsWeb.MakeRequest_Google_Captch(req.CAP, req.IP, ref base.APITransaction, ref base.APICreateDate, ref base.APICreateDate_ISR, out googleRequest, ref base.ProjectType); GoogleApproved = googleResponse.ToLower().Contains("true"); if (!GoogleApproved) { NeedCaptcha = true; UtilsDB.API_Log_Insert(base.Action, enumLogType.Request, enumLogType._1_Need_ReCaptcha, "FAIL ON GOOGLE CAPTCHA: " + base.SerializedRequest, googleRequest, googleResponse, false, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); return(AppResponse.Any(enumReturnStatus.ReCaptcha, null)); } } #endregion API_Project_GetResult project = AppManager.GetProject(base.ProjectType); API_Validate_Registered_UserResult user = UtilsDB.API_Validate_Registered_User(base.APITransaction, base.APICreateDate_ISR, req.Email, base.ProjectType); if (user == null) { Dictionary <string, dynamic> result = new Dictionary <string, dynamic>() { { "P", project.Token } }; UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_NeedRegistration, base.SerializedRequest, "Register REQUIRED UForbidden RESPONSE", null, true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); return(AppResponse.Any(enumReturnStatus.UForbidden, result)); } SubmitLead demi = new SubmitLead() { Email = req.Email, IP = req.IP, CAP = req.CAP, P = req.P, T = req.T, UA = req.UA, FName = "NA", LName = "NA", City = req.City, // "NA", Street = req.Street, // "NA", Phone = "NA", FlatNumber = "NA", STNumber = req.STNumber, // "NA" AcceptContent = true, //req.AcceptContent, POBox = req.POBox, Regulation = true // req.Regulation }; API_Lead_InsertResult lead = UtilsDB.API_Lead_Insert(ref demi, -1, ref base.APITransaction, req.CAP, 1, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.Platform, ref base.ProjectType); if (lead == null) { #region LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_InternalError, base.SerializedRequest, "API_Lead_Insert ERROR", null, true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); #endregion return(AppResponse.Any(enumReturnStatus.InternalError, null)); } switch (lead.DBResult.GetValueOrDefault(-1000)) { case -1000: //LOGIC ERROR OR INTERNAL DVB ERROR #region LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_InternalError, base.SerializedRequest, "API_Lead_Insert ERROR", "lead.DBResult is null", true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); #endregion return(AppResponse.Any(enumReturnStatus.InternalError, null)); break; case 200: //OK string ex = null; Cache_IP.AddUpdate_IP(req.IP, new IPHolder(null, req.IP, lead.Count_IP.GetValueOrDefault(), lead.MaxAllowed_IP.GetValueOrDefault(), lead.ExpiredIPAt.GetValueOrDefault()), out ex, ref base.ProjectType); //DataProResult result = UtilsDataPro.SendCouponEmail(req.Email, ref project); //API_Lead_Update_CouponMSGResult coupon = //UtilsDB.API_Lead_Update_CouponMSG(ref base.APITransaction, ref base.APICreateDate, ref base.APICreateDate_ISR, lead.LeadID.GetValueOrDefault(), // Newtonsoft.Json.JsonConvert.SerializeObject(result), result.isSuccess()); #region LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType.Response, base.SerializedRequest, null /*Newtonsoft.Json.JsonConvert.SerializeObject(result)*/, "lead: " + Newtonsoft.Json.JsonConvert.SerializeObject(lead) /*+ " -> coupon update: " + Newtonsoft.Json.JsonConvert.SerializeObject(coupon)*/, true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); #endregion return(AppResponse.OK(null)); break; } #region LOG UtilsDB.API_Log_Insert(this.Action, enumLogType.Response, enumLogType._1_BadRequest, base.SerializedRequest, "BadRequest -> lead: " + Newtonsoft.Json.JsonConvert.SerializeObject(lead), "SHOULD NOT BE HERE", true, base.Refferer, base.IP, base.UA, ref base.APICreateDate, ref base.APICreateDate_ISR, ref base.APITransaction, true, req.Email, base.ProjectType); #endregion return(AppResponse.BadRequest(null)); }
public void Guardar(Venta v) { using (var tx = _BD.IniciarTransaccion()) { try { string sqltxt = $"INSERT [dbo].[Venta] ([fecha],[id_Cliente],[importe_Total])" + $" VALUES ('{UtilsDB.GetFecha(v.fecha)}','{v.id_Cliente}','{v.importe_Total}')"; v.id = _BD.EjecutarTransaccion(sqltxt); if (v.id == 0) { throw new ApplicationException(); } foreach (var d in v.detalleVentas) { sqltxt = $"INSERT [dbo].[Detalle_Venta] " + $"([id_Venta], [id_disco], [cantidad], [precio])" + $" VALUES ('{v.id}','{d.id_disco}','{d.cantidad}','{d.precio}')"; _BD.EjecutarTransaccion(sqltxt); sqltxt = $"SELECT cantidad FROM Disco WHERE id={d.id_disco}"; var stock = int.Parse(_BD.ConsultaDuranteTransaccion(sqltxt).Rows[0]["cantidad"].ToString()); int number; if (!int.TryParse(d.cantidad, out number)) { throw new ApplicationException(); } if (number <= 0) { throw new ApplicationException("La cantidad ingresada no corresponde."); } int nuevoStock = stock - number; if (nuevoStock < 0) { throw new ApplicationException("No hay stock suficiente."); } sqltxt = $"UPDATE [dbo].[Disco] SET cantidad = '{nuevoStock}' WHERE id={d.id_disco}"; _BD.EjecutarTransaccion(sqltxt); } tx.Commit(); } catch (ApplicationException aex) { throw aex; } catch (Exception ex) { tx.Rollback(); throw new Exception("No se pudo realizar la operaciĆ³n."); } finally { _BD.cerrar(); } } }