Exemplo n.º 1
0
        /// <summary>
        /// Procedimiento que almacena toda la información de la pantalla de captura de Viga
        /// </summary>
        /// <param name="viga"></param>
        /// <param name="rack"></param>
        /// <param name="tinOpcion"></param>
        /// <returns></returns>
        public Resultado setDatosViga(SeleccionViga viga, RackSelectivo rack, short tinOpcion)
        {
            Resultado result = new Resultado();

            try
            {
                using (VigasDataContext dc = new VigasDataContext(Helper.ConnectionString()))
                {
                    var query = from item in dc.stp_setSeleccionViga(viga.intRackID, viga.intSeleccionVigaID, viga.intCotizacionID, viga.intDetCotizaID,
                                                                     rack.decFrente, rack.decFondo, rack.decAltura, rack.decPeso, rack.decLongitudViga,
                                                                     rack.decCapCargaReqViga, rack.bitEstructural, rack.bitSobresale, Convert.ToByte(rack.tinOpcionViga), rack.decDistanciaLargoProducto,
                                                                     Convert.ToString(viga.SKU), viga.decPesoViga, viga.decGranTotal, viga.intTipoID, viga.intMaterialID,
                                                                     viga.decPatin, viga.decPeralte, Convert.ToDecimal(viga.vchLongitud), viga.decCapacidadParVigasRequerida, viga.decCapacidadParVigasMaxima,
                                                                     rack.intNumeroTarimaPorNivel,
                                                                     // DATOS DEL RACK SELECTIVO
                                                                     rack.bitMontacarga, rack.bitManual, rack.vchDimensionMontacarga, viga.decConector,
                                                                     viga.bitActivo, (byte)tinOpcion)
                                select new Resultado
                    {
                        vchDescripcion = item.vchDescripcion,
                        vchResultado   = item.vchResultado
                    };
                    result = query.First();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Procedimiento que almacena toda la información de la pantalla de captura de Viga
        /// </summary>
        /// <param name="viga"></param>
        /// <param name="rack"></param>
        /// <param name="sintPinturaID"></param>
        /// <param name="intCotizacionID"></param>
        /// <param name="intDetCotizacionID"></param>
        /// <param name="intCantidad"></param>
        /// <param name="tinOpcion"></param>
        /// <returns></returns>
        public Resultado setDatosViga(SeleccionViga viga, RackSelectivo rack, short sintPinturaID, int intCotizacionID, int intDetCotizacionID, int intCantidad, short tinOpcion)
        {
            Resultado result = new Resultado();

            try
            {
                result = (new VigaLogic()).setDatosViga(viga, rack, intCotizacionID, intDetCotizacionID, sintPinturaID, intCantidad, tinOpcion);
            }
            catch (Exception ex)
            {
                Adsisplus.Cotyrsa.BusinessLogic.EventLogManager.LogErrorEntry(ex.Message);
            }
            return(result);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Procedimiento que almacena toda la información de la pantalla de captura de Viga
        /// </summary>
        /// <param name="viga"></param>
        /// <param name="rack"></param>
        /// <param name="intCotizacionID"></param>
        /// <param name="intDetCotizacionID"></param>
        /// <param name="sintPinturaID"></param>
        /// <param name="intCantidad"></param>
        /// <param name="tinOpcion"></param>
        /// <returns></returns>
        public Resultado setDatosViga(SeleccionViga viga, RackSelectivo rack, int intCotizacionID, int intDetCotizaID, short sintPinturaID, int intCantidad, short tinOpcion)
        {
            Resultado result             = new Resultado();
            int?      intSeleccionVigaID = null;
            //int? intDetCotizaID_ = null;
            int?intDatosViga = null;
            // Obtenemos la información de la cotización
            //Cotizacion datosCotizacion = (new CotizacionLogic()).ListarDatosPantallaCotizacion(intCotizacionID);
            // Obtenemos la información del sistema Selectivo
            RelSistemaSelectivo sistema = (new CotizacionLogic()).ListarDatosSistemaSelectivo(intCotizacionID);

            try
            {
                // Obtenemos el ID de la seleccion Viga ID
                intSeleccionVigaID = null;

                // Procedemos a llenar la entidad de la cotización
                Cotizacion detCotizacion = new Cotizacion();
                detCotizacion.intDetCotizaID  = intDetCotizaID;
                detCotizacion.intCotizacionID = intCotizacionID;
                detCotizacion.intElementoID   = 2; // ID correspondiente a Viga
                detCotizacion.intPartida      = 0;
                detCotizacion.intCantidad     = intCantidad;
                detCotizacion.decMonto        = viga.decPrecioUnitarioSinIVA;
                detCotizacion.decSubtotal     = Decimal.Round((Math.Truncate(100 * viga.decGranTotal.Value) / 100) * intCantidad);

                result = (new CotizacionLogic()).setDetCotizacion(detCotizacion, (short)(intDetCotizaID == 0 ? 1 : tinOpcion));

                if (result.vchResultado != "NOK")
                {
                    // Establecemos el id del detalle de la cotización
                    intDetCotizaID      = Convert.ToInt32(result.vchResultado);
                    viga.intDetCotizaID = intDetCotizaID;

                    // 1. Se realiza el registro de la viga en las tablas tbl_RackSelectivo y tbl_SeleccionViga,
                    // devolverá el intSeleccionVigaID
                    if (viga.intSeleccionVigaID != null)
                    {
                        // En caso de que exista valor en el ID, solo actualizamos los valores
                        result = CatalogosDA.setDatosViga(viga, rack, tinOpcion);
                    }
                    else
                    {
                        // En caso contrario, realizamos la inserción
                        result = CatalogosDA.setDatosViga(viga, rack, 1);
                    }

                    if (result.vchResultado != "NOK")
                    {
                        // Obtenemos el ID de la cotización
                        intSeleccionVigaID = Convert.ToInt32(result.vchResultado);
                        List <DatosViga> ListMstViga = new List <DatosViga>();
                        DatosViga        mstViga     = new DatosViga();

                        // Validamos si es un nuevo registro
                        if (tinOpcion != 1)
                        {
                            //Buscamos la viga en base al detalle de la cotización
                            ListMstViga = (new VigaLogic()).ListarDatosViga(0, 0, 2, 0, intDetCotizaID);
                        }
                        // En caso de existir, asignamos el resultado
                        if (ListMstViga.Count > 0)
                        {
                            mstViga = ListMstViga.First();
                        }
                        else // En caso contrario, establecemos el valor a 0
                        {
                            mstViga.intDatosVigaID = 0;
                        }
                        // Actualizamos la información
                        mstViga.intDetCotizaID = intDetCotizaID;
                        mstViga.SKU            = viga.SKU;
                        mstViga.sintPinturaID  = sintPinturaID;
                        mstViga.intElementoID  = 2;
                        mstViga.decLargo       = rack.decLongitudViga;
                        mstViga.intCantidad    = intCantidad;
                        mstViga.intDatoMarcoID = sistema.intDatoMarcoID;

                        // Realizamos el alta / modificación de la viga
                        result = (new SistemasTyrsaLogic()).setDatosViga(mstViga, tinOpcion);

                        // Validamos el resultado
                        if (result.vchResultado != "NOK")
                        {
                            intDatosViga = Convert.ToInt32(result.vchResultado);
                            if ((sistema.intDatosVigaID == 0 || sistema.intDatosVigaID == null) || tinOpcion == 3)
                            {
                                // En caso de realizar la baja, establecemos el valor a 0 en caso de coincidir la baja con el registrado
                                // en el sistema selectivo
                                if (tinOpcion == 3 && sistema.intDatosVigaID == mstViga.intDatosVigaID)
                                {
                                    // Obtenemos la lista de las vigas registradas activas en base a la cotización
                                    List <SeleccionViga> listViga = new List <SeleccionViga>();
                                    listViga = ListaDatosSeleccionViga(intCotizacionID);
                                    if (listViga.Count > 0)
                                    {
                                        sistema.intDatosVigaID = listViga.First().intDatosVigaID;
                                    }
                                    else
                                    {
                                        sistema.intDatosVigaID = 0;
                                    }
                                }
                                else
                                {
                                    sistema.intDatosVigaID = intDatosViga;
                                }
                                sistema.intTipoElementoAlmacenID = 17; // Valor por default
                                sistema.intCotizacionID          = intCotizacionID;

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