/// <summary> /// Procedimiento que realiza el alta, modificación y baja de instalación /// </summary> /// <param name="instalacion"></param> /// <param name="tinOpcion"></param> /// <returns></returns> public Resultado setDatosInstalacion(DatosInstalacion instalacion, short tinOpcion) { Resultado result = new Resultado(); try { using (GastosDataContext dc = new GastosDataContext(Helper.ConnectionString())) { var query = from item in dc.stp_setDatosInstalacion(instalacion.intCotizacionID, instalacion.intDetCotizaID, instalacion.intDatosInstalacionID, instalacion.sintInstalacionID, instalacion.intElementoID, instalacion.intCantidad, instalacion.datFecha, instalacion.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 realiza el alta, modificación y baja de instalación /// </summary> /// <param name="instalacion"></param> /// <param name="tinOpcion"></param> /// <returns></returns> public Resultado setDatosInstalacion(List <DatosInstalacion> lstInstalacion, short tinOpcion) { Resultado result = new Resultado(); try { foreach (DatosInstalacion instalacion in lstInstalacion) { // 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 = instalacion.intDetCotizaID; detCotizacion.intCotizacionID = instalacion.intCotizacionID; detCotizacion.intElementoID = 12; // ID correspondiente a instalacion detCotizacion.intPartida = 0; detCotizacion.intCantidad = instalacion.intCantidad; detCotizacion.decMonto = 0; detCotizacion.decSubtotal = 0; // Realizamos el alta de la cotización result = (new CotizacionLogic()).setDetCotizacion(detCotizacion, (short)((instalacion.intDetCotizaID == 0 || instalacion.intDetCotizaID == null) ? 1 : 2)); if (result.vchResultado != "NOK") { // Asignamos el ID del detalle instalacion.intDetCotizaID = Convert.ToInt32(result.vchResultado); instalacion.intElementoID = 12; //Realizamos la búsqueda del gastos List <DatosInstalacion> lstBusinstalacion = GastosDA.ListarDatosInstalacion((int)instalacion.intCotizacionID, (short)instalacion.sintInstalacionID); // Revisamos si la lista contiene datos if (lstBusinstalacion.Count > 0) { DatosInstalacion instalacionResult = new DatosInstalacion(); // En caso de exisitr resultado, asignamos los datos de la // búsqueda a la entidad a almacenar instalacionResult = lstBusinstalacion.First(); instalacion.intDatosInstalacionID = instalacionResult.intDatosInstalacionID; instalacion.sintInstalacionID = instalacion.sintInstalacionID; // Almacenamos los datos de la instalación result = GastosDA.setDatosInstalacion(instalacion, 2); } else { // Almacenamos los datos de la instalación result = GastosDA.setDatosInstalacion(instalacion, 1); } } else // En caso de existir un error, rompemos el ciclo { break; } } } catch (Exception ex) { throw ex; } return(result); }