/// <summary> /// Procedimiento que lista los datos de los pisos registrados /// </summary> /// <param name="intDatoPisoID"></param> /// <returns></returns> public List <SeleccionPiso> ListarDatosSeleccionPiso(int intDatoPisoID) { List <SeleccionPiso> result = new List <SeleccionPiso>(); try { using (PisoDataContext dc = new PisoDataContext(Helper.ConnectionString())) { var query = from item in dc.stp_ListarDatosSeleccionPiso(intDatoPisoID) select new SeleccionPiso { intSeleccionPisoID = item.intSeleccionPisoID, intDatoPisoID = item.intDatoPisoID, intDetCotizaID = item.intDetCotizaID, sintTipoPisoID = item.sintTipoPisoID, decPrecioUnitario = item.decPrecioUnitario, decPrecioTotal = item.decPrecioTotal, decPesoUnitario = item.decPesoUnitario, decPesoTotal = item.decPesoTotal, vchMaterial = item.vchMaterial, intCantidad = item.intCantidad, decLargo = item.decLongitud, bitActivo = item.bitActivo }; result.AddRange(query); } } catch (Exception ex) { throw ex; } return(result); }
/// <summary> /// Procedimiento que lista los datos de seleccion Piso Drive In /// </summary> /// <param name="intCantidad"></param> /// <param name="decLargo"></param> /// <param name="bitGalvanizado"></param> /// <returns></returns> public List <SeleccionPisoDriveIn> ListarPisoDriveIn(int?intCantidad, decimal?decLargo, bool?bitGalvanizado) { List <SeleccionPisoDriveIn> result = new List <SeleccionPisoDriveIn>(); try { using (PisoDataContext dc = new PisoDataContext(Helper.ConnectionString())) { var query = from item in dc.stp_ListarPisoDriveIn(intCantidad, decLargo, bitGalvanizado) select new SeleccionPisoDriveIn { sintPisoID = item.sintPisoID, sintTipoPisoID = item.sintTipoPisoID, decLongitud = item.decLongitud, vchMaterial = item.vchMaterial, decPesoUnitario = item.decPesoUnitario, decPrecioUnitario = item.decPrecioUnitario, decPesoBase = item.decPesoBase, decPrecioBase = item.decPrecioBase }; result.AddRange(query); } } catch (Exception ex) { throw ex; } return(result); }
/// <summary> /// Procedimiento que lista los datos de piso /// </summary> /// <param name="intDatosPisoID"></param> /// <param name="intCotizacionID"></param> /// <returns></returns> public List <DatosPiso> ListarDatosPiso(int intDatosPisoID, int intCotizacionID) { List <DatosPiso> result = new List <DatosPiso>(); try { using (PisoDataContext dc = new PisoDataContext()) { var query = from item in dc.stp_ListarDatosPiso(intDatosPisoID, intCotizacionID) select new DatosPiso { intDatoPisoID = item.intDatoPisoID, intElementoID = item.intElementoID, intCotizacionID = item.intCotizacionID, sintPinturaID = item.sintPinturaID, intCantidad = item.intCantidad, decLargoPiso = item.decLargoPiso, bitUsoPatin = item.bitUsoPatin, bitActivo = item.bitActivo, intDetCotizaID = item.intDetCotizaID, decAncho = item.decAncho, bitTipoPisoAbierto = item.bitTipoPisoAbierto, decPesoUnitario = item.decPesoUnitario, decPesoBase = item.decPesoUnitario, decPesoTotal = item.decPesoTotal, decPrecioUnitario = item.decPrecioUnitario, decPrecioBase = item.decPrecioUnitario, decPrecioTotal = item.decPrecioTotal, decPrecioVentaTotal = item.decPrecioTotal, bitGalvanizado = item.bitGalvanizado }; result.AddRange(query); // Realizamos el barrido de la lista for (int i = 0; i < result.Count(); i++) { result[i].seleccion = ListarDatosSeleccionPiso((int)result[i].intDatoPisoID); } } } catch (Exception ex) { throw ex; } return(result); }
/// <summary> /// Procedimiento que realiza el alta de la selección piso /// </summary> /// <param name="seleccion"></param> /// <param name="intCantidad"></param> /// <param name="intDatoPisoID"></param> /// <param name="intDetCotizaID"></param> /// <param name="tinOpcion"></param> /// <returns></returns> public Resultado setSeleccionPiso(List <SeleccionPiso> seleccion, int intCantidad, int?intDatoPisoID, int?intDetCotizaID, short tinOpcion) { Resultado result = new Resultado(); try { int intNumeroPisoAnterior = (int)(new PisoDataContext(Helper.ConnectionString())).fn_getNumeroPiso(intDatoPisoID); int intNumeroPisoNuevo = intCantidad; if (tinOpcion == 1 || intNumeroPisoAnterior == intNumeroPisoNuevo) { foreach (SeleccionPiso piso in seleccion) { using (PisoDataContext dc = new PisoDataContext(Helper.ConnectionString())) { var query = from item in dc.stp_setSeleccionPiso(piso.intSeleccionPisoID, intDatoPisoID, intDetCotizaID, piso.sintTipoPisoID, piso.decLargo, piso.decPrecioUnitario, piso.decPrecioTotal, piso.decPesoUnitario, piso.decPesoTotal, piso.intCantidad, piso.bitActivo, (byte)tinOpcion) select new Resultado { vchDescripcion = item.vchDescripcion, vchResultado = item.vchResultado }; result = query.First(); } if (result.vchResultado == "NOK") { break; } } } else { // Validamos si son nuevos registros if (intNumeroPisoAnterior == intNumeroPisoNuevo) { // Recorremos la lista for (int i = 0; i < intNumeroPisoAnterior; i++) { // Actualizamos los datos de la lista using (PisoDataContext dc = new PisoDataContext(Helper.ConnectionString())) { var query = from item in dc.stp_setSeleccionPiso(seleccion[i].intSeleccionPisoID, intDatoPisoID, intDetCotizaID, seleccion[i].sintTipoPisoID, seleccion[i].decLargo, seleccion[i].decPrecioUnitario, seleccion[i].decPrecioTotal, seleccion[i].decPesoUnitario, seleccion[i].decPesoTotal, seleccion[i].intCantidad, seleccion[i].bitActivo, 2) select new Resultado { vchDescripcion = item.vchDescripcion, vchResultado = item.vchResultado }; result = query.First(); } if (result.vchResultado == "NOK") { break; } } if (intNumeroPisoNuevo < intNumeroPisoAnterior) { // Al terminar, recorremos la lista quitando hasta llegar el número de nivel anterior for (int i = intNumeroPisoNuevo; i < intNumeroPisoAnterior; i++) { // Actualizamos los datos de la lista, dando de baja los registros using (PisoDataContext dc = new PisoDataContext(Helper.ConnectionString())) { var query = from item in dc.stp_setSeleccionPiso(seleccion[i].intSeleccionPisoID, intDatoPisoID, intDetCotizaID, seleccion[i].sintTipoPisoID, seleccion[i].decLargo, seleccion[i].decPrecioUnitario, seleccion[i].decPrecioTotal, seleccion[i].decPesoUnitario, seleccion[i].decPesoTotal, seleccion[i].intCantidad, seleccion[i].bitActivo, 3) // Quitamos los registros select new Resultado { vchDescripcion = item.vchDescripcion, vchResultado = item.vchResultado }; result = query.First(); } if (result.vchDescripcion == "NOK") { break; } } } else { // En caso contrario // Al terminar, recorremos la lista quitando hasta llegar el número anterior for (int i = intNumeroPisoAnterior; i < intNumeroPisoNuevo; i++) { // Actualizamos los datos de la lista, dando de baja los registros using (PisoDataContext dc = new PisoDataContext(Helper.ConnectionString())) { var query = from item in dc.stp_setSeleccionPiso(seleccion[i].intSeleccionPisoID, intDatoPisoID, intDetCotizaID, seleccion[i].sintTipoPisoID, seleccion[i].decLargo, seleccion[i].decPrecioUnitario, seleccion[i].decPrecioTotal, seleccion[i].decPesoUnitario, seleccion[i].decPesoTotal, seleccion[i].intCantidad, seleccion[i].bitActivo, 1) // Agregamos los registros select new Resultado { vchDescripcion = item.vchDescripcion, vchResultado = item.vchResultado }; result = query.First(); } if (result.vchDescripcion == "NOK") { break; } } } } } } catch (Exception ex) { throw ex; } return(result); }