示例#1
0
        /// <summary>
        /// Procedimiento que lista los datos de los pisos registrados
        /// </summary>
        /// <param name="intDatoPisoID"></param>
        /// <returns></returns>
        public List <SeleccionPiso> ListarDatosSeleccionPiso(int intDatoPisoID)
        {
            List <SeleccionPiso> result = new List <SeleccionPiso>();

            try
            {
                using (PisoDataContext dc = new PisoDataContext(Helper.ConnectionString()))
                {
                    var query = from item in dc.stp_ListarDatosSeleccionPiso(intDatoPisoID)
                                select new SeleccionPiso
                    {
                        intSeleccionPisoID = item.intSeleccionPisoID,
                        intDatoPisoID      = item.intDatoPisoID,
                        intDetCotizaID     = item.intDetCotizaID,
                        sintTipoPisoID     = item.sintTipoPisoID,
                        decPrecioUnitario  = item.decPrecioUnitario,
                        decPrecioTotal     = item.decPrecioTotal,
                        decPesoUnitario    = item.decPesoUnitario,
                        decPesoTotal       = item.decPesoTotal,
                        vchMaterial        = item.vchMaterial,
                        intCantidad        = item.intCantidad,
                        decLargo           = item.decLongitud,
                        bitActivo          = item.bitActivo
                    };
                    result.AddRange(query);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }
示例#2
0
        /// <summary>
        /// Procedimiento que lista los datos de seleccion Piso Drive In
        /// </summary>
        /// <param name="intCantidad"></param>
        /// <param name="decLargo"></param>
        /// <param name="bitGalvanizado"></param>
        /// <returns></returns>
        public List <SeleccionPisoDriveIn> ListarPisoDriveIn(int?intCantidad, decimal?decLargo, bool?bitGalvanizado)
        {
            List <SeleccionPisoDriveIn> result = new List <SeleccionPisoDriveIn>();

            try
            {
                using (PisoDataContext dc = new PisoDataContext(Helper.ConnectionString()))
                {
                    var query = from item in dc.stp_ListarPisoDriveIn(intCantidad, decLargo, bitGalvanizado)
                                select new SeleccionPisoDriveIn
                    {
                        sintPisoID        = item.sintPisoID,
                        sintTipoPisoID    = item.sintTipoPisoID,
                        decLongitud       = item.decLongitud,
                        vchMaterial       = item.vchMaterial,
                        decPesoUnitario   = item.decPesoUnitario,
                        decPrecioUnitario = item.decPrecioUnitario,
                        decPesoBase       = item.decPesoBase,
                        decPrecioBase     = item.decPrecioBase
                    };
                    result.AddRange(query);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }
示例#3
0
        /// <summary>
        /// Procedimiento que lista los datos de piso
        /// </summary>
        /// <param name="intDatosPisoID"></param>
        /// <param name="intCotizacionID"></param>
        /// <returns></returns>
        public List <DatosPiso> ListarDatosPiso(int intDatosPisoID, int intCotizacionID)
        {
            List <DatosPiso> result = new List <DatosPiso>();

            try
            {
                using (PisoDataContext dc = new PisoDataContext())
                {
                    var query = from item in dc.stp_ListarDatosPiso(intDatosPisoID, intCotizacionID)
                                select new DatosPiso
                    {
                        intDatoPisoID       = item.intDatoPisoID,
                        intElementoID       = item.intElementoID,
                        intCotizacionID     = item.intCotizacionID,
                        sintPinturaID       = item.sintPinturaID,
                        intCantidad         = item.intCantidad,
                        decLargoPiso        = item.decLargoPiso,
                        bitUsoPatin         = item.bitUsoPatin,
                        bitActivo           = item.bitActivo,
                        intDetCotizaID      = item.intDetCotizaID,
                        decAncho            = item.decAncho,
                        bitTipoPisoAbierto  = item.bitTipoPisoAbierto,
                        decPesoUnitario     = item.decPesoUnitario,
                        decPesoBase         = item.decPesoUnitario,
                        decPesoTotal        = item.decPesoTotal,
                        decPrecioUnitario   = item.decPrecioUnitario,
                        decPrecioBase       = item.decPrecioUnitario,
                        decPrecioTotal      = item.decPrecioTotal,
                        decPrecioVentaTotal = item.decPrecioTotal,
                        bitGalvanizado      = item.bitGalvanizado
                    };
                    result.AddRange(query);

                    // Realizamos el barrido de la lista
                    for (int i = 0; i < result.Count(); i++)
                    {
                        result[i].seleccion = ListarDatosSeleccionPiso((int)result[i].intDatoPisoID);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }
        /// <summary>
        /// Procedimiento que realiza el alta de la selección piso
        /// </summary>
        /// <param name="seleccion"></param>
        /// <param name="intCantidad"></param>
        /// <param name="intDatoPisoID"></param>
        /// <param name="intDetCotizaID"></param>
        /// <param name="tinOpcion"></param>
        /// <returns></returns>
        public Resultado setSeleccionPiso(List <SeleccionPiso> seleccion, int intCantidad, int?intDatoPisoID, int?intDetCotizaID, short tinOpcion)
        {
            Resultado result = new Resultado();

            try
            {
                int intNumeroPisoAnterior = (int)(new PisoDataContext(Helper.ConnectionString())).fn_getNumeroPiso(intDatoPisoID);
                int intNumeroPisoNuevo    = intCantidad;

                if (tinOpcion == 1 || intNumeroPisoAnterior == intNumeroPisoNuevo)
                {
                    foreach (SeleccionPiso piso in seleccion)
                    {
                        using (PisoDataContext dc = new PisoDataContext(Helper.ConnectionString()))
                        {
                            var query = from item in dc.stp_setSeleccionPiso(piso.intSeleccionPisoID, intDatoPisoID, intDetCotizaID, piso.sintTipoPisoID,
                                                                             piso.decLargo, piso.decPrecioUnitario, piso.decPrecioTotal, piso.decPesoUnitario,
                                                                             piso.decPesoTotal, piso.intCantidad, piso.bitActivo, (byte)tinOpcion)
                                        select new Resultado
                            {
                                vchDescripcion = item.vchDescripcion,
                                vchResultado   = item.vchResultado
                            };
                            result = query.First();
                        }
                        if (result.vchResultado == "NOK")
                        {
                            break;
                        }
                    }
                }
                else
                {
                    // Validamos si son nuevos registros
                    if (intNumeroPisoAnterior == intNumeroPisoNuevo)
                    {
                        // Recorremos la lista
                        for (int i = 0; i < intNumeroPisoAnterior; i++)
                        {
                            // Actualizamos los datos de la lista
                            using (PisoDataContext dc = new PisoDataContext(Helper.ConnectionString()))
                            {
                                var query = from item in dc.stp_setSeleccionPiso(seleccion[i].intSeleccionPisoID, intDatoPisoID, intDetCotizaID, seleccion[i].sintTipoPisoID,
                                                                                 seleccion[i].decLargo, seleccion[i].decPrecioUnitario, seleccion[i].decPrecioTotal, seleccion[i].decPesoUnitario,
                                                                                 seleccion[i].decPesoTotal, seleccion[i].intCantidad, seleccion[i].bitActivo, 2)
                                            select new Resultado
                                {
                                    vchDescripcion = item.vchDescripcion,
                                    vchResultado   = item.vchResultado
                                };
                                result = query.First();
                            }
                            if (result.vchResultado == "NOK")
                            {
                                break;
                            }
                        }
                        if (intNumeroPisoNuevo < intNumeroPisoAnterior)
                        {
                            // Al terminar, recorremos la lista quitando hasta llegar el número de nivel anterior
                            for (int i = intNumeroPisoNuevo; i < intNumeroPisoAnterior; i++)
                            {
                                // Actualizamos los datos de la lista, dando de baja los registros
                                using (PisoDataContext dc = new PisoDataContext(Helper.ConnectionString()))
                                {
                                    var query = from item in dc.stp_setSeleccionPiso(seleccion[i].intSeleccionPisoID, intDatoPisoID, intDetCotizaID, seleccion[i].sintTipoPisoID,
                                                                                     seleccion[i].decLargo, seleccion[i].decPrecioUnitario, seleccion[i].decPrecioTotal, seleccion[i].decPesoUnitario,
                                                                                     seleccion[i].decPesoTotal, seleccion[i].intCantidad, seleccion[i].bitActivo, 3) // Quitamos los registros
                                                select new Resultado
                                    {
                                        vchDescripcion = item.vchDescripcion,
                                        vchResultado   = item.vchResultado
                                    };
                                    result = query.First();
                                }
                                if (result.vchDescripcion == "NOK")
                                {
                                    break;
                                }
                            }
                        }
                        else
                        {
                            // En caso contrario
                            // Al terminar, recorremos la lista quitando hasta llegar el número anterior
                            for (int i = intNumeroPisoAnterior; i < intNumeroPisoNuevo; i++)
                            {
                                // Actualizamos los datos de la lista, dando de baja los registros
                                using (PisoDataContext dc = new PisoDataContext(Helper.ConnectionString()))
                                {
                                    var query = from item in dc.stp_setSeleccionPiso(seleccion[i].intSeleccionPisoID, intDatoPisoID, intDetCotizaID, seleccion[i].sintTipoPisoID,
                                                                                     seleccion[i].decLargo, seleccion[i].decPrecioUnitario, seleccion[i].decPrecioTotal, seleccion[i].decPesoUnitario,
                                                                                     seleccion[i].decPesoTotal, seleccion[i].intCantidad, seleccion[i].bitActivo, 1) // Agregamos los registros
                                                select new Resultado
                                    {
                                        vchDescripcion = item.vchDescripcion,
                                        vchResultado   = item.vchResultado
                                    };
                                    result = query.First();
                                }
                                if (result.vchDescripcion == "NOK")
                                {
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }