public dynamic cotizacionPorFecha(DateTime fecha) { dynamic cotizacionItem = CotizacionesController.cotizacionFecha(fecha); // con.Query<object>(@"SELECT * FROM ""cmtTipoCambio"" WHERE ""fTipoCambio"" = @fecha ", new { fecha = fecha }).FirstOrDefault(); con.Close(); string status, mensaje, codigo; if (cotizacionItem == null) { status = "no content"; mensaje = "no encontrado"; codigo = "204"; } else { status = "ok"; mensaje = "encontrado"; codigo = "200"; } return(new { status = status, mensaje = mensaje, codigo = codigo, data = cotizacionItem }); }
public object crearApertura([FromBody] Apertura obj) { Configuracion confActiva = ConfiguracionesController.configuracionActiva(); // se obtiene de configuracion si esta habilitada=1 o deshabilitada=0 la opcion de FactorTC variable decimal factorTC = 0; if (confActiva.usa_factor_tc) { DateTime fechaFinMesAnterior = obj.fecha_corte.AddDays(-obj.fecha_corte.Day); // se calcula el ultima dia del mes anterior CotizacionesController cot = new CotizacionesController(); dynamic tc = cot.cotizacionFecha(obj.fecha_corte); dynamic tcFinMesAnterior = cot.cotizacionFecha(fechaFinMesAnterior); // tipos de cambio del ultimo dia del mes anterior if (confActiva.moneda_factor_tc == "2") { factorTC = (tc.mCompra / tcFinMesAnterior.mCompra) - 1; } else if (confActiva.moneda_factor_tc == "4") { factorTC = (tc.mUFV / tcFinMesAnterior.mUFV) - 1; } else if (confActiva.moneda_factor_tc == "5") { factorTC = (tc.mEuroBS / tcFinMesAnterior.mEuroBS) - 1; } } obj.fecha_corte = obj.fecha_corte; obj.iniciado = true; obj.activo = true; obj.fecha_inicio_envios = DateTime.Now; obj.estado = "iniciado"; // iniciado, detenido, concluido obj.id_configuracion = confActiva.id_configuracion; obj.factor_tc = factorTC; obj.creado_en = DateTime.Now; obj.creado_por = 999; con.Query <int>(@"UPDATE aperturas set activo = false WHERE activo = true"); con.Close(); obj.id_apertura = con.Query <int>(@"INSERT INTO aperturas( fecha_corte, iniciado, fecha_inicio_envios, fecha_detiene_envios, activo, estado, id_configuracion, factor_tc, creado_por, creado_en) VALUES ( @fecha_corte, @iniciado, @fecha_inicio_envios, @fecha_detiene_envios, @activo, @estado, @id_configuracion, @factor_tc, @creado_por, @creado_en) RETURNING id_apertura", obj).Single(); con.Close(); return(new { status = "success", mensaje = "creado", codigo = "201", data = obj }); }
public object crearApertura([FromBody] Apertura obj) { try { // my code string token = HttpHelpers.GetTokenFromHeader(HttpContext); if (token == "") { return(Unauthorized()); } Base helper = new Base(AppSettings, token, HttpContext.Connection.RemoteIpAddress.ToString()); Configuracion confActiva = ConfiguracionesController.configuracionActiva(); // se obtiene de configuracion si esta habilitada=1 o deshabilitada=0 la opcion de FactorTC variable decimal factorTC = 0; if (confActiva.usa_factor_tc) { DateTime fechaFinMesAnterior = obj.fecha_corte.AddDays(-obj.fecha_corte.Day); // se calcula el ultima dia del mes anterior //CotizacionesController cot = new CotizacionesController(); dynamic tc = CotizacionesController.cotizacionFecha(obj.fecha_corte); dynamic tcFinMesAnterior = CotizacionesController.cotizacionFecha(fechaFinMesAnterior); // tipos de cambio del ultimo dia del mes anterior if (confActiva.moneda_factor_tc == "2") { factorTC = (tc.mCompra / tcFinMesAnterior.mCompra) - 1; } else if (confActiva.moneda_factor_tc == "4") { factorTC = (tc.mUFV / tcFinMesAnterior.mUFV) - 1; } else if (confActiva.moneda_factor_tc == "5") { factorTC = (tc.mEuroBS / tcFinMesAnterior.mEuroBS) - 1; } } obj.fecha_corte = obj.fecha_corte; obj.iniciado = true; obj.activo = true; obj.fecha_inicio_envios = DateTime.Now; obj.estado = "iniciado"; // iniciado, detenido, concluido obj.id_configuracion = confActiva.id_configuracion; obj.factor_tc = factorTC; obj.creado_en = DateTime.Now; obj.creado_por = helper.UsuarioId; con.Query <int>(@"UPDATE aperturas set activo = false WHERE activo = true"); con.Close(); obj.id_apertura = con.Query <int>(@"INSERT INTO aperturas( fecha_corte, iniciado, fecha_inicio_envios, fecha_detiene_envios, activo, estado, id_configuracion, factor_tc, creado_por, creado_en) VALUES ( @fecha_corte, @iniciado, @fecha_inicio_envios, @fecha_detiene_envios, @activo, @estado, @id_configuracion, @factor_tc, @creado_por, @creado_en) RETURNING id_apertura", obj).Single(); con.Close(); helper.AddLog(Log.TipoOperaciones.Alta, typeof(AperturaController), "crearApertura", obj); return(new { status = "success", mensaje = "creado", codigo = "201", data = obj }); } catch (Exception ex) { return(new { status = "error", mensaje = ex.Message }); } }