Pasos
Buscar contenidos
viernes, 28 de abril de 2017
jueves, 27 de abril de 2017
Transformaciones Web.config para cada ambiente
Link de artículo
Paso #1
Paso #2
Paso#3
Ejemplo #1
<configuration>
<appSettings>
<add key="APIKey" value="5200eb9e591cc4a19178f8fac1c210fc"/>
<add key="Secret" value="e957123205f4a7f7a95e2d352bcaf444"/>
<add key="ServiceBase" value="http://localhost:49396/"/>
<add key="Callback" value="http://localhost:26813/101FTB/"/>
</appSettings>
<connectionStrings>
<add name="MyDBConnectionString" connectionString="Data Source=localhost;Initial Catalog=FreeTechBooks;User ID=Guest" providerName="System.Data.SqlClient"/>
</connectionStrings>
...
</configuration>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<add value="a44a569d89f09862bdeac3e9e7c155aa" xdt:Transform="SetAttributes(value)" xdt:Locator="Condition(@key='APIKey')"/>
<add value="9a6e6fbda2558fad51f25b7f62bad80d" xdt:Transform="SetAttributes(value)" xdt:Locator="Condition(@key='Secret')"/>
<add value="http://www.mysitelive.com/" xdt:Transform="SetAttributes(value)" xdt:Locator="Condition(@key='ServiceBase')"/>
<add value="http://fbapps.mysitelive.com/myapplive/" xdt:Transform="SetAttributes(value)" xdt:Locator="Condition(@key='Callback')"/>
</appSettings>
<connectionStrings>
<add name="MyDBConnectionString"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
<system.web>
</system.web>
</configuration>
Ejemplo #2
Web.config
<tokenValidatorSection validateTokenSignature="true" certificateStoreName="My" certificateStoreLocation="CurrentUser" />
Web.Debug.config
<tokenValidatorSection validateTokenSignature="true" certificateStoreName="Root" certificateStoreLocation="LocalMachine" xdt:Transform="SetAttributes(certificateStoreName,certificateStoreLocation)" />
lunes, 24 de abril de 2017
Expresiones Regulares Imprescindibles
...una expresión regular (o patrón) es una expresión que describe un conjunto de cadenas sin enumerar sus elementos.
Link artículo
Validar una URL:
/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \?=.-]*)*\/?$/
Validar un E-mail:
^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$
Comprobar la seguridad de una contraseña:
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$
De esta forma comprobaremos:
Contraseñas que contengan al menos una letra mayúscula.
Contraseñas que contengan al menos una letra minúscula.
Contraseñas que contengan al menos un número o caracter especial.
Contraseñas cuya longitud sea como mínimo 8 caracteres.
Contraseñas cuya longitud máxima no debe ser arbitrariamente limitada.
Validar un número de teléfono:
^\+?\d{1,3}?[- .]?\(?(?:\d{2,3})\)?[- .]?\d\d\d[- .]?\d\d\d\d$
Validar número de tarjeta de crédito:
^((67\d{2})|(4\d{3})|(5[1-5]\d{2})|(6011))(-?\s?\d{4}){3}|(3[4,7])\ d{2}-?\s?\d{6}-?\s?\d{5}$
Validar una dirección IP:
/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/
Validar un nombre de usuario:
/^[a-z\d_]{4,15}$/i
Con un mínimo de 4 y un máximo de 15 caracteres, además el nombre estaría utilizando sólo caracteres de la A-z y números
viernes, 21 de abril de 2017
Concepto del lenguaje XSLT ?
XSLT (eXtensible Stylesheet Language for Transformations) es un lenguaje que permite aplicar una transformación a un documento XML para obtener otro documento XML, un documento HTML o un documento de texto plano.
Link artículo
Método de transformación
public static string
Transform_Xslt_Xml(string xmlContent, string
XsltContent)
{
string output = String.Empty;
using (StringReader srt = new StringReader(XsltContent))
using (StringReader sri = new StringReader(xmlContent)) {
using (XmlReader xrt = XmlReader.Create(srt))
using (XmlReader xri = XmlReader.Create(sri))
{
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(xrt);
using (StringWriter sw = new StringWriter())
using (XmlWriter xwo = XmlWriter.Create(sw,
xslt.OutputSettings))
{
xslt.Transform(xri,
xwo);
output = sw.ToString();
}
}
}
return output;
}
Ejemplo de uso:
Código Fuente
https://www.xmltutorial.info/xslt/xslvariable/
<xsl:variable name="CreatedDate" select="@createDate"/>
<xsl:variable name="IDAppendedDate" select="2012-01-01" />
<b>date: <xsl:value-of select="$CreatedDate"/></b>
<xsl:if test="$CreatedDate > $IDAppendedDate">
<h2> mooooooooooooo </h2>
</xsl:if>
<xsl:else>
<h2> dooooooooooooo </h2>
</xsl:else>
<xsl:choose>
<xsl:when test="$CreatedDate > $IDAppendedDate">
<h2>mooooooooooooo</h2>
</xsl:when>
<xsl:when test="$CreatedDate = $IDAppendedDate">
<h2>booooooooooooo</h2>
</xsl:when>
<xsl:otherwise>
<h2>dooooooooooooo</h2>
</xsl:otherwise>
</xsl:choose>
jueves, 20 de abril de 2017
WebApp para administración dinámica de reglas C#/Bootstrap/MVC
Vista:
Cargar columnas con su tipo de dato:
public Dictionary<string, string> GetDictionaryCampos()
{
Dictionary<string, string> d = new Dictionary<string, string>();
d.Add("columna1~string", "Ejemplo1");
d.Add("columna2~int", "Ejemplo2");
d.Add("columna3~decimal", "Ejemplo3");
d.Add("columna4~datetime", "Ejemplo4");
return d;
}
Generación XML de reglas agregadas:
Creación de tabla:
BEGIN TRAN
USE [DataBase]
GO
/****** Object: Table [dbo].[RulesManager] Script Date: 04/20/2017 14:57:42 ******/
SET ANSI_NULLS
ON
GO
SET QUOTED_IDENTIFIER
ON
GO
SET ANSI_PADDING
ON
GO
CREATE TABLE
[dbo].[RulesManager](
[ID_Rule]
[int] IDENTITY(1,1) NOT NULL,
[Name]
[varchar](200) NOT NULL,
[CreationDate]
[datetime] NOT NULL,
[ModificationDate]
[datetime] NOT NULL,
[RulesXml]
[xml] NOT NULL,
[RulesHtml]
[nvarchar](max) NOT NULL,
CONSTRAINT
[PK_RulesManager] PRIMARY KEY CLUSTERED
(
[ID_Rule]
ASC
)WITH (PAD_INDEX
= OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS
= ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON
[PRIMARY]
GO
SET ANSI_PADDING
OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description',
@value=N'''''' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'RulesManager', @level2type=N'COLUMN',@level2name=N'Name'
GO
ALTER TABLE
[dbo].[RulesManager] ADD CONSTRAINT
[DF_RulesManager_Name] DEFAULT ('') FOR [Name]
GO
ALTER TABLE
[dbo].[RulesManager] ADD CONSTRAINT
[DF_RulesManager_CreationDate] DEFAULT (getdate()) FOR [CreationDate]
GO
ALTER TABLE
[dbo].[RulesManager] ADD CONSTRAINT
[DF_RulesManager_ModificationDate] DEFAULT (getdate()) FOR [ModificationDate]
GO
ALTER TABLE
[dbo].[RulesManager] ADD CONSTRAINT
[DF_RulesManager_RulesXml] DEFAULT ('') FOR [RulesXml]
GO
ALTER TABLE
[dbo].[RulesManager] ADD CONSTRAINT
[DF_RulesManager_RulesHtml] DEFAULT ('') FOR [RulesHtml]
GO
ROLLBACK
miércoles, 19 de abril de 2017
Páginas varias de interés
- http://www.devjoker.com/
- https://blog.sqlauthority.com/
- https://www.codeproject.com
- https://stackoverflow.com/
- https://danielggarcia.wordpress.com/
- https://codigofuentenet.wordpress.com/
- http://www.variablenotfound.com/
- https://desarrolloweb.com
- https://www.codecademy.com
- https://geeks.ms/
- https://www.bbvaapimarket.com/
Suscribirse a:
Entradas (Atom)