public IActionResult AddExecution(string id_repository, string nombre_job, string fecha_inicio, string cron_expression, string set = null, string codigo_objeto = null) { Guid idRep = Guid.Empty; DateTime fechaInicio = DateTime.Now; if (codigo_objeto != null && set == null) { return(BadRequest("falta el tipo de objeto")); } if (fecha_inicio != null) { try { fechaInicio = DateTime.ParseExact(fecha_inicio, "dd/MM/yyyy HH:mm", null); } catch (Exception) { return(BadRequest("fecha de inicio inválida")); } } try { idRep = new Guid(id_repository); } catch (Exception) { return(BadRequest("identificador invalido")); } bool validCronExpr = true; if (_cronApiService.ExistRecurringJob(nombre_job)) { return(BadRequest("Ya existe una tarea con ese nombre")); } else if (string.IsNullOrEmpty(nombre_job)) { return(BadRequest("El nombre no puede ser vacío")); } else { var correct = CrontabSchedule.TryParse(cron_expression); if (correct != null) { _programingMethodsService.ProgramPublishRepositoryRecurringJob(idRep, nombre_job, cron_expression, fechaInicio, _configuration, set, codigo_objeto); } else { validCronExpr = false; } } if (validCronExpr) { return(Ok()); } else { return(BadRequest("invalid cron expression")); } }
public IActionResult AddExecution(string id_repository, string nombre_job, string fecha_inicio, string cron_expression, string fecha = null, string set = null, string codigo_objeto = null) { Guid idRep = Guid.Empty; DateTime fechaInicio = DateTime.Now; DateTime?fechaDateTime = null; if (codigo_objeto != null && set == null) { return(BadRequest("falta el tipo de objeto")); } if (fecha_inicio != null) { try { fechaInicio = DateTime.ParseExact(fecha_inicio, "dd/MM/yyyy hh:mm", null); } catch (Exception) { return(BadRequest("fecha de inicio inválida")); } } if (fecha != null) { try { fechaDateTime = DateTime.ParseExact(fecha, "dd/MM/yyyy hh:mm", null); } catch (Exception) { return(BadRequest("fecha de sincronzación inválida")); } } try { idRep = new Guid(id_repository); } catch (Exception) { return(BadRequest("identificador invalido")); } bool validCronExpr = true; if (_cronApiService.ExistRecurringJob(nombre_job)) { return(BadRequest("Ya existe una tarea con ese nombre")); } else { var correct = CrontabSchedule.TryParse(cron_expression); if (correct != null) { //BackgroundJob.Schedule(() => ExampleService.PonerEnCola(nombre_job, nombre_fichero, cron_expression, execute_inmediatly), fechaInicio); _programingMethodsService.ProgramPublishRepositoryRecurringJob(idRep, nombre_job, cron_expression, fechaInicio, fechaDateTime, set, codigo_objeto); } else { validCronExpr = false; } } if (validCronExpr) { return(Ok()); } else { return(BadRequest("invalid cron expression")); } }