/// <summary> /// Crea una tarea de sincronización para un repositorio /// </summary> /// <param name="repositoryId">Identificador del repositorio</param> /// <returns></returns> public IActionResult Syncro(Guid repositoryId) { CreateJobViewModel jobModel = new CreateJobViewModel() { IdRepository = repositoryId }; string id = _serviceApi.CreateJob(jobModel); resultCreated item = new resultCreated() { Id = id }; return(View("Created", item)); }
public IActionResult Create(CreateJobViewModel jobModel) { if (jobModel.IdRepository.Equals(Guid.Empty)) { ModelState.AddModelError("IdRepository", "id del repositorio no válido"); } if ((jobModel.Nombre_job != null && jobModel.CronExpression == null) || (jobModel.CronExpression != null && jobModel.Nombre_job == null)) { ModelState.AddModelError("Nombre_job", "faltan datos para crear un job recurrente"); } else if (!string.IsNullOrEmpty(jobModel.Nombre_job) && !string.IsNullOrEmpty(jobModel.CronExpression)) { var correct = CrontabSchedule.TryParse(jobModel.CronExpression); if (correct == null) { ModelState.AddModelError("CronExpression", "expresión del cron inválida"); } } if (!ModelState.IsValid) { return(View("Create", jobModel)); } else { if (jobModel.Nombre_job != null) { _serviceApi.CreateRecurringJob(jobModel); resultCreated item = new resultCreated() { Id = jobModel.Nombre_job }; return(RedirectToAction("Details", "RepositoryConfig", new { id = jobModel.IdRepository })); } else { string id = _serviceApi.CreateJob(jobModel); resultCreated item = new resultCreated() { Id = id }; return(RedirectToAction("Details", "RepositoryConfig", new { id = jobModel.IdRepository })); } } }