public async Task <IActionResult> Post([FromBody] Mantencion m)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                if (await cmd.Insert(m))
                {
                    var d = await cmd.Get <Departamento>(m.Id_depto);

                    Notificacion n = new Notificacion();
                    n.Username  = m.Username;
                    n.Fecha     = DateTime.Now;
                    n.Titulo    = "Nueva mantención asignada";
                    n.Contenido = "Se ha asignado una mantención al departamento \"" + d.Nombre + "\"(ID:" + d.Id_depto + ") para el día <b>" + m.Fecha.ToShortDateString() + "</b>."
                                  + "\n\nLa mantención debe ser llevada a cabo a la brevedad.";
                    n.Visto = '0';
                    n.Link  = ServerURLs.GetRutaGestion(Gestion.Mantenciones);
                    await cmd.Insert(n);

                    return(Ok());
                }
                return(BadRequest());
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
Exemple #2
0
 public Account(string username, ServerURLs serverUrLs, ObservableCollection <Instance> instances)
 {
     Username       = username;
     Client         = instances[0].Client;
     ServerURLs     = serverUrLs;
     Instances      = instances;
     UseUserCommand = new Command(UseUser);
 }
Exemple #3
0
        public Account(string username, ServerURLs serverURLs, SimpleForumClient client)
        {
            Username       = username;
            ServerURLs     = serverURLs;
            Client         = client;
            UseUserCommand = new Command(UseUser);

            Instance instance = new Instance(serverURLs, client);

            CurrentInstance = instance;
            Instances.Add(instance);
        }
        // Registers an outgoing token on the given server
        public async Task <Result> RegisterToken(string address)
        {
            // Retrieves ServerURLs
            Result <ServerURLs> result = await SimpleForumClient.GetServerURLs(address);

            if (result.Failure)
            {
                return(result);
            }
            ServerURLs serverUrLs = result.Value;

            // Checks if the address has already been registered
            Result checkResult = await _client.CheckAddress(serverUrLs.CrossConnectionURL, _config.InstanceURL);

            if (checkResult.Failure)
            {
                return(checkResult);
            }


            // Adds token to repository and
            OutgoingServerToken token = new OutgoingServerToken()
            {
                Address                = address,
                ApiAddress             = serverUrLs.APIURL,
                CrossConnectionAddress = serverUrLs.CrossConnectionURL,
                Token = Guid.NewGuid().ToString()
            };

            await _repository.AddOutgoingServerTokenAsync(token);

            await _repository.SaveChangesAsync();

            Result registerResult = await _client.RegisterAddress(serverUrLs.CrossConnectionURL, _config.InstanceURL, token.Token);

            if (registerResult.Failure)
            {
                return(registerResult);
            }
            return(Result.Ok());
        }
Exemple #5
0
    private string[] BuildUrls(ServerURLs serverURLs, IEnumerable <string> passThroughArguments)
    {
        var sb = new StringBuilder();

        foreach (string arg in passThroughArguments)
        {
            if (sb.Length > 0)
            {
                sb.Append('&');
            }

            sb.Append($"arg={HttpUtility.UrlEncode(arg)}");
        }

        string query    = sb.ToString();
        string filename = Path.GetFileName(_args.HTMLPath !);
        string httpUrl  = BuildUrl(serverURLs.Http, filename, query);

        return(string.IsNullOrEmpty(serverURLs.Https)
            ? (new[] { httpUrl })
            : (new[]
Exemple #6
0
        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)));
            }
        }