public void Guardar(MC_IntervaloDetalle obj)
        {
            OracleCommand cmd = null;
            string        sql = string.Empty;

            if (obj.EsNuevo)
            {
                sql = "INSERT INTO {0} ({1},{2},{3},{4})" +
                      "VALUES(:{1},:{2},:{3},:{4})";
                obj.PkCodIntervalo = GetIdAutoNum("SEC_PK_COD_INTERVALO_D");
            }
            else
            {
                sql = "UPDATE {0} SET " +
                      "{1}=:{1} ," +
                      "{2}=:{2} ," +
                      "{3}=:{3} ," +
                      "{4}=:{4} WHERE ";
            }

            sql = string.Format(sql, MC_IntervaloDetalle.NOMBRE_TABLA,
                                MC_IntervaloDetalle.C_PK_COD_INTERVALO,
                                MC_IntervaloDetalle.C_HORA_INTERVALO,
                                MC_IntervaloDetalle.C_NUMERO_INTERVALO,
                                MC_IntervaloDetalle.C_FK_COD_INTERVALO_MAESTRO);
            cmd             = CrearCommand();
            cmd.CommandText = sql;
            cmd.BindByName  = true;
            cmd.Parameters.Add(MC_IntervaloDetalle.C_PK_COD_INTERVALO, OracleDbType.Int64, obj.PkCodIntervalo, ParameterDirection.Input);
            cmd.Parameters.Add(MC_IntervaloDetalle.C_HORA_INTERVALO, OracleDbType.Varchar2, obj.HoraIntervalo, ParameterDirection.Input);
            cmd.Parameters.Add(MC_IntervaloDetalle.C_NUMERO_INTERVALO, OracleDbType.Int32, obj.NumeroIntervalo, ParameterDirection.Input);
            cmd.Parameters.Add(MC_IntervaloDetalle.C_FK_COD_INTERVALO_MAESTRO, OracleDbType.Int64, obj.FkCodIntervaloMaestro, ParameterDirection.Input);

            try
            {
                cmd.ExecuteNonQuery();
                obj.EsNuevo = false;
            }
            catch (Exception exception)
            {
                PistaMgr.Instance.Error("DALSisFalla", exception);
            }
            finally
            {
                DisposeCommand(cmd);
            }
        }
Exemplo n.º 2
0
        public bool Guardar(MC_IntervaloMaestro obj)
        {
            bool          resultado = true;
            OracleCommand cmd       = null;
            string        sql       = string.Empty;

            if (obj.EsNuevo)
            {
                Pista p = PistaMgr.Instance.Info("DALSisFalla", obj.GetEstadoString());
                obj.SecLog = (long)p.PK_SecLog;
                sql        = "INSERT INTO {0} ({1},{2},{3},{4},{5},{6},{7})" +
                             "VALUES(:{1},:{2},:{3},:{4},:{5},:{6},:{7})";
                obj.PkCodIntervaloMaestro = GetIdAutoNum("SEC_PK_COD_INTERVALO_M");
            }
            else
            {
                sql = "UPDATE {0} SET " +
                      "{2}=:{2} ," +
                      "{3}=:{3} ," +
                      "{4}=:{4} ," +
                      "{5}=:{5} ," +
                      "{6}=:{6}, {7}=:{7}  WHERE {1}=:{1}";
            }

            sql = string.Format(sql, MC_IntervaloMaestro.NOMBRE_TABLA, MC_IntervaloMaestro.C_PK_COD_INTERVALO_MAESTRO,
                                MC_IntervaloMaestro.C_NOMBRE,
                                MC_IntervaloMaestro.C_PERIODO_TIEMPO,
                                MC_IntervaloMaestro.C_FECHA_DESDE,
                                MC_IntervaloMaestro.C_FECHA_HASTA,
                                MC_IntervaloMaestro.C_D_COD_ESTADO,
                                MC_IntervaloMaestro.C_SEC_LOG);
            cmd             = CrearCommand();
            cmd.CommandText = sql;
            cmd.BindByName  = true;
            cmd.Parameters.Add(MC_IntervaloMaestro.C_PK_COD_INTERVALO_MAESTRO, OracleDbType.Int64, obj.PkCodIntervaloMaestro, ParameterDirection.Input);
            cmd.Parameters.Add(MC_IntervaloMaestro.C_NOMBRE, OracleDbType.Varchar2, obj.Nombre, ParameterDirection.Input);
            cmd.Parameters.Add(MC_IntervaloMaestro.C_PERIODO_TIEMPO, OracleDbType.Int32, obj.PeriodoTiempo, ParameterDirection.Input);
            cmd.Parameters.Add(MC_IntervaloMaestro.C_FECHA_DESDE, OracleDbType.Date, obj.FechaDesde, ParameterDirection.Input);
            cmd.Parameters.Add(MC_IntervaloMaestro.C_FECHA_HASTA, OracleDbType.Date, obj.FechaHasta, ParameterDirection.Input);
            cmd.Parameters.Add(MC_IntervaloMaestro.C_D_COD_ESTADO, OracleDbType.Int16, obj.DCodEstado, ParameterDirection.Input);
            cmd.Parameters.Add(MC_IntervaloMaestro.C_SEC_LOG, OracleDbType.Int64, obj.SecLog, ParameterDirection.Input);

            try
            {
                cmd.ExecuteNonQuery();
                if (obj.EsNuevo)
                {
                    obj.EsNuevo = false;
                    int totalPeriodosDia = MINUTOS_POR_DIA / obj.PeriodoTiempo;
                    int minutos          = 0;
                    for (int i = 1; i <= totalPeriodosDia; i++)
                    {
                        minutos += obj.PeriodoTiempo;
                        MC_IntervaloDetalle detalle = new MC_IntervaloDetalle();
                        detalle.FkCodIntervaloMaestro = obj.PkCodIntervaloMaestro;
                        detalle.EsNuevo         = true;
                        detalle.HoraIntervalo   = GetHora(minutos);
                        detalle.NumeroIntervalo = i;
                        MC_IntervaloDetalleMgr.Instancia.Guardar(detalle);
                    }
                }
            }
            catch (Exception exception)
            {
                PistaMgr.Instance.Error("DALSisFalla", exception);
                resultado = false;
            }
            finally
            {
                DisposeCommand(cmd);
            }

            return(resultado);
        }