コード例 #1
0
 public static bool EsMovil(int idLoteo)
 {
   try
   {
     co_rl_loteoscanales loteoscanales =
       new bf_rl_loteoscanales().GetData(new co_rl_loteoscanales { id_loteo = { id = idLoteo }, id_canal = { id = Constantes.Constantes.CANAL_MOVIL } }).FirstOrDefault();
     return loteoscanales != null && loteoscanales.id_loteocanal != 0;
   }
   catch (Exception)
   {
     return false;
   }
 }
コード例 #2
0
 private void CargarCanales(int idLoteo)
 {
   try
   {
     IList<co_rl_loteoscanales> lstCanalesRemates = new bf_rl_loteoscanales().GetData(new co_rl_loteoscanales { id_loteo = { id = idLoteo } });
     foreach (co_rl_loteoscanales item in lstCanalesRemates)
     {
       cmbCanales.SelectedItems.Add(new ListItem(item.id_canal.id));
     }
   }
   catch (Exception)
   {
     Mensajes.Error(ErrorText.ERROR_CARGAR_CANALES);
   }
 }
コード例 #3
0
    /// <summary>
    /// Metodo que Notifica al Usuario Movil acerca del Lote de acuerdo a sus preferencias
    /// </summary>
    /// <param name="idLote"></param>
    /// <param name="idRemate"></param>
    public static string NotificarTest(int idLote, int idRemate)
    {
      string mensaje = string.Empty;
      try
      {
        getTransaccion();
        co_rl_loteos lote = new bf_rl_loteos().GetData(idLote);
        co_re_remates remate = new bf_re_remates().GetData(idRemate);
        //valido que el remate no sea nulo
        if (remate != null)
        {
          //valido q el remate esta publicado
          if (remate.id_remateEstadoWeb.id == PUBLICADO)
          {
            //valido que el lote no sea nulo
            if (lote != null)
            {
              //valido q este marcado como activo
              if (lote.id_loteoestado.id == LOTE_ACTIVO)
              {
                //una vez validado los estados valido que este marcado como movil
                co_rl_loteoscanales canal = new bf_rl_loteoscanales().GetData(new co_rl_loteoscanales { id_loteo = { id = lote.id_loteo }, id_canal = { id = CANAL_MOVIL } }).FirstOrDefault();
                if (canal != null)
                {
                  getTransaccion();
                  //realizo la instancia del wsdl para la notificacion.
                  WsNotificacion notificacion = new WsNotificacionClient();

                  //obtengo todos los lotes del remate con la opcion de canal movil
                  var mvSubcategorias =
                    new bf_mv_mosubcategorias_subcategorias().GetData(new co_mv_mosubcategorias_subcategorias
                    {
                      id_subcategoria = lote.id_subcategoria
                    });
                  string subcategoriasMovil = mvSubcategorias.Aggregate(string.Empty,
                    (current, sb) => current + sb.id_mosubcategoria.id + ",");
                  if (subcategoriasMovil.Length > 0)
                  {
                    subcategoriasMovil = subcategoriasMovil.Substring(0, (subcategoriasMovil.Length - 1));
                  }else
                  {
                    subcategoriasMovil = @"0";
                  }

                  var usuariosWeb = new bf_ca_usuariosweb().getUsuariosSubcategoriasMovil(subcategoriasMovil);
                  //verifico si hay usuario a los que notificar de lo contrario no hago nada
                  if (usuariosWeb.Any())
                  {
                    Publicacion publicacion = new Publicacion
                    {
                      esRemate = EsRemate(remate),
                      id = lote.id_loteo,
                      titulo = lote.lo_titulo
                    };
                    IList<Usuario> usuarios = new List<Usuario>();
                    string nombreCompleto = string.Empty;
                    foreach (var usu in usuariosWeb)
                    {
                      int uuid = 1749;
                      nombreCompleto = usu.pe_nombrecompleto;
                      usuarios.Add(new Usuario { uuid = uuid.ToString(), nombre = nombreCompleto });
                    }
                    publicacion.Usuarios = usuarios.ToArray();

                    NotificarRequest notificarRequest = new NotificarRequest
                    {
                      DatosTransaccion = _transaccion,
                      Publicacion = publicacion
                    };

                    NotificarResponse response = notificacion.Notificar(notificarRequest);
                    //guardo la respuesta realizada por el WebService
                    GuardarResponseMovil(response, lote.id_loteo, remate.id_remate, publicacion);

                    mensaje = "Lote Notificado Exitosamente.";
                  }else
                  {
                    mensaje = "No hay usuarios al cual Notificar.";
                  }
                }
                else
                {
                  mensaje = "Debe Seleccionar Canal Movil para poder notificar";
                }
              }
              else
              {
                mensaje = "Lote debe estar con estado ACTIVO para poder notificar";
              }
            }
            else
            {
              mensaje = "Lote Nulo";
            }
          }
          else
          {
            mensaje = "Remate debe estar PUBLICADO para poder notificar.";
          }
        }
        else
        {
          mensaje = "Remate Nulo";
        }
      }
      catch (Exception ex)
      {
        return "Error al notificar <br>" + ex.Message;
      }
      return mensaje;
    }