Weblogs Código

RecorteX

73 usuarios y 243 recortes de código
Usuario

Contraseña
Crear cuenta
asp csharp css fechas Flash html imagenes java javascript linux mysql oracle php sql SQLServer url vbnet web xhtml xml
Top Usuarios
fjmp76 (42)
albin (31)
josuebasurto (31)
juanjo (30)
pedrocaro (9)
stanz (8)
AndiXTRM (7)
Joserra (7)
miiglesi (6)
aplyca (5)
Top Etiquetas
php (38)
vbnet (28)
javascript (26)
html (25)
csharp (25)
java (24)
sql (18)
xml (13)
mysql (13)
css (10)
xhtml (7)
Flash (7)
imagenes (7)
linux (6)
asp (6)
fechas (6)
oracle (5)
url (5)
web (5)
SQLServer (5)
RecorteX es un repositorio público de código.
Puedes crear tu colección personal de recortes y compartirlos con todo el mundo.
Regístrate y participa.

Escribir al Log de eventos

 
  public static void WriteToEventLog(string message)
        {
            string cs = "BkSso";
            EventLog elog = new EventLog();
            if (!EventLog.SourceExists(cs))
            {
                EventLog.CreateEventSource(cs, cs);
            }
            elog.Source = cs;
            elog.EnableRaisingEvents = true;
            elog.WriteEntry(message);
        }
 

Encontrar texto entre parentesis

Encontrar texto entre parentesis

 
  string output = txt.Split(new char[] { '(', ')' })[1];
 

SortableBindingList para Winforms

SortableBindingList para Winforms

hay que agregar el evento ColumnHeaderMouseClick al dataGridView

 
        private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            SortOrder order = this.dataGridView1.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection;
            ListSortDirection _direction = (order == SortOrder.Descending) ? ListSortDirection.Descending : ListSortDirection.Ascending;
            this.dataGridView1.Sort(dataGridView1.Columns[e.ColumnIndex], _direction);
        }
 

Y la lista que usemos será la SortableBindingList del objeto

 
      public class SortableBindingList<T> : BindingList<T>
    {
        private ArrayList sortedList;
        private bool isSortedValue;
 
        public SortableBindingList()
        {
        }
 
        public SortableBindingList(IList<T> list)
        {
            foreach (object o in list)
            {
                this.Add((T)o);
            }
        }
 
        protected override bool SupportsSortingCore
        {
            get { return true; }
        }
 
 
        protected override bool IsSortedCore
        {
            get { return isSortedValue; }
        }
 
        ListSortDirection sortDirectionValue;
        PropertyDescriptor sortPropertyValue;
 
        protected override void ApplySortCore(PropertyDescriptor prop,
            ListSortDirection direction)
        {
            sortedList = new ArrayList();
 
            Type interfaceType = prop.PropertyType.GetInterface("IComparable");
 
            if (interfaceType == null && prop.PropertyType.IsValueType)
            {
                Type underlyingType = Nullable.GetUnderlyingType(prop.PropertyType);
 
                if (underlyingType != null)
                {
                    interfaceType = underlyingType.GetInterface("IComparable");
                }
            }
 
            if (interfaceType != null)
            {
                sortPropertyValue = prop;
                sortDirectionValue = direction;
 
                IEnumerable<T> query = base.Items;
                if (direction == ListSortDirection.Ascending)
                {
                    query = query.OrderBy(i => prop.GetValue(i));
                }
                else
                {
                    query = query.OrderByDescending(i => prop.GetValue(i));
                }
                int newIndex = 0;
                foreach (object item in query)
                {
                    this.Items[newIndex] = (T)item;
                    newIndex++;
                }
                isSortedValue = true;
                this.OnListChanged(new ListChangedEventArgs(ListChangedType.Reset, -1));
 
            }
            else
            {
                throw new NotSupportedException("Cannot sort by " + prop.Name +
                    ". This" + prop.PropertyType.ToString() +
                    " does not implement IComparable");
            }
        }
 
        protected override PropertyDescriptor SortPropertyCore
        {
            get { return sortPropertyValue; }
        }
 
        protected override ListSortDirection SortDirectionCore
        {
            get { return sortDirectionValue; }
        }
 
    }
 

Redirect and Post in asp.net

Algo como Response.Redirect, pero para metodos post en vez de get

 
public static void RedirectAndPOST(Page page, string destinationUrl, NameValueCollection data)
{
//Prepare the Posting form
string strForm = PreparePOSTForm(destinationUrl, data);
//Add a literal control the specified page holding 
//the Post Form, this is to submit the Posting form with the request.
page.Controls.Add(new LiteralControl(strForm));
}
 
private static String PreparePOSTForm(string url, NameValueCollection data)
{
    //Set a name for the form
    string formID = "PostForm";
    //Build the form using the specified data to be posted.
    StringBuilder strForm = new StringBuilder();
    strForm.Append("<form id=\"" + formID + "\" name=\"" + 
                   formID + "\" action=\"" + url + 
                   "\" method=\"POST\">");
 
    foreach (string key in data)
    {
        strForm.Append("<input type=\"hidden\" name=\"" + key + 
                       "\" value=\"" + data[key] + "\">");
    }
 
    strForm.Append("</form>");
    //Build the JavaScript which will do the Posting operation.
    StringBuilder strScript = new StringBuilder();
    strScript.Append("<script language='javascript'>");
    strScript.Append("var v" + formID + " = document." + 
                     formID + ";");
    strScript.Append("v" + formID + ".submit();");
    strScript.Append("</script>");
    //Return the form and the script concatenated.
    //(The order is important, Form then JavaScript)
    return strForm.ToString() + strScript.ToString();
}
 

Serializar y deserializar a xml cualquier objeto

 
//Serializar a XML (UTF-8) un objeto cualquiera 
        public static string SerializeToXml(this object obj)
        {
            try
            {
                var serializer = new XmlSerializer(obj.GetType());
                //Create our own namespaces for the output
                XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
                //Add an empty namespace and empty value
                ns.Add("", "");
                string utf8;
                using (StringWriter writer = new Utf8StringWriter())
                {
                    serializer.Serialize(writer, obj, ns);
                    utf8 = writer.ToString();
                }
 
                return utf8;
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }
 
//Deserializar un XML a un objeto T 
        public static T DeserializeTo<T>(this string xmlSerializado)
        {
            try
            {
                XmlSerializer xmlSerz = new XmlSerializer(typeof(T));
 
                using (StreamReader strReader = new StreamReader(xmlSerializado,Encoding.UTF8))
                {
                    object obj = xmlSerz.Deserialize(strReader);
                    return (T)obj;
                }
            }
 

Cambiar de string a byte[] de byte[] a string

 
static byte[] GetBytes(string str)
{
    byte[] bytes = new byte[str.Length * sizeof(char)];
    System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
    return bytes;
}
 
static string GetString(byte[] bytes)
{
    char[] chars = new char[bytes.Length / sizeof(char)];
    System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
    return new string(chars);
}
 

llamando form con jquery en symfony2

esta parte va en el view

 
 
<h3>Manejo Bodega</h3>
 
<form id='formBodega' action="{{ path(action,{'id': idPro}) }}" method="post">
        {{ form_widget(form) }}
        <input type="submit" value="Guardar" class="symfony-button-ajax"/>
    </form>
 
 
<script type="text/javascript">
            {# añadirmos una función al evento click de todos los enlaces a.notice_link, para
usar AJAX en vez de su comportamiento por defecto #}
$(document).ready(function(){
    $('input.symfony-button-ajax').click(function(event){
        event.preventDefault(); //cancela el comportamiento por defecto
        
        //alert("lol");
        
        $.ajax({
            type: "POST",
            url: $('#formBodega').attr('action'),
            data: $('#formBodega').serialize(),
            //cache: false,
            success: function(data){
                //$('#index-response').load($(this).attr('href'));
                $('#index-response').html(data);
                //alert("Success!");
                // Output something                  
            }});
        
        
        //$('#index-response').load($(this).attr('href')); //carga por ajax a la capa "notice_viewer"
    });
});
{# añadirmos una función al evento click de todos los enlaces a.notice_link, para
usar AJAX en vez de su comportamiento por defecto #}
       
            </script>
 

Ver foreign keys en la bd

Escribe aquí el texto

 
  
SELECT f.name AS ForeignKey,
OBJECT_NAME(f.parent_object_id) AS TableName,
COL_NAME(fc.parent_object_id,
fc.parent_column_id) AS ColumnName,
OBJECT_NAME (f.referenced_object_id) AS ReferenceTableName,
COL_NAME(fc.referenced_object_id,
fc.referenced_column_id) AS ReferenceColumnName
FROM sys.foreign_keys AS f
INNER JOIN sys.foreign_key_columns AS fc
ON f.OBJECT_ID = fc.constraint_object_id
 

Arrancar JVM con debug remoto activado

Se debe utilizar el siguiente parámetro de arranque:


  -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n

Web Reference dinamico C# VS2010

Me topé con el problema siguiente.

Yo hice un producto (web service) que dependia de un web service previamente instalado (Creado por otro desarrollador en otro momento) que es prerequisito de mi webservice.

El chiste es que lo habia tomado de un url, pero cuando cambió al reconfigurar el web.config no tomo el cambio ya que se habia quedado hardcoded.

aparte de hacer lo de la siguiente solucion:
http://www.codeproject.com/Articles/12317/How-to-make-your-Web-Reference-proxy-URL-dynamic
lo que hice fue agregarle este codigo en Resources.cs (Codigo autogenerado).

WEB.CONFIG

 
<?xml version="1.0"?>
<configuration>
  ...
  <appSettings>
    ...
    <add key="LLAVE" value="http://servidor/carpeta/webservice.dll/soap/IProceso"/>
    ...
  </appSettings>
</configuration>
 

REFERENCE.CS

 
 
        protected static string GetApplicationSettings(string sKey)
        {
            string sValue = null;
            //check if the AppSettings section has items
            if (System.Web.Configuration.WebConfigurationManager.AppSettings.Count > 0)
            {
                sValue = System.Web.Configuration.WebConfigurationManager.AppSettings[sKey];
            }
            return sValue;
        }
 
        /// <remarks/>
        public IProcesosWSservice() {
            string TressProcesos = GetApplicationSettings("LLAVE");
            this.Url = TressProcesos;
            if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
                this.UseDefaultCredentials = true;
                this.useDefaultCredentialsSetExplicitly = false;
            }
            else {
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
 
Proyecto: Juanjo Navarro, 2006 - Diseño: Albin