/// <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); }
/// <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); }