예제 #1
0
        /// <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);
        }
예제 #2
0
 /// <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;
 }