domingo, 23 de diciembre de 2012

Obtener fecha de inicio y fecha de termino SQL SERVER



Hay algunos casos en la que nuestra necesidad es obtener la primera fecha del mes y la fecha final, una manera sencilla de hacer esto es de la siguiente manera

Declare @Fecha datetime = GETDATE() - 1

SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(@Fecha)-1),@Fecha),105) As PrimerDiaMes

SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,@Fecha))),DATEADD(mm,1,@Fecha)),105) As UltimoDiaMes



Saludos

miércoles, 19 de diciembre de 2012

"BBDN is undefined" BusyBox

Cuando usamos el control BusyBox de manera local nos funciona perfectamente, pero cuando lo publicamos en IIS, nos suele salir este error en script "BBDN is undefined", la solucion es configurar nuestro control de la siguiente manera:


 <busyboxdotnet:BusyBox ID="BusyBox1" runat="server" CompressScripts="False"
        GZipCompression="False" Image="GreenBar"
        Text="Proceso ejecutandose, espere un momento" Title="Espere por favor"
        ShowBusyBox="Custom" IncludeScriptsInPage="True" />



De esta manera no tendriamos problemas....

Saludos

viernes, 7 de diciembre de 2012

GROUP BY LINQ TO OBJECT II

Buenas , en esta ocasion veremos otro ejemplo como realizar un group by con linq , lo realize por un requerimiento personalizado, espero les ayude,

//Pre Linq
                for (int i = 1; i < _xCadenaValoresListaPrecios.Length - 1; i++)
                {
                    _xArrayProductoUnidad = _xCadenaValoresListaPrecios[i].Split(_xCaracter[1]);
                    _xFiltroValorProductoUnidad = _xArrayProductoUnidad[0].Split(_xCaracter[0]);

                    if (filtroEscala == _xFiltroValorProductoUnidad[0])
                    {

                        oListaString.Add(_xFiltroValorProductoUnidad[1].ToString() + "|" + _xFiltroValorProductoUnidad[2].ToString());
                    }
                }

                //Realizamos un Group By con Linq
                var oLinqGroupBy = oListaString.GroupBy(item => item)
                                     .Select(group => new
                                     {
                                         group.Key,
                                         Count = group.Count()
                                     });

                #region Escala

                foreach (var oString in oLinqGroupBy)
                {

                    CatalogoProductoUnidad oCatalogoProductoUnidad = (CatalogoProductoUnidad)itemCatalogoProducto.CrearObjeto("CatalogoProductoUnidad");
                    oCatalogoProductoUnidad.PrecioPorActualizar = true;
                    string[] _xArrayValoresUnidad;

                    _xArrayValoresUnidad = oString.Key.Split('|');

                    if (_xArrayValoresUnidad[1].Equals("1")) _xArrayValoresUnidad[1] = "true";
                    if (_xArrayValoresUnidad[1].Equals("0")) _xArrayValoresUnidad[1] = "false";

                    oCatalogoProductoUnidad.ProductoUnidad = (ProductoUnidad)XMLHelper.CargarxCampoUnico("ProductoUnidad", "Abreviacion", _xArrayValoresUnidad[0].ToString());
                    oCatalogoProductoUnidad.UnidadPorDefectoEnVenta = Convert.ToBoolean(_xArrayValoresUnidad[1]);


                    string[] _xArrayListaPrecios;
                    string[] _xFiltroValor;

                    for (int j = 1; j < _xCadenaValoresListaPrecios.Length - 1; j++)
                    {
                        CatalogoProductoEscala oCatalogoProductoEscala = (CatalogoProductoEscala)oCatalogoProductoUnidad.CrearObjeto("CatalogoProductoEscala");

                        _xArrayListaPrecios = _xCadenaValoresListaPrecios[j].Split(_xCaracter[1]);
                        _xFiltroValor = _xArrayListaPrecios[0].Split(_xCaracter[0]);

                        //Si encuentra productos iguales obtiene sus escalas
                        if (filtroEscala == _xFiltroValor[0] && _xFiltroValor[1] == _xArrayValoresUnidad[0].ToString())
                        {
                            oCatalogoProductoEscala.Desde = Convert.ToInt32(_xFiltroValor[3]); //Desde
                            oCatalogoProductoEscala.Hasta = Convert.ToInt32(_xFiltroValor[4]); //Hasta
                            oCatalogoProductoEscala.PrecioConImpuesto = Convert.ToDecimal(_xFiltroValor[5]); //PrecioConImpuesto
                            oCatalogoProductoEscala.PrecioSinImpuesto = Convert.ToDecimal(_xFiltroValor[6]); //PrecioSinImpuesto
                            oCatalogoProductoEscala.MargenGanancia = Convert.ToDecimal(_xFiltroValor[7]); //MargenGanancia
                            oCatalogoProductoEscala.PorcentajeMargenGanancia = Convert.ToDecimal(_xFiltroValor[8]); //PorcentajeMargenGanancia
                            oCatalogoProductoEscala.PorcentajeDescuentoA = Convert.ToDecimal(_xFiltroValor[9]); //PorcentajeDescuentoA
                            oCatalogoProductoEscala.PorcentajeDescuentoB = Convert.ToDecimal(_xFiltroValor[10]); //PorcentajeDescuentoB
                            oCatalogoProductoEscala.MontoDescuentoA = Convert.ToDecimal(_xFiltroValor[11]); //MontoDescuentoA
                            oCatalogoProductoEscala.MontoDescuentoB = Convert.ToDecimal(_xFiltroValor[12]); //MontoDescuentoB
                            oCatalogoProductoEscala.PrecioEspecialConImpuesto = Convert.ToDecimal(_xFiltroValor[13]); //PrecioEspecialConImpuesto
                            oCatalogoProductoEscala.CostoProducto = oCatalogoProductoEscala.CatalogoProductoUnidad.CatalogoProducto.ProductoServicio.CostoPromedio;
                            oCatalogoProductoUnidad.CatalogoProductoEscala.Agregar(oCatalogoProductoEscala);
                        }                      
                    }

                    //itemCatalogoProducto.CatalogoProductoUnidad.Agregar(oCatalogoProductoUnidad, oCatalogoProductoUnidad.ProductoUnidad.ID);

                    itemCatalogoProducto.CatalogoProductoUnidad.Agregar(oCatalogoProductoUnidad);

                    //}
               


Saludos


martes, 4 de diciembre de 2012

DOS UNIQUE EN UNA SOLA TABLE


EN ESTA OCASION VAMOS A CREAR DOS UNIQUE PARA UNA TABLA,

ALTER TABLE Ventas.CatalogoProducto
ADD CONSTRAINT UQ_CatalogoProducto_Double UNIQUE( IDListaCatalogoProductos, IDProductoServicio)

Saludos