示例#1
0
        public async Task <IActionResult> Delete([FromRoute] int id)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                Foto f = await cmd.Get <Foto>(id);

                Departamento d = await cmd.Get <Departamento>(f.Id_depto);

                Localidad l = await cmd.Get <Localidad>(d.Id_localidad);

                String ruta = Secret.RUTA_RAIZ + "img\\" + Tools.ToUrlCompatible(l.Nombre.ToLower()) + "\\" + Tools.ToUrlCompatible(d.Nombre.ToLower()) + "\\" + f.Ruta.Split('/').Last().ToUpper();
                if (System.IO.File.Exists(ruta))
                {
                    System.IO.File.Delete(ruta);
                }
                if (await cmd.Delete(f))
                {
                    return(Ok());
                }
                return(BadRequest());
            }catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
示例#2
0
        public async Task <IActionResult> Post([FromBody] Departamento depto)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                depto.Id_estado = 1;
                if (await cmd.Insert(depto))
                {
                    var l = await cmd.Get <Localidad>(depto.Id_localidad);

                    if (!Directory.Exists(Secret.RUTA_RAIZ + "img\\" + Tools.ToUrlCompatible(l.Nombre) + "\\" + Tools.ToUrlCompatible(depto.Nombre) + "\\"))
                    {
                        Directory.CreateDirectory(Secret.RUTA_RAIZ + "img\\" + Tools.ToUrlCompatible(l.Nombre) + "\\" + Tools.ToUrlCompatible(depto.Nombre));
                    }
                    return(Ok((await cmd.Find <Departamento>("Nombre", depto.Nombre))));
                }
                return(BadRequest(MensajeError.Nuevo("no se pudo insertar.")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        public async Task <IActionResult> Get([FromRoute] int id)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                Localidad l = await cmd.Get <Localidad>(id);

                if (l != null)
                {
                    return(Ok(l));
                }
                return(BadRequest(MensajeError.Nuevo("No se encontró la localidad")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
示例#4
0
        public async Task <IActionResult> Get([FromRoute] int id)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                var notif = await cmd.Get <Notificacion>(id);

                if (notif != null)
                {
                    notif.Visto = '1';
                    await cmd.Update(notif);

                    return(Ok(notif));
                }
                return(BadRequest());
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
示例#5
0
        public async Task <IActionResult> Get([FromRoute] int id)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                Departamento d = await cmd.Get <Departamento>(id);

                if (d != null)
                {
                    return(Ok(d));
                }
                return(BadRequest(MensajeError.Nuevo("No se encontró el departamento")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        public async Task <IActionResult> FindFuncionario([FromRoute] String username)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                List <Mantencion> m = await cmd.Find <Mantencion>("Username", username);

                if (m.Count > 0)
                {
                    return(Ok(m));
                }
                return(BadRequest(MensajeError.Nuevo("El Funcionario no tiene mantenciones asociadas.")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        public async Task <IActionResult> Post([FromBody] PersonaAcompanante creador)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                Acompanante acom    = creador.Acompanante;
                Persona     persona = creador.Persona;
                acom.Rut = persona.Rut;
                if (await cmd.Insert(persona, false))
                {
                    if (await cmd.Insert(acom))
                    {
                        var p = await cmd.Get <Persona>(persona.Rut);

                        var a = (await cmd.Find <Acompanante>("Rut", p.Rut))[0];
                        return(Ok(new PersonaAcompanante {
                            Acompanante = a, Persona = p
                        }));
                    }
                    await cmd.Delete(persona);
                }
                return(BadRequest(MensajeError.Nuevo("No se pudo insertar.")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        public async Task <IActionResult> Delete([FromRoute] int id)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                var acom = await cmd.Get <Acompanante>(id);

                if (await cmd.Delete(acom))
                {
                    return(Ok());
                }
                return(BadRequest(MensajeError.Nuevo("No se pudo eliminar.")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        public async Task <IActionResult> Find([FromRoute] int id)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                List <Mantencion> m = await cmd.Find <Mantencion>("Id_depto", id);

                if (m.Count > 0)
                {
                    return(Ok(m));
                }
                return(BadRequest(MensajeError.Nuevo("El departamento no tiene mantenciones asociadas.")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        public async Task <IActionResult> PatchError([FromRoute] int id)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                var m = await cmd.Get <Mantencion>(id);

                m.Hecho = '1';
                if (await cmd.Update(m))
                {
                    var d = await cmd.Get <Departamento>(m.Id_depto);

                    d.Id_estado = 5;
                    await cmd.Update(d);

                    return(Ok());
                }
                return(BadRequest());
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        public async Task <IActionResult> Get()
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                List <Mantencion> m = await cmd.GetAll <Mantencion>();

                if (m.Count > 0)
                {
                    return(Ok(m));
                }
                return(BadRequest());
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        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)));
            }
        }
        public async Task <IActionResult> Get([FromRoute] int id)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                Mantencion m = await cmd.Get <Mantencion>(id);

                if (m != null)
                {
                    return(Ok(m));
                }
                return(BadRequest());
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
示例#14
0
        public async Task <IActionResult> Get([FromRoute] int id)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                var f = await cmd.Find <Foto>("Id_depto", id);

                if (f.Count > 0)
                {
                    return(Ok(f));
                }
                return(BadRequest(MensajeError.Nuevo("No existen imagenes del departamento.")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        public async Task <IActionResult> GetProxy([FromRoute] int id)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                Localidad l = await cmd.Get <Localidad>(id);

                if (l != null)
                {
                    var lu = await cmd.Get <LocalidadUsuario>(id);

                    ProxyLocalidad pl = new ProxyLocalidad();
                    pl.Localidad = l;
                    pl.Asignado  = false;
                    if (lu != null)
                    {
                        pl.Username = lu.Username;
                        pl.Asignado = true;
                    }
                    return(Ok(lu));
                }
                return(BadRequest(MensajeError.Nuevo("No se encontró la localidad")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
示例#16
0
        public async Task <IActionResult> Get()
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                List <Departamento> depto = await cmd.GetAll <Departamento>();

                if (depto.Count > 0)
                {
                    return(Ok(depto));
                }
                return(BadRequest(MensajeError.Nuevo("No se encontraron departamentos.")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
示例#17
0
        public async Task <IActionResult> GetUsuario([FromRoute] String username)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                var notif = await cmd.Find <Notificacion>("Username", username);

                if (notif.Count > 0)
                {
                    return(Ok(notif));
                }
                return(BadRequest());
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        public async Task <IActionResult> Delete([FromBody] String username)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                Usuario usuario = await cmd.Get <Usuario>(username);

                Persona p = await cmd.Get <Persona>(usuario.Rut);

                if (await cmd.Delete(usuario))
                {
                    if (await cmd.Delete(p))
                    {
                        return(Ok());
                    }
                    return(BadRequest());
                }
                return(BadRequest());
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        public async Task <IActionResult> Get([FromRoute] int id)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                Acompanante a = await cmd.Get <Acompanante>(id);

                if (a != null)
                {
                    Persona p = await cmd.Get <Persona>(a.Rut);

                    if (p != null)
                    {
                        return(Ok(new PersonaAcompanante {
                            Acompanante = a, Persona = p
                        }));
                    }
                }
                return(BadRequest(MensajeError.Nuevo("No se encontró al acompañante.")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        public async Task <IActionResult> Get()
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                List <Localidad> l = await cmd.GetAll <Localidad>();

                if (l.Count > 0)
                {
                    return(Ok(l));
                }
                return(BadRequest(MensajeError.Nuevo("No se encontraron localidades")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        public async Task <IActionResult> Post([FromBody] Localidad l)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                String n = "";
                foreach (var c in l.Nombre.ToString().Split(' '))
                {
                    n += " " + Tools.Capitalize(c);
                }
                n        = n.TrimStart();
                l.Nombre = n;
                if (await cmd.Insert(l))
                {
                    if (!Directory.Exists(Secret.RUTA_RAIZ + "img\\" + Tools.ToUrlCompatible(l.Nombre.ToLower()) + "\\"))
                    {
                        Directory.CreateDirectory(Secret.RUTA_RAIZ + "img\\" + Tools.ToUrlCompatible(l.Nombre.ToLower()));
                    }
                    var ds = await cmd.Find <Departamento>("Id_localidad", l.Id_localidad);

                    if (ds.Count > 0)
                    {
                        foreach (var d in ds)
                        {
                            var fs = await cmd.Find <Foto>("Id_depto", d.Id_depto);

                            if (fs.Count > 0)
                            {
                                foreach (var f in fs)
                                {
                                    f.Ruta = "http://turismoreal.xyz/img/" + Tools.ToUrlCompatible(l.Nombre.ToLower()) + "/" + Tools.ToUrlCompatible(d.Nombre.ToLower()) + "/" + f.Ruta.Split('/').Last();
                                }
                            }
                        }
                    }
                    return(Ok(await cmd.Find <Localidad>("Nombre", l.Nombre)));
                }
                return(BadRequest());
            }catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
示例#22
0
        public async Task <IActionResult> Patch([FromForm] IFormFile imagen, [FromRoute] int id)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                Foto f = await cmd.Get <Foto>(id);

                Departamento d = await cmd.Get <Departamento>(f.Id_depto);

                Localidad l = await cmd.Get <Localidad>(d.Id_localidad);

                String rutaBase = Secret.RUTA_RAIZ;
                String subruta  = "img\\" + Tools.ToUrlCompatible(l.Nombre.ToLower()) + "\\" + Tools.ToUrlCompatible(d.Nombre.ToLower()) + "\\" + Tools.ToUrlCompatible(d.Nombre.Replace(" ", "_")).ToUpper() + "_" + id.ToString() + Path.GetExtension(imagen.FileName);
                var    s        = "img\\" + Tools.ToUrlCompatible(l.Nombre.ToLower()) + "\\" + Tools.ToUrlCompatible(d.Nombre.ToLower()) + "\\" + f.Ruta.Split("/").Last();
                if (System.IO.File.Exists(rutaBase + s))
                {
                    System.IO.File.Delete(rutaBase + s);
                }
                using (var stream = System.IO.File.Create(rutaBase + subruta))
                {
                    await imagen.CopyToAsync(stream);
                }
                f.Ruta = ("http://turismoreal.xyz/" + subruta).Replace("\\", "/");
                if (await cmd.Update(f))
                {
                    return(Ok());
                }
                return(BadRequest());
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        public async Task <IActionResult> GetProxy()
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                List <Localidad> l = await cmd.GetAll <Localidad>();

                if (l.Count > 0)
                {
                    List <ProxyLocalidad> pl = new List <ProxyLocalidad>();
                    foreach (var loc in l)
                    {
                        var p = new ProxyLocalidad();
                        p.Localidad = loc;
                        p.Asignado  = false;
                        var x = await cmd.Get <LocalidadUsuario>(loc.Id_localidad);

                        if (x != null)
                        {
                            p.Asignado = true;
                            p.Username = x.Username;
                        }
                        pl.Add(p);
                    }
                    return(Ok(pl));
                }
                return(BadRequest(MensajeError.Nuevo("No se encontraron localidades")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
        public async Task <IActionResult> Patch([FromRoute] int id, [FromBody] dynamic data)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                var l = await cmd.Get <Localidad>(id);

                var old = l.Nombre;
                if (data.Nombre != null)
                {
                    String n = "";
                    foreach (var c in data.Nombre.ToString().Split(' '))
                    {
                        n += " " + Tools.Capitalize(c);
                    }
                    n        = n.TrimStart();
                    l.Nombre = n;
                }
                if (await cmd.Update(l))
                {
                    if (!Directory.Exists(Secret.RUTA_RAIZ + "img\\" + Tools.ToUrlCompatible(l.Nombre) + "\\"))
                    {
                        Directory.Move(Secret.RUTA_RAIZ + "img\\" + Tools.ToUrlCompatible(old), Secret.RUTA_RAIZ + "img\\" + Tools.ToUrlCompatible(l.Nombre));
                    }
                    return(Ok(await cmd.Get <Localidad>(id)));
                }
                return(BadRequest(MensajeError.Nuevo("No se pudo actualizar.")));
            }catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
 public async Task <IActionResult> Delete([FromBody] Mantencion m)
 {
     if (!ConexionOracle.Activa)
     {
         ConexionOracle.Open();
         if (!ConexionOracle.Activa)
         {
             return(StatusCode(504, ConexionOracle.NoConResponse));
         }
     }
     try
     {
         if (await cmd.Delete(m))
         {
             return(Ok());
         }
         return(BadRequest());
     }
     catch (Exception e)
     {
         return(StatusCode(500, MensajeError.Nuevo(e.Message)));
     }
 }
        public async Task <IActionResult> GetUsuario([FromRoute] String username)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                List <Acompanante> acom = await cmd.Find <Acompanante>("username", username);

                List <PersonaAcompanante> resultado = new List <PersonaAcompanante>();
                if (acom.Count > 0)
                {
                    foreach (var a in acom)
                    {
                        Persona p = await cmd.Get <Persona>(a.Rut);

                        if (p != null)
                        {
                            resultado.Add(new PersonaAcompanante {
                                Acompanante = a, Persona = p
                            });
                        }
                    }
                    return(Ok(resultado));
                }
                return(BadRequest(MensajeError.Nuevo("No se encontraron acompañantes.")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
示例#27
0
 public async Task <IActionResult> Post([FromBody] Notificacion notif)
 {
     if (!ConexionOracle.Activa)
     {
         ConexionOracle.Open();
         if (!ConexionOracle.Activa)
         {
             return(StatusCode(504, ConexionOracle.NoConResponse));
         }
     }
     try
     {
         notif.Visto = '0';
         if (await cmd.Insert(notif))
         {
             return(Ok(notif));
         }
         return(BadRequest());
     }
     catch (Exception e)
     {
         return(StatusCode(500, MensajeError.Nuevo(e.Message)));
     }
 }
        public async Task <IActionResult> Patch([FromRoute] int id, [FromBody] dynamic data)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                Acompanante a = await cmd.Get <Acompanante>(id);

                Persona p = await cmd.Get <Persona>(a.Rut);

                if (data.Persona.Nombres != null)
                {
                    p.Nombres = data.Persona.Nombres;
                }
                if (data.Persona.Apellidos != null)
                {
                    p.Apellidos = data.Persona.Apellidos;
                }
                if (data.Persona.Email != null)
                {
                    p.Email = data.Persona.Email;
                }
                if (data.Persona.Telefono != null)
                {
                    p.Telefono = data.Persona.Telefono;
                }
                if (data.Persona.Direccion != null)
                {
                    p.Direccion = data.Persona.Direccion;
                }
                if (data.Persona.Comuna != null)
                {
                    p.Comuna = data.Persona.Comuna;
                }
                if (data.Persona.Region != null)
                {
                    p.Region = data.Persona.Region;
                }
                if (data.Persona.Id_genero != null)
                {
                    p.Id_genero = data.Persona.Id_genero;
                }
                if (await cmd.Update(p))
                {
                    a = await cmd.Get <Acompanante>(id);

                    p = await cmd.Get <Persona>(a.Rut);

                    return(Ok(new PersonaAcompanante {
                        Persona = p, Acompanante = a
                    }));
                }
                return(BadRequest(MensajeError.Nuevo("No se pudo actualizar.")));
            }
            catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
示例#29
0
        public async Task <IActionResult> Patch([FromRoute] int id, [FromBody] dynamic data)
        {
            if (!ConexionOracle.Activa)
            {
                ConexionOracle.Open();
                if (!ConexionOracle.Activa)
                {
                    return(StatusCode(504, ConexionOracle.NoConResponse));
                }
            }
            try
            {
                Departamento d = await cmd.Get <Departamento>(id);

                if (data.Nombre != null)
                {
                    d.Nombre = data.Nombre;
                }
                if (data.Direccion != null)
                {
                    d.Direccion = data.Direccion;
                }
                if (data.Arriendo != null)
                {
                    d.Arriendo = data.Arriendo;
                }
                if (data.Habitaciones != null)
                {
                    d.Habitaciones = data.Habitaciones;
                }
                if (data.Id_localidad != null)
                {
                    d.Id_localidad = data.Id_localidad;
                }
                if (data.Mts_cuadrados != null)
                {
                    d.Mts_cuadrados = data.Mts_cuadrados;
                }
                if (data.Banos != null)
                {
                    d.Banos = data.Banos;
                }
                if (data.Dividendo != null)
                {
                    d.Dividendo = data.Dividendo;
                }
                if (data.Id_estado != null)
                {
                    d.Id_estado = data.Id_estado;
                }
                if (data.Contribuciones != null)
                {
                    d.Contribuciones = data.Contribuciones;
                }
                if (await cmd.Update(d))
                {
                    return(Ok(await cmd.Get <Departamento>(id)));
                }
                return(BadRequest(MensajeError.Nuevo("No se pudo actualizar.")));
            }catch (Exception e)
            {
                return(StatusCode(500, MensajeError.Nuevo(e.Message)));
            }
        }
示例#30
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)));
            }
        }