public async Task <IActionResult> Post([FromBody] Reserva r) { if (!ConexionOracle.Activa) { ConexionOracle.Open(); if (!ConexionOracle.Activa) { return(StatusCode(504, ConexionOracle.NoConResponse)); } } Procedimiento p = new Procedimiento(ConexionOracle.Conexion, "SP_ID_RESERVA"); p.Parametros.Add("id_reserva", OracleDbType.Int32, ParameterDirection.Output); await p.Ejecutar(); int idf = Convert.ToInt32((decimal)(OracleDecimal)(p.Parametros["id_reserva"].Value)); r.Multa_pagado = 0; r.Multa_total = 0; r.Id_reserva = idf; r.Valor_pagado = 0; r.Fecha = DateTime.Now; r.Id_estado = 1; if (await cmd.Insert(r, false)) { return(Ok(r)); } return(BadRequest()); }
public async Task <IActionResult> Auth([FromHeader(Name = "User-Agent")] String userAgent, [FromBody] Usuario usuario) { if (!ConexionOracle.Activa) { ConexionOracle.Open(); if (!ConexionOracle.Activa) { return(StatusCode(504, ConexionOracle.NoConResponse)); } } var p = new Procedimiento(ConexionOracle.Conexion, "SP_AUTENTICAR"); int resultado = 3; String msg = ""; p.Parametros.Add("usr", OracleDbType.Varchar2, usuario.Username, ParameterDirection.Input); p.Parametros.Add("pwd", OracleDbType.Varchar2, Tools.Encriptar(usuario.Clave), ParameterDirection.Input); p.Parametros.Add("rol", OracleDbType.Int32, ParameterDirection.Output); p.Parametros.Add("resultado", OracleDbType.Int32, resultado, ParameterDirection.Output); p.Parametros.Add("msg", OracleDbType.Varchar2, msg, ParameterDirection.Output); try { await p.Ejecutar(); resultado = Convert.ToInt32((decimal)(OracleDecimal)(p.Parametros["resultado"].Value)); switch (resultado) { case 0: //Usuario no existe. return(BadRequest(new { error = "Usuario no existe." })); case 1: //Contraseña incorrecta. return(BadRequest(new { error = "Contraseña incorrecta." })); case 2: //Inicio exitoso. usuario = await cmd.Get <Usuario>(usuario.Username); Persona persona = await cmd.Get <Persona>(usuario.Rut); if (userAgent.Equals("TurismoRealDesktop")) { if (usuario.Id_rol > 1) { return(StatusCode(401, new { Error = "Acceso Denegado." })); } } return(Ok(SesionsManager.Sesiones.Registrar(Tools.GenerarToken(usuario, persona)))); default: return(StatusCode(502)); } } catch (Exception e) { Console.WriteLine(e.Message); return(StatusCode(500, new { error = e, msg = p.Parametros["msg"].Value.ToString() })); } //return StatusCode(418); }
public async Task <IActionResult> Post([FromBody] Transaccion t) { if (!ConexionOracle.Activa) { ConexionOracle.Open(); if (!ConexionOracle.Activa) { return(StatusCode(504, ConexionOracle.NoConResponse)); } } try { Procedimiento p = new Procedimiento(ConexionOracle.Conexion, "SP_ID_PAGO"); p.Parametros.Add("id_pago", OracleDbType.Int32, ParameterDirection.Output); await p.Ejecutar(); int idf = Convert.ToInt32((decimal)(OracleDecimal)(p.Parametros["id_pago"].Value)); String trId = "TTR" + idf.ToString(); t.Id_pago = trId; t.Fecha = DateTime.Now; if (t.Id_medio == 1) { /* ZONA KHIPU */ Khipu.Client.Configuration.ReceiverId = Secret.T_RESEIVER_ID; Khipu.Client.Configuration.Secret = Secret.T_SECRET_KEY; PaymentsApi pago = new PaymentsApi(); PaymentsCreateResponse response = pago.PaymentsPost(t.Comentario, "CLP", t.Monto, transactionId: trId, returnUrl: ServerURLs.PagarUrl(Accion.repay, t.Id_reserva, trId), cancelUrl: ServerURLs.PagarUrl(Accion.cancel, t.Id_reserva, trId, t.Monto)); /**/ t.Listo = '1'; var r = await cmd.Get <Reserva>(t.Id_reserva); if (r == null) { return(BadRequest(MensajeError.Nuevo("Reserva no existe."))); } r.Valor_pagado += Convert.ToInt32(t.Monto); r.N_pago = r.N_pago + 1; if (r.Valor_pagado == r.Valor_total) { r.Id_estado = 3; } else if (r.Valor_pagado == Math.Round((double)(r.Valor_total / 2), 0, MidpointRounding.AwayFromZero)) { r.Id_estado = 2; } else { r.Id_estado = 1; } await cmd.Update(r); var list = await cmd.Find <Reserva>("Username", t.Username); List <Reserva> rl = new List <Reserva>(); foreach (var res in list) { if (res.Id_estado == 3 || res.Id_estado == 4) { rl.Add(res); } } if (rl.Count > 9) { var u = await cmd.Get <Usuario>(t.Username); u.Frecuente = '1'; await cmd.Update(u); } if (await cmd.Insert(t, false)) { return(Ok(response)); } } else {/* * var trs = new Webpay(Transbank.Webpay.Configuration.ForTestingWebpayPlusNormal()).NormalTransaction; * var initResult = trs.initTransaction(t.Monto,trId,"sesion-"+trId, ServerURLs.PagarUrl(Acccion.pay, t.Id_reserva, trId, t.Monto), ServerURLs.PagarUrl(Acccion.commit, t.Id_reserva, trId, t.Monto)); * var token = initResult.token; * t.Token = token; * var url = initResult.url; * if (await cmd.Insert(t, false)) * { * return Ok(new { Token = token, Url = url }); * }*/ } return(BadRequest()); } catch (Exception e) { return(StatusCode(500, MensajeError.Nuevo(e.Message))); } }
public async Task <IActionResult> Post([FromForm] List <IFormFile> imagenes, [FromRoute] int id_depto) { if (!ConexionOracle.Activa) { ConexionOracle.Open(); if (!ConexionOracle.Activa) { return(StatusCode(504, ConexionOracle.NoConResponse)); } } Departamento depto = await cmd.Get <Departamento>(id_depto); Localidad localidad = await cmd.Get <Localidad>(depto.Id_localidad); List <Foto> listaFotos = new List <Foto>(); Foto f; Procedimiento p = new Procedimiento(ConexionOracle.Conexion, "SP_ID_FOTO"); p.Parametros.Add("id_foto", OracleDbType.Int32, ParameterDirection.Output);//id_depto String rutaBase = Secret.RUTA_RAIZ; try { if (imagenes.Count > 0) { foreach (var foto in imagenes) { await p.Ejecutar(); int idf = Convert.ToInt32((decimal)(OracleDecimal)(p.Parametros["id_foto"].Value)); String subruta = "img\\" + Tools.ToUrlCompatible(localidad.Nombre.ToLower()) + "\\" + Tools.ToUrlCompatible(depto.Nombre.ToLower()) + "\\" + Tools.ToUrlCompatible(depto.Nombre.Replace(" ", "_")).ToUpper() + "_" + idf.ToString() + Path.GetExtension(foto.FileName); using (var stream = System.IO.File.Create(rutaBase + subruta)) { await foto.CopyToAsync(stream); } f = new Foto { Id_foto = idf, Ruta = ("http://turismoreal.xyz/" + subruta).Replace("\\", "/"), Id_depto = depto.Id_depto }; listaFotos.Add(f); } int cont = 0; foreach (var item in listaFotos) { if (await cmd.Insert(item, false)) { cont++; } } if (cont == 1) { return(Ok(new { Mensaje = "La Imagen fue subida exitosamente." })); } else if (cont > 0) { return(Ok(new { Mensaje = cont.ToString() + " Imagenes fueron subidas exitosamente." })); } else { return(BadRequest(new { Error = "No fue posible subir la(s) imagen(es)." })); } } else { return(BadRequest(new { Error = "No se recibieron imagenes." })); } } catch (Exception e) { return(StatusCode(500, new { Error = e.Message })); } }