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