示例#1
0
        public async Task <Avisos> GetAvisos()
        {
            try
            {
                string url      = $"http://apicasamento.sa-east-1.elasticbeanstalk.com/api/Avisos";
                var    response = await client.GetStringAsync(url);

                Avisos avisos = new Avisos {
                    IEAvisos = JsonConvert.DeserializeObject <IEnumerable <Aviso> >(response)
                };
                avisos.Sucesso = true;
                return(avisos);
            }
            catch (HttpRequestException requestException)
            {
                return(new Avisos {
                    Sucesso = false, CodErro = "1", MsgErro = requestException.Message
                });
            }
            catch (Exception ex)
            {
                return(new Avisos {
                    Sucesso = false, CodErro = "2", MsgErro = ex.Message
                });
            }
        }
示例#2
0
        public void VaciarAvisos(EntityConnectionStringBuilder connection, Avisos av)
        {
            var context = new samEntities(connection.ToString());

            context.DELETE_avisos_MDL(av.QMNUM,
                                      av.IWERK);
        }
示例#3
0
        public Avisos Buscar(int codigo = 0, int aluno = 0)
        {
            try
            {
                Avisos dataLote = null;

                DBSession session = new DBSession();
                Query     quey    = session.CreateQuery("SELECT a.codigo, a.data, a.aluno, a.titulo, a.texto, a.arquivo, a.texto, a.urgente, isnull(av.data,'') as datav, case when av.codigo is null then 0 else 1 end as visualizado FROM Avisos a left join avisos_visualizar av on av.avisos = a.codigo and av.aluno = @aluno WHERE a.codigo = @codigo order by data desc");
                quey.SetParameter("codigo", codigo);
                quey.SetParameter("aluno", aluno);
                IDataReader reader = quey.ExecuteQuery();

                while (reader.Read())
                {
                    dataLote = new Avisos(Convert.ToInt32(reader["codigo"]), Convert.ToDateTime(reader["data"]), Convert.ToInt32(reader["aluno"]), Convert.ToInt32(reader["visualizado"]), Convert.ToString(reader["titulo"]), Convert.ToString(reader["arquivo"]), Convert.ToString(reader["texto"]), Convert.ToInt32(reader["urgente"]), Convert.ToDateTime(reader["datav"]));
                }
                reader.Close();
                session.Close();

                return(dataLote);
            }
            catch (Exception error)
            {
                throw error;
            }
        }
    public void fn_mostrar_dialog_aviso(string sCveUser)
    {
        ///INSTANCIA A LA CLASE CONEXIÓN
        Conexion conn = new Conexion();
        ///Instancia a objeto para desencryptar id de usuario
        Security encUser = new Security(sCveUser.ToString());
        ///QUERY PARA RECUPERAR TOTAL DE AVISOS
        string sQuery = "SELECT COUNT(*) FROM tb_Avisos WHERE iIdUsuario = " + encUser.DesEncriptar() + " AND ISNULL(iVisto,0) NOT IN(1)";

        ///EJECUTA Y ASIGNA VALORES
        string[] sTotal = conn.ejecutarConsultaRegistroSimple(sQuery);
        ///VERIFICA ÉXITO EN EJECUCIÓN
        if (sTotal[0] == "1")
        {
            ///VERIFICA SI EL TOTAL ES DIFERENTE DE 0
            if (sTotal[1] != "0")
            {
                ///INSTANCIA A LA CLASE AVISOS
                Avisos aviso = new Avisos();
                ///ASIGNA ID DE USUARIO
                aviso.gsUsuario = int.Parse(encUser.DesEncriptar());
                ///EJECUTA MÉTODO PARA RECUPERAR DETALLE DE AVISOS
                aviso.getGeneraListadoAvisos(aviso, 1);
                ///VERIFICA ÉXITO EN LA EJECUCIÓN DEL MÉTODO
                if (aviso.iResultado == 1)
                {
                    ///ASIGNA RESULTADOS A CAMPO
                    alblListadoAvisos.Text = aviso.sContenido;
                    ///MUESTRA EL MODAL
                    ClientScript.RegisterStartupScript(this.GetType(), "funcion", "<script>{$('#hdvAvisosUsuario').modal('show');}</script>");
                }
            }
        }
    }
示例#5
0
        public IActionResult Remover(int id)
        {
            Avisos a = _avisosDAO.BuscarPorId(id);

            _avisosDAO.RemoverAvisos(a);
            return(RedirectToAction("Index"));
        }
示例#6
0
        public void IngresarAvisos(EntityConnectionStringBuilder connection, Avisos av)
        {
            var context = new samEntities(connection.ToString());

            context.avisos_MDL(av.QMNUM,
                               av.QMART,
                               av.QMTXT,
                               av.TXT04_ES,
                               av.TXT04_EN,
                               av.TXT30_ES,
                               av.TXT30_EN,
                               av.TPLNR,
                               av.PLTXT,
                               av.EQUNR,
                               av.EQKTX,
                               av.BAUTL,
                               av.INGRP,
                               av.IWERK,
                               av.INNAM,
                               av.ARBPL,
                               av.SWERK,
                               av.KTEXT,
                               av.I_PARNR,
                               av.NAME_LIST,
                               av.PARNR_VERA,
                               av.NAME_VERA,
                               av.QMNAM,
                               av.QMDAT,
                               av.MZEIT,
                               av.QMGRP,
                               av.HEADKTXT,
                               av.FOLIO_SAM,
                               av.LVORM,
                               av.AUFNR);
        }
示例#7
0
        public void UpdateAviso(Avisos av, List <Avisos_usuarios> usList, string MoE)
        {
            try
            {
                OpenConnection();
                NpgsqlCommand cmdSave = new NpgsqlCommand("DELETE FROM avisos where id_aviso =@id", npgsqlConn);


                cmdSave.Parameters.Add("@id", NpgsqlTypes.NpgsqlDbType.Integer).Value = av.Id_aviso;

                cmdSave.ExecuteNonQuery();

                NpgsqlCommand cmdSave1 = new NpgsqlCommand("DELETE FROM avisos_usuarios where id_aviso = @id_aviso", npgsqlConn);
                cmdSave1.Parameters.Add("@id_aviso", NpgsqlTypes.NpgsqlDbType.Integer).Value = av.Id_aviso;
                cmdSave1.ExecuteNonQuery();
            }
            finally
            {
                CloseConnection();
                if (MoE == "M")
                {
                    Insertar(av, usList);
                }
            }
        }
        public void AddAvisos(Avisos pAviso)
        {
            pAviso.UsuarioCriacao   = UsuarioRobo();
            pAviso.UsuarioCriacaoId = pAviso.UsuarioCriacao.Id;
            pAviso.DtCriacao        = DateTime.Now;

            _avisosRep.Add(pAviso);
            _unitOfWork.Commit();
        }
        public void AtualizaDataAviso(Avisos avisos, int usuarioId)
        {
            Avisos AtuAviso = _avisosRep.GetSingle(avisos.Id);

            AtuAviso.DataUltimoAviso    = DateTime.Now;
            AtuAviso.UsuarioAlteracaoId = usuarioId;
            AtuAviso.DtAlteracao        = DateTime.Now;
            _unitOfWork.Commit();
        }
示例#10
0
    /// <summary>
    /// PAGE_LOAD
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    #region Page_Load
    protected void Page_Load(object sender, EventArgs e)
    {
        //Instancia a la clase SessionTimeOut
        SessionTimeOut obj_Session = new SessionTimeOut();
        //****************
        //se manda llamar al metodo de validar sesion
        bool bSessionE = obj_Session.IsSessionTimedOut();

        //***********

        //se valida la sesion
        if (!bSessionE)
        {
            //SE asigna el ID de usuario Loggeado
            ahddUser.Value = Session["iIdUsuario"].ToString();
            //**************************

            //Inicio TRY
            try
            {
                //Se declaran y crean los breadCrumbs
                string[] sDatos = { "Inicio", "Avisos" };
                string[] sUrl   = { "" };
                breadCrum.migajas(sDatos, sUrl);
                //*********************************
                ///MANDA LLAMAR MÉTODO PARA GENERAR DETALLE
                fn_generar_detalle_aviso(Session["iIdUsuario"].ToString());
                ///INSTANCIA A LA CLASE AVISOS
                Avisos aviso = new Avisos();
                ///VARIABLE PARA RECUPERAR ID DE USUARIO
                Security secUser = new Security(Session["iIdUsuario"].ToString());
                aviso.gsUsuario = int.Parse(secUser.DesEncriptar());
                ///SE MANDA LLAMAR MÉTODO PARA ACTUALIZAR ESTATUS
                aviso.getActualizarEstatusAviso(aviso, 2);
            }
            //*******
            //Inicio Catch
            catch
            {
                //si ocurre algun error se redirecciona al usuario al Inicio
                Response.Redirect("../Inicio/Inicio.aspx");
                //******
            }
            //******************
        }
        //**********
        else
        {
            //si se termino el tiempo de sesion se redirecciona al Login y se limpia sesion
            Session.Clear();
            Session.Abandon();
            Response.Redirect("../../Login.aspx");
            //***********
        }
        //*************
    }
示例#11
0
        public IActionResult Cadastrar(Avisos a)
        {
            if (_avisosDAO.Cadastrar(a))
            {
                return(RedirectToAction("Index"));
            }

            ModelState.AddModelError
                ("", "Esse produto já existe!");
            return(View());
        }
 public IActionResult Cadastrar([FromBody] Avisos av)
 {
     if (ModelState.IsValid)
     {
         if (_avisosDAO.Cadastrar(av))
         {
             return(Created("", av));
         }
         return(Conflict(new { msg = "Erro ao Cadastrar" }));
     }
     return(BadRequest(ModelState));
 }
示例#13
0
    public static Avisos fn_actualizar_estatus_aviso_usuario(string sIdUsuario)
    {
        ///
        Avisos aviso = new Avisos();
        ///
        Security secUser = new Security(sIdUsuario);

        ///
        aviso.gsUsuario = int.Parse(secUser.DesEncriptar());
        //
        aviso.getActualizarEstatusAviso(aviso, 1);
        ///
        return(aviso);
    }
        public ActionResult Edit(Finiquito model, HttpPostedFileBase[] files, string[] documento)
        {
            try
            {
                var id_reg = model.id_baja;
                var id_nov = _db.Finiquito.FirstOrDefault(x => x.id_baja == id_reg).id_novedad;

                var novedad = _db.Novedad.FirstOrDefault(x => x.id_novedad == id_nov);
                novedad.fecha_mod   = DateTime.Now;
                novedad.estado      = "P";
                novedad.usuario_mod = SesionLogin().id;
                var    usu   = _db.Usuario.FirstOrDefault(x => x.id == model.id_usu);
                Avisos aviso = _db.Avisos.FirstOrDefault(x => x.id_novedad == novedad.id_novedad);
                aviso.titulo_aviso = "Baja";
                aviso.desc_aviso   = usu.Nom_usu;
                aviso.fecha_aviso  = model.fecha_fin;
                _db.Avisos.Attach(aviso);
                _db.Entry(aviso).State = System.Data.Entity.EntityState.Modified;
                _db.Set <Finiquito>().AddOrUpdate(model);
                //_db.Finiquito.Attach(model);
                //_db.Entry(model).State = System.Data.Entity.EntityState.Modified;
                _db.SaveChanges();
                if (files[0] == null)
                {
                    return(JsonExito());
                }
                else
                {
                    int i = 0;
                    foreach (var item in files)// TODO
                    {
                        Documento documento_ = new Documento();
                        documento_.Novedad              = novedad;
                        documento_.Cliente              = _db.Cliente.FirstOrDefault(x => x.id_cliente == novedad.id_cliente);
                        documento_.id_novedad           = model.id_novedad;
                        documento_.categoria            = documento[i];
                        documento_.id_usu               = SesionLogin().id;
                        documento_.Novedad.Tipo_novedad = _db.Tipo_novedad.FirstOrDefault(x => x.id_tipo == novedad.tipo_nov);
                        try { helper.createFile(item, documento_); } catch (Exception e) { App_Start.ErrorService.LogError(e); }
                        i++;
                    }
                    return(JsonExito());
                }
            }
            catch (Exception e)
            {
                return(JsonError(e.Message, e));
            }
        }
示例#15
0
 public ActionResult MantAvisos(string titulo)
 {
     if (titulo == null)
     {
         List <Cliente> clientes = _db.Cliente.ToList();
         ViewBag.clientes = clientes;
         return(View());
     }
     else
     {
         List <Cliente> clientes = _db.Cliente.ToList();
         ViewBag.clientes = clientes;
         int    id    = Convert.ToInt32(titulo.Split('.')[0]);
         Avisos aviso = _db.Avisos.Where(a => a.id_avisos == id).FirstOrDefault();
         return(View(aviso));
     }
 }
示例#16
0
        public ActionResult Edit(Otra_solicitud model, string id_tipo, string fecha_novedad)
        {
            try
            {
                var tipo_nov = Convert.ToInt32(id_tipo);
                var id_reg   = model.id_otro;
                var id_nov   = _db.Otra_solicitud.FirstOrDefault(x => x.id_otro == id_reg).id_novedad;

                Novedad novedad = _db.Novedad.FirstOrDefault(x => x.id_novedad == id_nov);
                novedad.fecha_mod     = DateTime.Now;
                novedad.estado        = "P";
                novedad.usuario_mod   = SesionLogin().id;
                novedad.fecha_novedad = DateTime.Parse(fecha_novedad);
                model.Novedad         = novedad;
                model.Usuario         = _db.Usuario.FirstOrDefault(x => x.id == model.id_usu);
                if (model.cant_horas == null)
                {
                    model.cant_horas = "0";
                }


                Tipo_novedad tipo = _db.Tipo_novedad.FirstOrDefault(x => x.id_tipo == tipo_nov);

                string tipo_sol = tipo.nombre;

                Avisos aviso = _db.Avisos.FirstOrDefault(x => x.id_novedad == model.id_novedad);
                aviso.titulo_aviso = tipo_sol;
                aviso.desc_aviso   = model.descripcion;
                aviso.fecha_aviso  = novedad.fecha_novedad;
                aviso.id_cliente   = SesionCliente().id_cliente;

                model.id_novedad = novedad.id_novedad;
                _db.Avisos.Attach(aviso);
                _db.Entry(aviso).State = System.Data.Entity.EntityState.Modified;
                _db.Set <Otra_solicitud>().AddOrUpdate(model);
                //_db.Otra_solicitud.Attach(model);
                //_db.Entry(model).State = System.Data.Entity.EntityState.Modified;

                _db.SaveChanges();
                return(JsonExito());
            }
            catch (Exception e)
            {
                return(JsonError("Ocurrió un problema con su solicitud", e));
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            rprt.Load(Server.MapPath(@"~/Reports/AvisosPadres.rpt"));
            rprt.FileName = Server.MapPath(@"~/Reports/AvisosPadres.rpt");
            SqlConnection  con            = new SqlConnection(@"Data Source=sql5037.site4now.net;Initial Catalog=DB_A26FD9_SICOESHunucma;User Id= DB_A26FD9_SICOESHunucma_admin;Password=sicoeshunucma2018;");
            SqlCommand     cmd            = new SqlCommand("AvisoPadre", con);
            SqlDataAdapter sda            = new SqlDataAdapter(cmd);
            ConnectionInfo connectionInfo = new ConnectionInfo();

            connectionInfo.ServerName   = "sql5037.site4now.net";
            connectionInfo.DatabaseName = "DB_A26FD9_SICOESHunucma";
            connectionInfo.UserID       = "DB_A26FD9_SICOESHunucma_admin";
            connectionInfo.Password     = "******";
            SetDBLogonForReport(connectionInfo, rprt);
            rprt.SetParameterValue("@IDAviso", Convert.ToInt32(Session["AvisoReporteID"]));
            Avisos.ReportSource = rprt;
            Avisos.DataBind();
        }
示例#18
0
        private void AvisaAutoriza()
        {
            var tipo     = 0;
            var aprovado = 0;
            var status   = "ABERTO";


            var retorno = Avisos.TemAutoriza(int.Parse(Usuario.Codempresa), int.Parse(Usuario.Coddepartamento), tipo, aprovado, status);

            if (retorno != "")
            {
                piscarLabel();
            }
            else
            {
                tslAutoriza.Visible = false;
            }
        }
示例#19
0
        private void AvisaOficio()
        {
            var retorno = Avisos.TemAcessoOficio(int.Parse(Usuario.Codusuario));

            if (retorno != "")
            {
                // tipo = 1 - Oficicio, s
                retorno = Avisos.TemOficio(int.Parse(Usuario.Codempresa), int.Parse(Usuario.Coddepartamento), 0, 1, "ABERTO");

                if (retorno != "")
                {
                    tAviso.Interval = tAviso.Interval + 5000;

                    if (Usuario.Login == "renato")
                    {
                        return;
                    }
                    if (Usuario.Login == "R. DIEGO")
                    {
                        return;
                    }
                    if (Usuario.Login == "Administra")
                    {
                        return;
                    }

                    bool open = false;
                    foreach (Form form in this.MdiChildren)
                    {
                        if (form is AvisoReqOfc)
                        {
                            form.BringToFront();
                            open = true;
                        }
                    }
                    if (!open)
                    {
                        Form tela = new AvisoReqOfc();
                        tela.MdiParent = this;
                        tela.Show();
                    }
                }
            }
        }
示例#20
0
        public Principal()
        {
            InitializeComponent();

            CarregaPrincipal();

            if (Autenticacao.GetCodUsuario() == 1 || Autenticacao.GetCodUsuario() == 2 || Autenticacao.GetCodUsuario() == 3)
            {
                LiberaAdmin();
            }

            //INICIAÇÃO DO QUADRO DE AVISOS
            DateTime fim = DateTime.Now;

            if (Autenticacao.GetSituacaoUsuario() == 0 && fim.Day < 01 && fim.Month <= 01)
            {
                Avisos aviso = new Avisos();
                aviso.ShowDialog();
            }
        }
示例#21
0
        private async void RevisarNuevoasAvisos()
        {
            try
            {
                CargandoRefresh = true;
                await Task.Run(() => App.AvisosPrim.AvisosUpdate());

                AvisosEnviados       = App.AvisosPrim.GetAvisosEnviados(AlumnoIniciado.ClaveAlumnoIniciado);
                AvisosGeneralesCount = App.AvisosPrim.CountGenerales(AlumnoIniciado.NombreEscuela);
                Avisos.Clear();
                foreach (var item in AvisosEnviados)
                {
                    Avisos.Add(item);
                }
                CargandoRefresh = false;
            }
            catch (Exception ex)
            {
                Mensaje?.Invoke(ex.Message);
            }
        }
示例#22
0
    /// <summary>
    /// MÉTODO PARA ACTUALIZAR ESTATUS DE VISTO EN AVISOS
    /// </summary>
    /// <param name="aviso"></param>
    /// <param name="iTipo"></param>
    #region getActualizarEstatusAviso
    public void getActualizarEstatusAviso(Avisos aviso, int iTipo)
    {
        int iEXITO = 1;

        try {
            ///INSTANCIA A LA CLASE CONEXIÓN
            Conexion conn          = new Conexion();
            string   dFECHA_ACTUAL = DateTime.Now.ToString("yyyy-MM-dd");
            ///QUERY PARA EJECUTAR ACTUALIZACIÓN
            string sQuery = "";
            if (iTipo == 1)
            {
                sQuery = "UPDATE tb_Avisos SET iVisto = 1, dFechaVisto = dbo.fn_GetDate() WHERE iIdUsuario = " + aviso.gsUsuario + " AND (iVisto IS NULL OR iVisto = 0)";
            }
            else
            {
                sQuery = "UPDATE tb_Avisos SET iVistoSistema = 1, dFechaVistoSistema = dbo.fn_GetDate() WHERE iIdUsuario = " + aviso.gsUsuario + " AND (iVistoSistema IS NULL OR iVistoSistema = 0) AND '" + dFECHA_ACTUAL + " 00:00:00' BETWEEN dFechaInicio AND dFechaFin";
            }
            ///VARIABLE PARA ALMACENAR RESULTADO
            string sResultado = conn.ejecutarComando(sQuery);
            ///VERIFICA ÉXITO EN EJECUCIÓN
            if (sResultado == "1")
            {
                ///ASIGNA VARIABLES DE ÉXITO
                aviso.iResultado = iEXITO;
                aviso.sMensaje   = "Aviso actualizado con éxito.";
            }
            else
            {
                ///ASIGNA VARIABLES DE ERROR
                aviso.iResultado = 3;
                aviso.sMensaje   = "Error al gestionar avisos de usuario. " + sResultado;
            }
        } ///BLOQUE CATCH
        catch (Exception ex) {
            ///ASIGNA VARIABLES DE ERROR
            aviso.iResultado = 0;
            aviso.sMensaje   = "Error general al gestionar avisos de usuario. " + ex.Message;
        }
    }
示例#23
0
    public void getEncabezadoAvisos(Avisos resTabla)
    {
        ///varialbe con inicializaion de tabla
        string sResultado = "<div class='table-responsive'><table id='htblAviso' class='table table-striped table-bordered table-hover' cellspacing='0' width='100%'>" +
                            "<thead style='display:table-row-group;'>" +
                            "<tr>";

        ///variable arreglo que deposita nombre de las columnas
        string[] sHeader = new string[] { "TIPO AVISO", "DESCRIPCIÓN", "" };

        ///ciclo para agregar columna al header
        foreach (string sColumna in sHeader)
        {
            sResultado += "<th>" + sColumna + "</th>";
        }
        ///se cierra el header
        sResultado += "</tr></thead>";
        ///se abre footer de la tabla
        sResultado += "<tfoot style='display: table-header-group;'><tr>";
        ///ciclo para agregar columna de busqueda a footer
        foreach (string sColumna in sHeader)
        {
            ///Si la columna es Acción o Eliminar se omite filtro de búsqueda
            if (sColumna != "TIPO AVISO" && sColumna != "DESCRIPCIÓN" && sColumna != "")
            {
                sResultado += "<td><input type='text' style='width: 98%;' class='form-control input-sm' /></td>";
            }
            else
            {
                sResultado += "<td></td>";
            }
        }
        ///se cierra la tabla
        sResultado += "</tr></tfoot><tbody></tbody></table></div>";
        ///Se asigna el resultado a la variable sContenido
        resTabla.sContenido = sResultado;
        //retorno de tabla completa
    }
示例#24
0
    /// <summary>
    /// MÉTODO PARA GENERAR DETALLE DE AVISOS SIN VER
    /// </summary>
    /// <param name="sCveUser"></param>
    #region fn_generar_detalle_aviso
    public void fn_generar_detalle_aviso(string sCveUser)
    {
        ///
        Conexion conn = new Conexion();
        ///
        string dFECHA_ACTUAL = DateTime.Now.ToString("yyyy-MM-dd");
        ///Instancia a objeto para desencryptar id de usuario
        Security encUser = new Security(sCveUser.ToString());
        ///
        string sQuery = "SELECT COUNT(*) FROM tb_Avisos WHERE '" + dFECHA_ACTUAL + " 00:00:00' BETWEEN dFechaInicio AND dFechaFin AND iIdUsuario = " + encUser.DesEncriptar();

        string[] sTotal = conn.ejecutarConsultaRegistroSimple(sQuery);

        if (sTotal[0] == "1")
        {
            //ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "none","<script>$('#hdvAvisosUsuario').modal('show');</script>", false);
            if (sTotal[1] != "0")
            {
                ///INTANCIA A CLASE AVISOS
                Avisos aviso = new Avisos();
                ///ASIGNA ID DE USUARIO
                aviso.gsUsuario = int.Parse(encUser.DesEncriptar());
                ///MANDA LLAMAR MÉTODO PARA GENERAR LISTADO
                aviso.getGeneraListadoAvisos(aviso, 2);
                ///VERIFICA ÉXITO EN EJECUCIÓN
                if (aviso.iResultado == 1)
                {
                    ///ASIGNA CONTENIDO A VARIABLE
                    alblListadoAvisos.Text = aviso.sContenido;
                }
            }
            else
            {
                hdvAlertaAviso.Visible = true;
            }
        }
    }
示例#25
0
        public void InserirAvisos(Usuario usuario, TipoAviso tipoAviso,
                                  string tituloAviso, string descricaoAviso, string tooltip, string urlDestino,
                                  int modulo, int idReferencia)
        {
            var inserirAvisos = new Avisos
            {
                UsuarioCriacao      = usuario,
                DtCriacao           = DateTime.Now,
                DataUltimoAviso     = DateTime.Now,
                TipoAvisosId        = (int)tipoAviso,
                ExibeNaTelaAvisos   = true,
                TituloAviso         = tituloAviso,
                DescricaoAviso      = descricaoAviso,
                ToolTip             = tooltip,
                URLPaginaDestino    = urlDestino,
                ModuloId            = modulo,
                UsuarioNotificadoId = usuario.Id,
                IdReferencia        = idReferencia,
                Ativo = true
            };

            _avisosRep.Add(inserirAvisos);
            _unitOfWork.Commit();
        }
        public List <Usuario> UsuariosFornecedoresResponderCotacao(Cotacao pCotacao, int qtdHoraEnvioNotificacao)
        {
            var listaRetorno     = new List <Usuario>();
            var cotacaoesPedidos = _cotacaoPedidoRep.GetAll().Where(w => w.CotacaoId == pCotacao.Id).ToList();


            //resgatar todos fornecedores que deram lance na cotação
            var fornecedoresDeramLance = _resultadoCotacaoRep.FindBy(rc => rc.CotacaoId == pCotacao.Id).Select(s => s.Fornecedor).ToList();

            //pegar todos fornecedores que podem dar o lance na cotação
            var todosMembrosCotacao = cotacaoesPedidos.Select(s => s.Pedido.MembroId).ToList();
            var todosFornecedores   = _membroFornecedorRep.GetAll().Where(w => todosMembrosCotacao.Contains(w.MembroId)).Select(s => s.Fornecedor).ToList();

            //fazer distinção dos fornecedores que deram o lance e que podiam dar o lance, para separar os que ainda não deram
            var fornecedoresNaoDeramLance = todosFornecedores.Except(fornecedoresDeramLance).ToList();

            //Pegar todos Usuarios dos fornecedores que não deram lance
            var pFornecedores = fornecedoresNaoDeramLance.Select(s => s.Pessoa.Id).ToList();
            var listaUsuariosFornecedoresRespCotacao = _usuarioRep.GetAll().Where(u => pFornecedores.Contains(u.PessoaId)).ToList();

            var horaFechamentoCotcao = _cotacaoRep.FirstOrDefault(x => x.Id == pCotacao.Id).DtFechamento;
            var dataHoraParametro    = new TimeSpan(qtdHoraEnvioNotificacao, 0, 0).Subtract(new TimeSpan(0, 30, 0));

            listaUsuariosFornecedoresRespCotacao.ForEach(x =>
            {
                var enviaNotificacao = false;
                var aviso            = _avisosRep.FirstOrDefault(a => a.UsuarioNotificado.Id == x.Id && a.TipoAviso.Id == (int)TipoAviso.NovaCotacao);

                if (aviso == null)
                {
                    enviaNotificacao = (horaFechamentoCotcao - DateTime.Now) <= dataHoraParametro ? true : false;

                    if (enviaNotificacao)
                    {
                        var _aviso = new Avisos
                        {
                            UsuarioCriacaoId    = 1,
                            DtCriacao           = DateTime.Now,
                            Ativo               = true,
                            IdReferencia        = pCotacao.Id,
                            DataUltimoAviso     = DateTime.Now,
                            ExibeNaTelaAvisos   = true,
                            TipoAvisosId        = (int)TipoAviso.NovaCotacao, //Id TipoAviso para esse aviso
                            URLPaginaDestino    = "/#/cotacoes",
                            TituloAviso         = "Cotação Pendente de Resposta",
                            ToolTip             = "Cotação Pendente de Resposta",
                            DescricaoAviso      = "Cotação " + pCotacao.Id + " Pendente de Resposta",
                            ModuloId            = 4, //Modulo Fornecedor
                            UsuarioNotificadoId = x.Id
                        };

                        _avisosRep.Add(_aviso);
                        _unitOfWork.Commit();
                    }
                }
                else
                {
                    enviaNotificacao = (horaFechamentoCotcao - DateTime.Now) <= dataHoraParametro &&
                                       (DateTime.Now - aviso.DataUltimoAviso) >= dataHoraParametro ? true : false;
                }

                if (enviaNotificacao)
                {
                    listaRetorno.Add(x);
                    if (aviso != null)
                    {
                        AtualizaDataAviso(aviso, x.Id);
                    }
                }
            });

            return(listaRetorno);
        }
示例#27
0
    /// <summary>
    /// MÉTODO PARA GENERAR DETALLE DE AVISOS SIN VER
    /// </summary>
    /// <param name="aviso"></param>
    #region getGeneraListadoAvisos
    public void getGeneraListadoAvisos(Avisos aviso, int iTipo)
    {
        int iEXITO = 1;

        try {
            ///INSTANCIA A LA CLASE CONEXIÓN
            Conexion conn          = new Conexion();
            string   dFECHA_ACTUAL = DateTime.Now.ToString("yyyy-MM-dd");
            ///QUERY PARA RECUPERAR DATOS
            string sQuery = "";
            if (iTipo == 1)
            {
                sQuery = "SELECT iIdAviso, iIdUsuario, ctn.sDescripcion as sNombreAviso, sDescripcionAviso, sNombreArchivo, sNombreCarpeta, iVisto, iVistoSistema, sVersion, tng.iIdNotificacion, sNombreNotificacion " +
                         "FROM tb_Avisos tba JOIN ct_AvisosNotificacion cta ON cta.iIdNotificacion = tba.iIdNotificacion " +
                         "JOIN tb_NotificacionesGeneral tng On tng.iIdNotificacion = cta.iIdNotificacion JOIN cc_TipoAviso cca " +
                         "ON cca.iIdTipoAviso = tng.iIdTipoAviso JOIN cc_TipoAvisosNotificaciones ctn ON ctn.iIdTipoAvisoN = cta.iIdTipoAvisoN WHERE ISNULL(iVisto,0) NOT IN(1) AND iIdUsuario = " + aviso.gsUsuario;
            }
            else
            {
                sQuery = "SELECT iIdAviso, iIdUsuario, ctn.sDescripcion as sNombreAviso, sDescripcionAviso, sNombreArchivo, sNombreCarpeta, iVisto, iVistoSistema, sVersion, tng.iIdNotificacion, sNombreNotificacion " +
                         "FROM tb_Avisos tba JOIN ct_AvisosNotificacion cta ON cta.iIdNotificacion = tba.iIdNotificacion " +
                         "JOIN tb_NotificacionesGeneral tng On tng.iIdNotificacion = cta.iIdNotificacion JOIN cc_TipoAviso cca " +
                         "ON cca.iIdTipoAviso = tng.iIdTipoAviso JOIN cc_TipoAvisosNotificaciones ctn ON ctn.iIdTipoAvisoN = cta.iIdTipoAvisoN WHERE '" + dFECHA_ACTUAL + " 00:00:00' BETWEEN dFechaInicio AND dFechaFin AND iIdUsuario = " + aviso.gsUsuario;
            }
            ///
            DataSet dtsAviso = conn.ejecutarConsultaRegistroMultiplesDataSet(sQuery, "aviso");
            string  sRuta = ""; string sCampoAnterior = ""; int iContador = 0;
            string  sTabla = ""; int iTotal = 0;
            ///
            //aviso.sContenido += "<table id='htblDetalleAviso' class='table table-striped table-bordered table-hover' cellspacing='0' width='100%'>";
            //aviso.sContenido += "<thead><tr><th>TIPO AVISO</th><th>DESCRIPCIÓN</th><th></th></thead>";
            //aviso.sContenido += "<tbody>";
            ///VERIFICA EXISTENCIA DE DATOS
            if (dtsAviso.Tables["aviso"].Rows.Count > 0)
            {
                iTotal = dtsAviso.Tables["aviso"].Rows.Count;
                ///CICLO PARA RECORRER REGISTROS
                foreach (DataRow registro in dtsAviso.Tables["aviso"].Rows)
                {
                    ///
                    sRuta = "../../Documentos/NotificacionesGenerales/" + registro["sNombreCarpeta"].ToString() + "/" + registro["sNombreArchivo"].ToString();
                    ///INICIA CONSTRUCCIÓN ACCORDION
                    if (iContador == 0)
                    {
                        sContenido += "<div class='panel-group' id='accordion'>";
                    }
                    if ((sCampoAnterior != registro["iIdNotificacion"].ToString()) || iContador == 0)
                    {
                        if (iContador != 0)
                        {
                            sContenido += "</tbody></table>";
                            sContenido += "</div></div>";
                            sContenido += "</div></div>";
                            ///FIN CONTENIDO
                            sContenido += "</div>";
                            ///FIN DIVISIÓN
                            sContenido += "</div>";
                        }
                        sTabla = "";
                        ///INICIA DIVISIÓN
                        sContenido += "<div class='panel panel-default' style='border-bottom:2px solid #1d6688;'>";
                        ///INICA HEADER
                        sContenido += "<div class='panel-heading' data-toggle='collapse' data-target='#collapse" + registro["iIdNotificacion"].ToString() + "' style='padding:5px 5px;background-color:#FFF; border: 1px solid #1d6688 !important; cursor:pointer;'>";
                        sContenido += "<div class='col-xs-11' style='display:inline;'>";
                        sContenido += "<h4 class='panel-title' style='vertical-align: middle;display:inline;'>" + registro["sNombreNotificacion"].ToString() + "</h4>";
                        sContenido += "</div>";
                        sContenido += "<div style='display:inline;padding-left:5%;'>";
                        sContenido += "<span class='glyphicon glyphicon-triangle-bottom text-right'></span>";
                        sContenido += "</div>";
                        ///FIN HEADER
                        sContenido += "</div>";
                        ///INICIO CONTENIDO
                        sContenido += "<div id='collapse" + registro["iIdNotificacion"].ToString() + "' class='panel-collapse collapse' style='background-color:#f5f5f5'>";
                        sContenido += "<div class='panel-body' style='padding: 5px 0px;'>";
                        sContenido += "<div class='container-fluid'>";
                        string sVersion = (registro["sVersion"].ToString() == "") ? "N/A" : registro["sVersion"].ToString();
                        sContenido += "<div class='row'>" +
                                      "<div class='col-xs-12 col-sm-12 col-md-12 col-lg-12 text-right'>" +
                                      "<label class='text-azul'>Versión: </label> <span>" + sVersion + "</span>" +
                                      "</div>" +
                                      "</div>";
                        sContenido += "<div class='row'>" +
                                      "<div class='col-xs-12 col-sm-12 col-md-12 col-lg-12 table-responsive'>";
                        ////
                        sContenido += "<table class='table table-striped table-bordered table-hover htblDetalleAviso' cellspacing='0' width='100%'>" +
                                      "<thead><tr><th>TIPO AVISO</th><th>DESCRIPCIÓN</th><th></th></thead>" +
                                      "<tbody>";
                        sContenido += "<tr>";
                        sContenido += "<td>" + registro["sNombreAviso"].ToString() + "</td>";
                        sContenido += "<td>" + registro["sDescripcionAviso"].ToString() + "</td>";
                        ///VERIFICA EXISTENCIA DE DOCUMENTO
                        if (registro["sNombreArchivo"].ToString() != "")
                        {
                            sContenido += "<td><a class='glyphicon glyphicon-download icon_blue icono-15' href='" + sRuta + "' download></a></td>";
                        }
                        else
                        {
                            sContenido += "<td></td>";
                        }
                        sContenido += "</tr>";
                        //sContenido += "</div>";
                        //sContenido += "</div>";
                        /////FIN CONTENIDO
                        //sContenido += "</div>";
                        /////FIN DIVISIÓN
                        //sContenido += "</div>";
                    }
                    else
                    {
                        sContenido += "<tr>";
                        sContenido += "<td>" + registro["sNombreAviso"].ToString() + "</td>";
                        sContenido += "<td>" + registro["sDescripcionAviso"].ToString() + "</td>";
                        ///VERIFICA EXISTENCIA DE DOCUMENTO
                        if (registro["sNombreArchivo"].ToString() != "")
                        {
                            sContenido += "<td><a class='glyphicon glyphicon-download icon_blue icono-15' href='" + sRuta + "' download></a></td>";
                        }
                        else
                        {
                            sContenido += "<td></td>";
                        }
                        sContenido += "</tr>";
                    }

                    //aviso.gsVersion = registro["sVersion"].ToString();
                    ////
                    //aviso.sContenido += "<tr>";
                    //aviso.sContenido += "<td>" + registro["sNombreAviso"].ToString() + "</td>";
                    //aviso.sContenido += "<td>" + registro["sDescripcionAviso"].ToString() + "</td>";
                    /////VERIFICA EXISTENCIA DE DOCUMENTO
                    //if (registro["sNombreArchivo"].ToString() != "")
                    //    aviso.sContenido += "<td><a class='glyphicon glyphicon-download icon_blue icono-15' href='" + sRuta + "' download></a></td>";
                    //else
                    //    aviso.sContenido += "<td></td>";
                    //aviso.sContenido += "</tr>";


                    if ((iContador + 1) == iTotal)
                    {
                        sContenido += "</tbody></table>";
                        sContenido += "</div></div>";
                        sContenido += "</div></div>";
                        ///FIN CONTENIDO
                        sContenido += "</div>";
                        ///FIN DIVISIÓN
                        sContenido += "</div>";
                        ///FIN CONSTRUCCIÓN ACCORDION
                        sContenido += "</div>";
                    }
                    sCampoAnterior = registro["iIdNotificacion"].ToString();
                    iContador++;
                }
            }
            ///
            //aviso.sContenido += "</tbody>";
            //aviso.sContenido += "</table>";
            aviso.iResultado = 1;
        } ///BLOQUE CATCH
        catch (Exception ex) {
            ///ASIGNA VARIABLES DE ERROR
            aviso.iResultado = 0;
            aviso.sMensaje   = "Error al recuperar detalle de avisos. " + ex.Message;
        }
    }
示例#28
0
 public IActionResult Alterar(Avisos a)
 {
     _avisosDAO.AlterarAvisos(a);
     return(RedirectToAction("Index"));
 }
示例#29
0
        private WebService servidor; //ligação ao servidor


        public Aviso()
        {
            InitializeComponent();
            NavigationPage.SetHasNavigationBar(this, false);

            Device.BeginInvokeOnMainThread(() =>
            {
                try
                {
                    //Usa o api webservice.cs && model avisos para constuir a lista
                    servidor = new WebService();
                    List <Avisos> ListaAvisos = JsonConvert.DeserializeObject <List <Avisos> >(servidor.PedidoServidor("http://ismtapp.ismtprogramacao.x10host.com/api/avisosapi").ReadLine());

                    foreach (Avisos aviso in ListaAvisos)
                    {
                        if (aviso.tipo == "0")
                        {
                            //Cria uma nova label e adiciona ao stacklayout com o nome de stackGerais
                            Label text = new Label {
                                Text = aviso.aviso, TextColor = Color.White, Margin = new Thickness(10, 0, 0, 0), FontSize = 12, FontFamily = Device.RuntimePlatform == Device.iOS ? "Raleway-Light" : Device.RuntimePlatform == Device.Android ? "Raleway-Light.ttf#Raleway-Light" : null
                            };


                            var tapGestureRecognizer     = new TapGestureRecognizer();
                            tapGestureRecognizer.Tapped += (sender, e) =>
                            {
                                var avisoId = new Avisos
                                {
                                    aviso = aviso.aviso,
                                    texto = aviso.texto,
                                };

                                var newPage            = new AvisosId();
                                newPage.BindingContext = avisoId;
                                App.Current.MainPage   = new Menu {
                                    Detail = new NavigationPage(newPage)
                                };
                            };

                            text.GestureRecognizers.Add(tapGestureRecognizer);

                            stackGerais.Children.Add(text);
                        }
                        else if (aviso.tipo == "1" && GlobalVariables.permissao == "1")
                        {
                            //Cria uma nova label e adiciona ao stacklayout com o nome de stackRestrito
                            Label text = new Label {
                                Text = aviso.aviso, TextColor = Color.White, Margin = new Thickness(10, 0, 0, 0), FontSize = 12, FontFamily = Device.RuntimePlatform == Device.iOS ? "Raleway-Light" : Device.RuntimePlatform == Device.Android ? "Raleway-Light.ttf#Raleway-Light" : null
                            };

                            var tapGestureRecognizer     = new TapGestureRecognizer();
                            tapGestureRecognizer.Tapped += (sender, e) =>
                            {
                                var avisoId = new Avisos
                                {
                                    aviso = aviso.aviso,
                                    texto = aviso.texto,
                                };

                                var newPage            = new AvisosId();
                                newPage.BindingContext = avisoId;
                                App.Current.MainPage   = new Menu {
                                    Detail = new NavigationPage(newPage)
                                };
                            };

                            text.GestureRecognizers.Add(tapGestureRecognizer);

                            stackRestrito.Children.Add(text);
                        }
                    }
                }
                catch (Exception e)
                {
                    DisplayAlert("Alerta", "Verifique sua conexão à Internet", "OK");
                    Console.Write(e);
                }
            });
        }
示例#30
0
        public void EmailNotificacaoMembro(List <Pedido> pedidos)
        {
            try
            {
                Usuario usuario = _usuarioRep.GetSingle(SessaoEconomiza.UsuarioId);
                var     corpoEmailComFornecedor = _templateEmail.FirstOrDefault(e => e.Id == 17).Template;
                var     corpoEmailSemFornecedor = _templateEmail.FirstOrDefault(e => e.Id == 33).Template;

                int statusPedidoSemFornecedor = BuscaStatusSistema(12, 9).Id;

                if (pedidos.Count > 0)
                {
                    if (corpoEmailComFornecedor != null && corpoEmailSemFornecedor != null)
                    {
                        foreach (var pedido in pedidos)
                        {
                            List <Usuario> usuarios = _usuarioRep.GetAll().Where(u => u.PessoaId == pedido.Membro.PessoaId).ToList();

                            //Aviso e Email para Membro Pedido sem Fornecedor (Todos os itens sem valor)
                            if (pedido.StatusSistemaId == statusPedidoSemFornecedor)
                            {
                                foreach (var usu in usuarios)
                                {
                                    Emails emails = new Emails
                                    {
                                        Ativo             = true,
                                        UsuarioCriacao    = usuario,
                                        DtCriacao         = DateTime.Now,
                                        AssuntoEmail      = "Pedido " + pedido.Id + " com itens sem estoque.",
                                        EmailDestinatario = usu.UsuarioEmail,
                                        CorpoEmail        = corpoEmailSemFornecedor.Trim(),
                                        Status            = Status.NaoEnviado,
                                        Origem            = Origem.NovaCotacao
                                    };
                                    //Envia EMAIL para fornecedor
                                    _emailsNotificaoRep.Add(emails);
                                }
                            }
                            //Aviso e Email para Membro Pedido Com Fornecedor
                            else
                            {
                                foreach (var usu in usuarios)
                                {
                                    var membro = _membroRep.FirstOrDefault(x => x.PessoaId == usu.PessoaId);

                                    if (_notificacoesAlertasService.PodeEnviarNotificacao(usu.Id, 1, TipoAlerta.EMAIL))
                                    {
                                        Emails emails = new Emails
                                        {
                                            UsuarioCriacao = usuario,
                                            DtCriacao      = DateTime.Now,
                                            //  AssuntoEmail = "Aprovação Pedido - Corra e aprove seu pedido " + pedido.Id + ".",

                                            AssuntoEmail      = "Corra aprove seu pedido " + pedido.Id + " valores validos por 2 dias, evite o cancelamento",
                                            EmailDestinatario = usu.UsuarioEmail,
                                            CorpoEmail        = corpoEmailComFornecedor.Replace("#NomeFantasia#", membro.Pessoa.TipoPessoa == TipoPessoa.PessoaJuridica ? membro.Pessoa.PessoaJuridica.NomeFantasia: membro.Pessoa.PessoaFisica.Nome).Trim(),
                                            Status            = Status.NaoEnviado,
                                            Origem            = Origem.NovaCotacao
                                        };
                                        //Envia EMAIL para fornecedor
                                        _emailsNotificaoRep.Add(emails);
                                    }

                                    // Inserir Alerta Para Membro
                                    Avisos locAviso = new Avisos();
                                    locAviso.UsuarioCriacao = usuario;
                                    locAviso.DtCriacao      = DateTime.Now;
                                    locAviso.Ativo          = true;
                                    //Pedido = item,
                                    locAviso.IdReferencia        = pedido.Id;
                                    locAviso.DataUltimoAviso     = DateTime.Now;
                                    locAviso.ExibeNaTelaAvisos   = true;
                                    locAviso.TipoAvisosId        = (int)TipoAviso.PedidoPendentedeAceiteMembro;
                                    locAviso.URLPaginaDestino    = "/#/meusPedidos";
                                    locAviso.TituloAviso         = "Aceite Pendente";
                                    locAviso.ToolTip             = "";
                                    locAviso.DescricaoAviso      = "Aceite Pendente do pedido " + pedido.Id;
                                    locAviso.ModuloId            = 3; //Modulo Membro
                                    locAviso.UsuarioNotificadoId = usu.Id;

                                    _avisosRep.Add(locAviso);
                                }
                            }

                            //Commit
                            _unitOfWork.Commit();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }