Example #1
0
        /// <summary>
        /// Procedimiento que realiza el alta del Crossbar
        /// </summary>
        /// <param name="datosGrales"></param>
        /// <param name="crossBar"></param>
        /// <param name="tinOpcion"></param>
        /// <returns></returns>
        public Resultado setSeleccionCrossBar(DatosPantallaCrossBar datosGrales, SeleccionCrossBar crossBar, short tinOpcion)
        {
            Resultado result = new Resultado();

            try
            {
                using (CrossBarDataContext dc = new CrossBarDataContext(Helper.ConnectionString()))
                {
                    var query = from item in dc.stp_setSeleccionCrossBar(crossBar.intSeleccionCrossBarID, datosGrales.intRackID, datosGrales.intDetCotizaID, datosGrales.decAncho,
                                                                         datosGrales.decLargo, datosGrales.bitConectorViga, crossBar.sintCrossBarID, crossBar.vchTipoCrossBar, crossBar.decPrecioFinal,
                                                                         crossBar.sintFactorCrossBarID, crossBar.sintNumPieza, crossBar.decDesarrollo, crossBar.decLongitud, crossBar.vchMaterial,
                                                                         crossBar.decAncho, crossBar.decLargo, crossBar.intPiezaLamina, crossBar.intNumPiezas, crossBar.sintPesoPieza,
                                                                         crossBar.decPesoPartida, crossBar.decPrecioAcero, crossBar.decTotal, crossBar.decTotalKiloUnitario, crossBar.decAreaPintura,
                                                                         crossBar.sintCara, crossBar.decPesoPartidaTotal, crossBar.bitActivo, (byte)tinOpcion)
                                select new Resultado
                    {
                        vchResultado   = item.vchResultado,
                        vchDescripcion = item.vchDescripcion
                    };
                    result = query.First();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }
        /// <summary>
        /// Procedimiento que realiza el alta del CrossBar a la cotización
        /// </summary>
        /// <param name="dppCrossBar"></param>
        /// <param name="crossBar"></param>
        /// <param name="intCotizacionID"></param>
        /// <param name="intDetCotizaID"></param>
        /// <param name="intCantidad"></param>
        /// <param name="tinOpcion"></param>
        /// <returns></returns>
        public Resultado setSeleccionCrossBar(DatosPantallaCrossBar dppCrossBar, SeleccionCrossBar crossBar, int intCotizacionID, int intDetCotizaID, int intCantidad, short tinOpcion)
        {
            Resultado result = new Resultado();

            try
            {
                result = (new CrossBarDataLogic()).setSeleccionCrossBar(dppCrossBar, crossBar, intCotizacionID, intDetCotizaID, intCantidad, tinOpcion);
            }
            catch (Exception ex)
            {
                Adsisplus.Cotyrsa.BusinessLogic.EventLogManager.LogErrorEntry(ex.Message);
            }
            return(result);
        }
Example #3
0
        /// <summary>
        /// Procedimiento que realiza el alta del CrossBar a la cotización
        /// </summary>
        /// <param name="dppCrossBar"></param>
        /// <param name="crossBar"></param>
        /// <param name="intCotizacionID"></param>
        /// <param name="intDetCotizaID"></param>
        /// <param name="intCantidad"></param>
        /// <param name="tinOpcion"></param>
        /// <returns></returns>
        public Resultado setSeleccionCrossBar(DatosPantallaCrossBar dppCrossBar, SeleccionCrossBar crossBar, int intCotizacionID, int intDetCotizaID, int intCantidad, short tinOpcion)
        {
            Resultado result = new Resultado();
            int?      intSeleccionCrossBarID = 0;
            int?      intDatosCrossBarID     = 0;

            try
            {
                // Obtenemos la información del sistema Selectivo
                RelSistemaSelectivo sistema = (new CotizacionLogic()).ListarDatosSistemaSelectivo(intCotizacionID);
                intSeleccionCrossBarID = null;

                // Procedemos a llenar la entidad de la cotización
                Cotizacion detCotizacion = new Cotizacion();
                detCotizacion.intDetCotizaID  = intDetCotizaID;
                detCotizacion.intCotizacionID = intCotizacionID;
                detCotizacion.intElementoID   = 4; // ID correspondiente a Panel
                detCotizacion.intPartida      = 0;
                detCotizacion.intCantidad     = intCantidad;
                detCotizacion.decMonto        = crossBar.decTotal;
                detCotizacion.decSubtotal     = Decimal.Round((decimal)(crossBar.decPrecioFinal * intCantidad));

                // 1. Realizamos el alta de la cotización
                result = (new CotizacionLogic()).setDetCotizacion(detCotizacion, (short)(intDetCotizaID == 0 ? 1 : tinOpcion));
                // Validamos la respuesta obtenida
                if (result.vchResultado != "NOK")
                {
                    // Obtenemos el ID de detalle insertado / actualizado
                    intDetCotizaID             = Convert.ToInt32(result.vchResultado);
                    dppCrossBar.intDetCotizaID = intDetCotizaID;

                    // 2. Se realiza el registro del panel en las tablas tbl_RackSelectivo y tbl_SeleccionCrossBar,
                    // devolverá el intSeleccionCrossBarID
                    if (crossBar.intSeleccionCrossBarID != null)
                    {
                        // En caso de no ser 0, realizamos la actualización de los datos del marco
                        result = CatalogosDA.setSeleccionCrossBar(dppCrossBar, crossBar, tinOpcion);
                    }
                    else
                    {
                        // En caso contrario, almacenamos los datos de la selección Marco
                        result = CatalogosDA.setSeleccionCrossBar(dppCrossBar, crossBar, 1);
                    }
                    // Validamos la respuesta del procedimiento
                    if (result.vchResultado != "NOK")
                    {
                        // Obtenemos el ID del Panel insertado/Actualizado
                        intSeleccionCrossBarID = Convert.ToInt32(result.vchResultado);
                        // Lista que nos almacenará los páneles
                        List <DatosCrossBar> lstMstCrossBar = new List <DatosCrossBar>();
                        DatosCrossBar        mstCrossBar    = new DatosCrossBar();

                        // validamos si es un registro nuevo
                        if (tinOpcion != 1)
                        {
                            // Obtenemos información del Marco (tbl_MST_DatosMarco)
                            lstMstCrossBar = (new CrossBarDataLogic()).ListarDatosCrossBar((int)sistema.intDatosCrossBarID, 4, (int)sistema.intDatoMarcoID);
                        }

                        // En caso de existir, asignamos el resultado
                        if (lstMstCrossBar.Count > 0)
                        {
                            mstCrossBar = lstMstCrossBar.First();
                        }
                        else // En caso contrario, establecemos el valor a 0
                        {
                            mstCrossBar.intDatosCrossBarID = 0;
                        }
                        // Actualizamos la información
                        mstCrossBar.intElementoID            = 4; // ID correspondiente al CrossBar
                        mstCrossBar.intDatoMarcoID           = sistema.intDatoMarcoID;
                        mstCrossBar.intDetCotizaID           = intDetCotizaID;
                        mstCrossBar.decAnchoCrossBar         = crossBar.decAncho;
                        mstCrossBar.bitConectorVigaCrossbar  = dppCrossBar.bitConectorViga;
                        mstCrossBar.intCantidadNivelCrossbar = dppCrossBar.intCantNivel;
                        mstCrossBar.intCantidad    = intCantidad;
                        mstCrossBar.intNumeroNivel = dppCrossBar.intNumeroNivel;

                        // Realizamos el registro del panel
                        result = (new SistemasTyrsaLogic()).setDatosCrossBar(mstCrossBar, tinOpcion);

                        // Validamos el resultado
                        if (result.vchResultado != "NOK")
                        {
                            intDatosCrossBarID = Convert.ToInt32(result.vchResultado);
                            if ((sistema.intDatosCrossBarID == null || sistema.intDatosCrossBarID == 0) || tinOpcion == 3)
                            {
                                // En caso de realizar la baja, establecemos el valor a 0
                                if (tinOpcion == 3)
                                {
                                    sistema.intDatosCrossBarID = 0;
                                }
                                else
                                {
                                    sistema.intDatosCrossBarID = intDatosCrossBarID;
                                }

                                sistema.intTipoElementoAlmacenID = 17;
                                sistema.intCotizacionID          = intCotizacionID;

                                result = (new CotizacionLogic()).setDatosRelSistemaSelectivo(sistema, 2);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }