/// <summary> /// Procedimiento que realiza el alta, modificación y baja de viaticos /// </summary> /// <param name="viatico"></param> /// <param name="tinOpcion"></param> /// <returns></returns> public Resultado setDatosViatico(List <DatosViaticos> lstViatico, short tinOpcion) { Resultado result = new Resultado(); try { foreach (DatosViaticos viaticos in lstViatico) { // Procedemos a llenar la entidad de la cotización Cotizacion detCotizacion = new Cotizacion(); // Almacenamos el siguiente detalle para instalación detCotizacion = new Cotizacion(); detCotizacion.intDetCotizaID = viaticos.intDetCotizaID; detCotizacion.intCotizacionID = viaticos.intCotizacionID; detCotizacion.intElementoID = 14; // ID correspondiente a Distanciador detCotizacion.intPartida = 0; detCotizacion.intCantidad = viaticos.intCantidad; detCotizacion.decMonto = 0; detCotizacion.decSubtotal = 0; // Realizamos el alta de la cotización result = (new CotizacionLogic()).setDetCotizacion(detCotizacion, (short)(viaticos.intDetCotizaID == 0 || viaticos.intDetCotizaID == null ? 1 : 2)); if (result.vchResultado != "NOK") { //Asignamos el ID del detalle de cotización viaticos.intDetCotizaID = Convert.ToInt32(result.vchResultado); viaticos.intElementoID = 14; List <DatosViaticos> lstBusViatico = GastosDA.ListarDatosViatico((int)viaticos.intCotizacionID, (short)viaticos.sintViaticoID); if (lstBusViatico.Count > 0) { DatosViaticos viaticoResult = lstBusViatico.First(); /* * viatico.intCotizacionID, viatico.intDetCotizaID, viatico.intDatoViaticoID, viatico.intElementoID, * viatico.sintViaticoID, viatico.intCantidad, viatico.datFecha, */ viaticos.intDatoViaticoID = viaticoResult.intDatoViaticoID; viaticos.sintViaticoID = viaticoResult.sintViaticoID; // Almacenamos los datos de viatico result = GastosDA.setDatosViatico(viaticos, 2); } else { // Almacenamos los datos del viático result = GastosDA.setDatosViatico(viaticos, 1); } } else // En caso de existir error, rompemos el ciclo { break; } } } catch (Exception ex) { throw ex; } return(result); }
/// <summary> /// Procedimiento que realiza el alta, modificación y baja de viaticos /// </summary> /// <param name="viatico"></param> /// <param name="tinOpcion"></param> /// <returns></returns> public Resultado setDatosViatico(DatosViaticos viatico, short tinOpcion) { Resultado result = new Resultado(); try { using (GastosDataContext dc = new GastosDataContext(Helper.ConnectionString())) { var query = from item in dc.stp_setDatosViatico(viatico.intCotizacionID, viatico.intDetCotizaID, viatico.intDatoViaticoID, viatico.intElementoID, viatico.sintViaticoID, viatico.intCantidad, viatico.datFecha, viatico.decCostoGolpe, viatico.bitActivo, (byte)tinOpcion) select new Resultado { vchDescripcion = item.vchDescripcion, vchResultado = item.vchResultado }; result = query.First(); } } catch (Exception ex) { throw ex; } return result; }