Example #1
0
        /// <summary>
        /// Procedimiento que almacena los datos del panel seleccionado
        /// </summary>
        /// <param name="dppPanel"></param>
        /// <param name="panel"></param>
        /// <param name="tinOpcion"></param>
        /// <returns></returns>
        public Resultado setSeleccionPanel(DatosPantallaPanel dppPanel, SeleccionPanel panel, short tinOpcion)
        {
            Resultado result = new Resultado();

            try
            {
                using (PanelesDataContext dc = new PanelesDataContext(Helper.ConnectionString()))
                {
                    var query = from item in dc.stp_setSeleccionPanel(panel.intSeleccionPanelID, dppPanel.intRackID, dppPanel.intDetCotizaID, panel.intPanelID,
                                                                      dppPanel.bitGalvanizado, dppPanel.bitPintado, dppPanel.decAnchoBus, dppPanel.decLargo, dppPanel.decCapacidadCarga, dppPanel.sintCantidadPanelNivel,
                                                                      // Datos de la seleccion
                                                                      panel.sintSKU, panel.vchCalibreAcero, panel.decAncho, panel.decFondo, panel.decPesoKg, panel.sintCorreccion, panel.decTotal,
                                                                      panel.decPrecioEfectivoRef, panel.decRelPrecioTyrsa, panel.decKgTyrsa, panel.decKgReferencia, panel.bitActivo,
                                                                      (byte)tinOpcion)
                                select new Resultado
                    {
                        vchDescripcion = item.vchDescripcion,
                        vchResultado   = item.vchResultado
                    };
                    result = query.First();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }
        /// <summary>
        /// Procedimiemto que realiza el alta del panel a la cotización
        /// </summary>
        /// <param name="dppPanel"></param>
        /// <param name="panel"></param>
        /// <param name="intCotizacionID"></param>
        /// <param name="intDetCotizaID"></param>
        /// <param name="intCantidad"></param>
        /// <param name="tinOpcion"></param>
        /// <returns></returns>
        public Resultado setSeleccionPanel(DatosPantallaPanel dppPanel, SeleccionPanel panel, int intCotizacionID, int intDetCotizaID, int intCantidad, short tinOpcion)
        {
            Resultado result = new Resultado();

            try
            {
                result = (new PanelLogic()).setSeleccionPanel(dppPanel, panel, intCotizacionID, intDetCotizaID, intCantidad, tinOpcion);
            }
            catch (Exception ex)
            {
                Adsisplus.Cotyrsa.BusinessLogic.EventLogManager.LogErrorEntry(ex.Message);
            }
            return(result);
        }
Example #3
0
        /// <summary>
        /// Procedimiemto que realiza el alta del panel a la cotización
        /// </summary>
        /// <param name="dppPanel"></param>
        /// <param name="intCotizacionID"></param>
        /// <param name="intDetCotizaID"></param>
        /// <param name="intCantidad"></param>
        /// <param name="tinOpcion"></param>
        /// <returns></returns>
        public Resultado setSeleccionPanel(DatosPantallaPanel dppPanel, SeleccionPanel panel, int intCotizacionID, int intDetCotizaID, int intCantidad, short tinOpcion)
        {
            Resultado result = new Resultado();
            int?      intSeleccionPanelID = 0;
            int?      intDatosPanelID     = 0;

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

                // Procedemos a llenar la entidad de la cotización
                Cotizacion detCotizacion = new Cotizacion();
                detCotizacion.intDetCotizaID  = intDetCotizaID;
                detCotizacion.intCotizacionID = intCotizacionID;
                detCotizacion.intElementoID   = 3; // ID correspondiente a Panel
                detCotizacion.intPartida      = 0;
                detCotizacion.intCantidad     = intCantidad;
                detCotizacion.decMonto        = panel.decTotal;
                detCotizacion.decSubtotal     = Decimal.Round((decimal)panel.decTotal * 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);
                    dppPanel.intDetCotizaID = intDetCotizaID;

                    // 2. Se realiza el registro del panel en las tablas tbl_RackSelectivo y tbl_SeleccionPanel,
                    // devolverá el intSeleccionPanelID
                    if (panel.intSeleccionPanelID != null)
                    {
                        // En caso de no ser 0, realizamos la actualización de los datos del marco
                        result = CatalogosDA.setSeleccionPanel(dppPanel, panel, tinOpcion);
                    }
                    else
                    {
                        // En caso contrario, almacenamos los datos de la selección Marco
                        result = CatalogosDA.setSeleccionPanel(dppPanel, panel, 1);
                    }

                    // Validamos la respuesta del procedimiento
                    if (result.vchResultado != "NOK")
                    {
                        // Obtenemos el ID del Panel insertado/Actualizado
                        intSeleccionPanelID = Convert.ToInt32(result.vchResultado);
                        // Lista que nos almacenará los páneles
                        List <DatosPanel> lstMstPanel = new List <DatosPanel>();
                        DatosPanel        mstPanel    = new DatosPanel();

                        // validamos si es un registro nuevo
                        if (tinOpcion != 1)
                        {
                            // Obtenemos información del Marco (tbl_MST_DatosMarco)
                            lstMstPanel = (new PanelLogic()).ListarDatosPanel((int)dppPanel.intDatosPanelID, 3, (int)0, 0);
                        }

                        // En caso de existir, asignamos el resultado
                        if (lstMstPanel.Count > 0)
                        {
                            mstPanel = lstMstPanel.First();
                        }
                        else // En caso contrario, establecemos el valor a 0
                        {
                            mstPanel.intDatosPanelID = 0;
                        }
                        // Actualizamos la información
                        mstPanel.decAnchoPanel          = panel.decAncho;
                        mstPanel.intDetCotizaID         = intDetCotizaID;
                        mstPanel.decCapacidadCargaPanel = panel.decPesoKg;
                        mstPanel.intCantidadPanel       = intCantidad;
                        mstPanel.intDatoMarcoID         = sistema.intDatoMarcoID;
                        mstPanel.intElementoID          = 3;                      // ID correspondiente al panel
                        mstPanel.sintCantidadDatoMarco  = 0;                      // ¿Qué corresponde este dato?
                        mstPanel.sintPinturaID          = dppPanel.sintPinturaID; // Se supone que no existe pintura?

                        mstPanel.intNiveles        = dppPanel.intNiveles;
                        mstPanel.intPanelesTotales = dppPanel.intPanelesTotales;

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

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

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

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