private void EjecutarAgendamiento(List <t_formulario> idNoAgendados) { try { DateTime fecha = DateTime.Now; var fechaAgendamiento = Convert.ToString(fecha); log.EscribaLog("EjecutarAgendamiento()", "Iniciando el metodo EjecutarAgendamiento()"); bool control = false; foreach (var filaAgendar in idNoAgendados) { if (filaAgendar.EstadoAgendamiento == 4) { bd_agenda.t_formulario.Attach(filaAgendar); filaAgendar.EstadoAgendamiento = 1; bd_agenda.Configuration.ValidateOnSaveEnabled = false; bd_agenda.SaveChanges(); var credenciales = (from db in bd_agenda.t_login_rp1cloud where db.CodigoSala == filaAgendar.Sala select db).First(); string usuario = credenciales.Usuario_Rp1Cloud; string clave = credenciales.Clave; var difDiasAgendamiento = Convert.ToInt32(Convert.ToDateTime(filaAgendar.FechaFinalizacion).Day - Convert.ToDateTime(filaAgendar.FechaRealizacion).Day); for (int i = 0; i <= difDiasAgendamiento; i++) { bd_agenda.t_formulario.Attach(filaAgendar); filaAgendar.FechaRealizacion = Convert.ToDateTime(filaAgendar.FechaRealizacion).AddDays(i).ToString(); control = servicio.ServicioAgenda(filaAgendar, usuario, clave); if (i == difDiasAgendamiento) { filaAgendar.FechaRealizacion = Convert.ToDateTime(filaAgendar.FechaRealizacion).AddDays(-difDiasAgendamiento).ToString(); } } bd_agenda.SP_REGISTRO_RP1CLUOD(filaAgendar.Id, filaAgendar.Num_Consecutivo, filaAgendar.Codigo, fechaAgendamiento); if (control == true) { filaAgendar.EstadoAgendamiento = 5; log.EscribaLog("EjecutarAgendamiento()", "Registro con error N° " + filaAgendar.Id); } else { filaAgendar.EstadoAgendamiento = 2; log.EscribaLog("EjecutarAgendamiento()", "Registro agendado N° " + filaAgendar.Id); } bd_agenda.Configuration.ValidateOnSaveEnabled = false; bd_agenda.SaveChanges(); } } } catch (Exception ex) { log.EscribaLog("EjecutarAgendamiento()_Error", "El error es : " + ex.ToString()); } }