public Object Post([FromBody] Residencia re)
        {
            try
            {
                var guid = Guid.NewGuid();

                var codigo   = guid.ToString().Substring(0, 6);
                var logueado = HttpContext.Session.Authenticated();

                var residencia = db.Residencia.FirstOrDefault(r => r.Nombre == re.Nombre && r.IdBarrio == logueado.IdBarrio);
                if (residencia != null)
                {
                    return new { error = true, data = "Error", message = "Ya existe una residencia con ese nombre en el barrio" }
                }
                ;

                re.Codigo   = codigo;
                re.IdBarrio = logueado.IdBarrio.Value;

                db.Residencia.Add(re);
                db.SaveChanges();

                return(new { error = false, data = "ok" });
            }
            catch (System.Exception)
            {
                return(new { error = true, data = null as string });
            }
        }
Пример #2
0
        public Object AgregarProveedor([FromBody] ModeloProveedor me)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var logueado  = HttpContext.Session.Authenticated();
                    var residente = db.Residente.First(r => r.IdUsuario == logueado.Id);
                    var proveedor = new Proveedor();
                    proveedor.Nombre                = me.nombre;
                    proveedor.Descripcion           = me.descripcion;
                    proveedor.Telefono              = me.telefono;
                    proveedor.Direccion             = me.direccion;
                    proveedor.Avatar                = me.avatar;
                    proveedor.IdResidenteRecomienda = residente.Id;
                    proveedor.IdTipoServicio        = me.id_tipo_servicio;
                    proveedor.CantidadVotos         = 0;
                    proveedor.RatingTotal           = 0;
                    db.Proveedor.Add(proveedor);

                    db.SaveChanges();

                    transaction.Commit();
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    return(new { error = true, data = "Error" });
                }
            }

            return(new { error = false, data = "ok" });
        }
        public Object CrearPublicacion([FromBody] Publicacion publicacion, string directo)
        {
            try
            {
                var logueado = HttpContext.Session.Authenticated();

                publicacion.IdPersonal = logueado.Id;
                publicacion.Fecha      = DateTime.Now;

                if (directo == null)
                {
                    publicacion.IdResidente = null;
                }
                else if (directo == "directo")
                {
                    var residente = db.Residente.First(r => r.IdUsuario == logueado.Id);
                    publicacion.IdResidente = residente.Id;
                }

                db.Publicacion.Add(publicacion);
                db.SaveChanges();

                return(new { error = false, data = publicacion });
            }
            catch (Exception)
            {
                return(new { error = true, data = "fail" });
            }
        }
Пример #4
0
        public Object GenerarAlerta([FromBody] Alertas alerta)
        {
            try
            {
                var logueado = HttpContext.Session.Authenticated();

                if (!logueado.IdBarrio.HasValue)
                {
                    return new { error = true, data = "Su usuario no puede emitir alertas" }
                }
                ;

                //Obtengo el residente, lo necesito para recuperar su Id
                Residente residente = db.Residente.First(r => r.IdUsuario == logueado.Id);

                alerta.IdResidente = residente.Id;
                alerta.Fecha       = DateTime.Now;

                db.Alertas.Add(alerta);
                db.SaveChanges();


                //Envío de mail a encargados de seguridad y administradores
                var tipo_alerta = (
                    from ta in db.TipoAlerta
                    where ta.Id == alerta.IdTipoAlerta
                    select ta
                    ).First();

                var empleados_barrio = (
                    from u in db.Usuario
                    join p in db.Perfil on u.IdPerfil equals p.Id
                    where (p.Descripcion == "Administrador" || p.Descripcion == "Encargado de Seguridad") && u.IdBarrio == logueado.IdBarrio
                    select u.Email
                    ).ToList();

                var persona_residente = (
                    from p in db.Persona
                    join r in db.Residente on p.Id equals r.IdPersona
                    where r.Id == alerta.IdResidente
                    select p
                    ).First();

                emailService.SendEmailAlert(tipo_alerta.Descripcion, alerta.Descripcion, persona_residente.Apellido + ", " + persona_residente.Nombre, empleados_barrio);

                // this.pushService.enviarMensajeUsuariosBarrio(logueado.IdBarrio, "Alerta de \"" + tipo_alerta.Descripcion + "\".");

                return(new { error = false, data = alerta });
            }
            catch (Exception e)
            {
                return(new { error = true, data = e.InnerException.Message });
            }
        }
        public Object Post([FromBody] ModeloBarrioAdministrador mba)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    db.Barrio.Add(mba.barrio);

                    var persona = new Persona();
                    persona.Apellido        = mba.usuario.apellido;
                    persona.Nombre          = mba.usuario.nombre;
                    persona.FechaNacimiento = mba.usuario.fecha_nacimiento;
                    persona.IdTipoDocumento = mba.usuario.id_tipo_documento;
                    persona.NroDocumento    = mba.usuario.numero_documento;
                    persona.TelefonoMovil   = mba.usuario.telefono;
                    db.Persona.Add(persona);

                    db.SaveChanges();

                    var id_persona = persona.Id;

                    var perfil  = db.Perfil.First(u => u.Descripcion == "Administrador");
                    var usuario = new Usuario();

                    usuario.Email    = mba.usuario.email;
                    usuario.Password = auth.getHash(mba.usuario.password); // hasheo le password
                    usuario.IdPerfil = perfil.Id;
                    usuario.IdBarrio = mba.barrio.Id;
                    db.Usuario.Add(usuario);

                    db.SaveChanges();

                    var id_usuario = usuario.Id;

                    var empleado = new Empleado();
                    empleado.IdBarrio  = mba.barrio.Id;
                    empleado.IdPersona = id_persona;
                    empleado.IdUsuario = id_usuario;
                    db.Empleado.Add(empleado);

                    db.SaveChanges();

                    transaction.Commit();
                }
                catch (Exception err)
                {
                    transaction.Rollback();
                    return(new { error = true, data = "Error", message = err.Message });
                }
            }

            return(new { error = false, data = "ok" });
        }
        public Object Post([FromBody] Usuario usuario)
        {
            db.Usuario.Add(usuario);
            db.SaveChanges();

            return(new { error = false, data = "ok" });
        }
Пример #7
0
        public Object AgregarExpensa(ModeloExpensas me)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var url_expensa = this.uploadService.UploadFile(me.file);
                    var logueado    = HttpContext.Session.Authenticated();

                    var expensas = new Expensas();
                    expensas.IdResidencia     = me.id_residencia;
                    expensas.FechaExpensa     = me.fecha_expensa;
                    expensas.FechaTransaccion = DateTime.Now;
                    expensas.FechaVencimiento = me.fecha_vencimiento;
                    expensas.Monto            = me.monto;
                    expensas.Pagado           = me.pagado;
                    expensas.Observaciones    = me.observaciones;
                    expensas.UrlExpensa       = url_expensa;
                    db.Expensas.Add(expensas);

                    db.SaveChanges();

                    transaction.Commit();

                    return(new { error = false, data = expensas });
                }
                catch (Exception err)
                {
                    transaction.Rollback();
                    return(new { error = true, data = err.Message });
                }
            }
        }
Пример #8
0
        public Object CrearTurno([FromBody] Turno turno, int id_amenity)
        {
            try
            {
                turno.IdAmenity = id_amenity;

                db.Turno.Add(turno);
                db.SaveChanges();

                return(new { error = false, data = turno });
            }
            catch (Exception err)
            {
                return(new { error = true, data = err.Message });
            }
        }
Пример #9
0
        public Object CrearAmenity([FromBody] Amenity amenity)
        {
            try
            {
                var logueado  = HttpContext.Session.Authenticated();
                var id_barrio = logueado.IdBarrio.Value;

                amenity.IdBarrio = id_barrio;

                db.Amenity.Add(amenity);
                db.SaveChanges();

                return(new { error = false, data = amenity });
            }
            catch (Exception err)
            {
                return(new { error = true, data = err.Message });
            }
        }
Пример #10
0
        public Object CrearEvento([FromBody] ModeloEvento md)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var logueado  = HttpContext.Session.Authenticated();
                    var residente = db.Residente.First(r => r.IdUsuario == logueado.Id);

                    var evento = new Eventos();
                    evento.Titulo       = md.titulo;
                    evento.Descripcion  = md.descripcion;
                    evento.Fecha        = md.fecha;
                    evento.HoraDesde    = md.hora_desde;
                    evento.HoraHasta    = md.hora_hasta;
                    evento.Imagen       = md.imagen;
                    evento.IdTipoEvento = md.id_tipo_evento;
                    evento.IdResidente  = residente.Id;

                    db.Eventos.Add(evento);
                    db.SaveChanges();

                    transaction.Commit();
                }
                catch (Exception err)
                {
                    transaction.Rollback();
                    return(new { error = true, data = err.InnerException.Message });
                }
            }

            return(new { error = false, data = "ok" });
        }
Пример #11
0
        public Object RegistrarVisitante([FromBody] ModeloVisitante mv)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var logueado  = HttpContext.Session.Authenticated();
                    var residente = db.Residente.First(r => r.IdUsuario == logueado.Id);
                    var visitante = new Visitante();


                    visitante.Apellido        = mv.apellido;
                    visitante.Avatar          = mv.avatar;
                    visitante.FechaVisita     = mv.id_tipo_visita == 1 ? null : mv.fecha_visita;
                    visitante.IdTipoDocumento = mv.id_tipo_documento;
                    visitante.IdTipoVisita    = mv.id_tipo_visita;
                    visitante.Nombre          = mv.nombre;
                    visitante.NumeroDocumento = mv.numero_documento;
                    visitante.Observaciones   = mv.observaciones;
                    visitante.Patente         = mv.patente;
                    visitante.IdResidente     = residente.Id;
                    visitante.Estado          = "esperando";

                    db.Visitante.Add(visitante);
                    db.SaveChanges();

                    transaction.Commit();

                    return(new { error = false, data = visitante });
                }
                catch (Exception)
                {
                    transaction.Rollback();

                    return(new { error = true, data = "fail" });
                }
            }
        }
Пример #12
0
        public Object RegistrarViaje([FromBody] ModeloCarpooling mc)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    //Controlo que la fecha del viaje sea mayor o igual a la del día de hoy, de no ser así se devuelve error.
                    if (mc.viaje.Fecha < DateTime.Now)
                    {
                        return new { error = true, data = "Error", message = "No se pueden generar viajes en fechas anteriores a la de hoy" }
                    }
                    ;

                    var logueado  = HttpContext.Session.Authenticated();
                    var residente = db.Residente.First(r => r.IdUsuario == logueado.Id);

                    mc.viaje.IdResidente = residente.Id;
                    db.Viaje.Add(mc.viaje);
                    db.SaveChanges();

                    foreach (var trayecto in mc.trayectos)
                    {
                        trayecto.IdViaje = mc.viaje.Id;

                        db.Trayecto.Add(trayecto);
                    }
                    db.SaveChanges();

                    transaction.Commit();
                    return(new { error = false, data = mc.viaje });
                }
                catch (Exception err)
                {
                    transaction.Rollback();
                    return(new { error = true, data = "Error", message = err.Message });
                }
            }
        }
Пример #13
0
        public Usuario Register(Usuario usuario)
        {
            usuario.Password = getHash(usuario.Password);

            var existe = _db.Usuario.FirstOrDefault(u => u.Email == usuario.Email);

            if (existe == null)
            {
                _db.Usuario.Add(usuario);
                _db.SaveChanges();

                return(usuario);
            }

            return(null);
        }
        public Object AgregarEmpleado([FromBody] ModeloEmpleado me)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var logueado = HttpContext.Session.Authenticated();
                    var persona  = new Persona();
                    persona.Apellido        = me.apellido;
                    persona.Nombre          = me.nombre;
                    persona.FechaNacimiento = me.fecha_nacimiento;
                    persona.IdTipoDocumento = me.id_tipo_documento;
                    persona.NroDocumento    = me.numero_documento;
                    persona.TelefonoMovil   = me.telefono;
                    db.Persona.Add(persona);

                    db.SaveChanges();

                    var usuario = new Usuario();

                    usuario.Email    = me.email;
                    usuario.Password = auth.getHash(me.password); // hasheo le password
                    usuario.IdPerfil = me.id_perfil.Value;
                    usuario.IdBarrio = logueado.IdBarrio.Value;
                    db.Usuario.Add(usuario);

                    db.SaveChanges();

                    var empleado = new Empleado();
                    empleado.FechaInicioActividad = DateTime.Now;
                    empleado.IdBarrio             = logueado.IdBarrio.Value;
                    empleado.IdPersona            = persona.Id;
                    empleado.IdUsuario            = usuario.Id;
                    db.Empleado.Add(empleado);

                    db.SaveChanges();

                    transaction.Commit();
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    return(new { error = true, data = "Error" });
                }
            }

            return(new { error = false, data = "ok" });
        }