Beispiel #1
0
        public void EliminarEspecificacionUsuario(int idus)
        {
            Console.WriteLine("Eliminar Usuario " + idus);

            using (var ts = new TransactionScope(TransactionScopeOption.Required))
            {
                try
                {
                    Console.WriteLine("Se eliminara el usuario " + idus);

                    // Persist data.
                    var dac = new EspecificacionUsuarioDAC();
                    try
                    {
                        dac.DeleteEspecificacionUsuario(idus);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        throw;
                    }
                    Console.WriteLine("Se elimino el usuario con exito");
                    ts.Complete();
                }
                catch (Exception ex)
                {
                    Notificaciones.enviarNotificacion("-1", "*****@*****.**", "*****@*****.**", "error", "Matias", "nada", ex.ToString(), "");
                    Notificaciones.enviarNotificacion("-1", "*****@*****.**", "*****@*****.**", "error", "Matias", "nada", ex.ToString(), "");
                    Console.WriteLine(ex.Message);
                    throw;
                }
            }
        }
Beispiel #2
0
 public EspecificacionUsuario ObtenerEspecificacionUsuarioXId(int idUsuario)
 {
     try
     {
         return(espusdac.SelectForId(idUsuario));
     }
     catch (Exception ex)
     {
         Notificaciones.enviarNotificacion("-1", "*****@*****.**", "*****@*****.**", "error", "Matias", "nada", ex.ToString(), "");
         Notificaciones.enviarNotificacion("-1", "*****@*****.**", "*****@*****.**", "error", "Matias", "nada", ex.ToString(), "");
         Console.WriteLine(ex.Message);
         throw;
     }
 }
Beispiel #3
0
        private void UpdateEspecificacionUsuario(EspecificacionUsuario espus, String[] categs)
        {
            Console.WriteLine(espus.ToString());

            // Persist data.
            var dac = new EspecificacionUsuarioDAC();

            try
            {
                dac.UpdateEspecificacionUsuario(espus, categs);
            }
            catch (Exception ex)
            {
                Notificaciones.enviarNotificacion("-1", "*****@*****.**", "*****@*****.**", "error", "Matias", "nada", ex.ToString(), "");
                Notificaciones.enviarNotificacion("-1", "*****@*****.**", "*****@*****.**", "error", "Matias", "nada", ex.ToString(), "");
                Console.WriteLine(ex.Message);
                throw;
            }
        }
Beispiel #4
0
 public EspecificacionUsuario ObtenerEspecificacionUsuarioXMembership(string membership, int idMov)
 {
     Console.WriteLine("Obtener usuario por membership: " + membership + " " + idMov);
     using (var ts = new TransactionScope(TransactionScopeOption.Required))
     {
         try
         {
             var eudac = new EspecificacionUsuarioDAC();
             return(eudac.GetEspecificacionUsuarioByNombre(membership, idMov));
         }
         catch (Exception ex)
         {
             Notificaciones.enviarNotificacion("-1", "*****@*****.**", "*****@*****.**", "error", "Matias", "nada", ex.ToString(), "");
             Notificaciones.enviarNotificacion("-1", "*****@*****.**", "*****@*****.**", "error", "Matias", "nada", ex.ToString(), "");
             Console.WriteLine(ex.Message);
             throw;
         }
     }
 }
Beispiel #5
0
        public void ModificarEspecificacionUsuario(EspecificacionUsuario espus, String[] categs)
        {
            Console.WriteLine("Modificando Usuario " + espus.Membership);

            using (var ts = new TransactionScope(TransactionScopeOption.Required))
            {
                try
                {
                    UpdateEspecificacionUsuario(espus, categs);
                    ts.Complete();
                }
                catch (Exception ex)
                {
                    Notificaciones.enviarNotificacion("-1", "*****@*****.**", "*****@*****.**", "error", "Matias", "nada", ex.ToString(), "");
                    Notificaciones.enviarNotificacion("-1", "*****@*****.**", "*****@*****.**", "error", "Matias", "nada", ex.ToString(), "");
                    Console.WriteLine(ex.Message);
                    throw;
                }
            }
        }
Beispiel #6
0
        public EspecificacionUsuario AgregarUsuario(EspecificacionUsuario espus, String nomMov, String[] categs)
        {
            espus.BajasContenido = 0;
            Console.WriteLine("Creando Usuario... ");
            Console.WriteLine(espus.ToString());
            BackOffice bo = new BackOffice();

            //Modificado por matias. No se si estara bien.
            //espus.MovimientoId = bo.ObtenerMovimientoXNombre(nomMov).Id;
            try
            {
                return(espusdac.AddEspecificacionUsuario(espus, categs));
            }
            catch (Exception ex)
            {
                Notificaciones.enviarNotificacion("-1", "*****@*****.**", "*****@*****.**", "error", "Matias", "nada", ex.ToString(), "");
                Notificaciones.enviarNotificacion("-1", "*****@*****.**", "*****@*****.**", "error", "Matias", "nada", ex.ToString(), "");
                Console.WriteLine(ex.Message);
                throw;
            }
        }
        public Convocatoria AgregarConvocatoria(Convocatoria conv)
        {
            Console.WriteLine("Agregando convocatoria... ");
            conv.CantUsuariosConfirmados = 0;
            conv.Suspendida = false;
            Convocatoria convocatoria = null;

            using (var ts = new TransactionScope(TransactionScopeOption.Required))
            {
                try
                {
                    convocatoria = cdac.AddConvocatoria(conv);
                    ts.Complete();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            Console.WriteLine("Se ha creado una nueva convocatoria de id = " + convocatoria.Id);

            Console.WriteLine("Enviando notificaciones de nueva convocatoria... ");
            //Envío de notificaciones
            //Una vez ingresada una convocatoria se deberán enviar notificaciones a todos los usuarios que
            //se encuentren en un radio de menos de 50 km de la zona de la actividad, o que se hayan
            //registrado para recibir notificaciones de dicha temática.


            //Obtengo todos los usuarios del movimiento.
            EspecificacionUsuarioDAC euDac = new EspecificacionUsuarioDAC();
            var usuarios = from u in euDac.GetAllEspecificacionUsuario()
                           where u.MovimientoId == conv.MovimientoId
                           select u;

            if (usuarios.Count() > 0)
            {
                BackOffice back    = new BackOffice();
                Movimiento movConv = back.ObtenerMovimientoXId(convocatoria.MovimientoId);
                //Para cada uno de los usuarios, chequeo si esta a 50 km o si esta enlazado a la categoria
                //tematica de la convocatoria
                double latConv    = convocatoria.UbicacionLatitud;
                double lonConv    = convocatoria.UbicacionLongitud;
                double sinLatConv = Math.Sin(latConv);
                double cosLatConv = Math.Cos(latConv);
                double latUsr;
                double lonUsr;
                double distancia;
                bool   enviarConfirmacion;
                foreach (var u in usuarios)
                {
                    enviarConfirmacion = false;
                    latUsr             = u.UbicacionLatitud;                                                                                                  // de grados a radianes
                    lonUsr             = u.UbicacionLongitud;                                                                                                 //
                    distancia          = (111.194) * (Math.Acos(sinLatConv * Math.Sin(latUsr) + cosLatConv * Math.Cos(latUsr) * Math.Cos(lonConv - lonUsr))); // En kilometros
                    Console.WriteLine("Distancia " + distancia);
                    if (Math.Abs(distancia) <= 50.0)
                    {
                        enviarConfirmacion = true;
                    }

                    if (!enviarConfirmacion)
                    {
                        foreach (CategoriaTematica cat in u.CategoriasTematicas)
                        {
                            if (cat.Id == convocatoria.CategoriaTematicaId)
                            {
                                enviarConfirmacion = true;
                            }
                        }
                    }

                    if (enviarConfirmacion)
                    {
                        try
                        {
                            Notificaciones.enviarNotificacion(movConv.Nombre, u.Membership, "no-reply-" + movConv.Nombre.ToLower() + "@indignadoframework.com",
                                                              "Nueva Convocatoria", u.Membership, "hay una nueva convocatoria en el movimiento " + movConv.Nombre + ".",
                                                              "Detalles de la convocatoria " + convocatoria.Titulo + ":" + "</br>" +
                                                              "Descripcion: " + convocatoria.Descripcion + "</br>" +
                                                              "Inicio: " + convocatoria.Inicio.ToString() + "</br>" +
                                                              "Ubicacion: " + "<a href=\"" + "http://indignado.cloudapp.net/" + movConv.Nombre + "/Convocatoria/Details?idConv=" + convocatoria.Id + "\">Ver Detalles" + "</a>" + "</br>" +
                                                              "Quorum: " + convocatoria.Quorum,
                                                              "http://www.mrvacandsewaz.com/images/map.png");
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.ToString());
                        }
                    }
                }
            }

            return(convocatoria);
        }