public ActionResult ExecutarRobo(string sistema) { DateTime agora = DateTime.Now; if (!int.TryParse(XmlHandler.ConsultarNoXml("hora", string.Format("robo{0}Settings", sistema)).Value, out int _hora)) { _hora = 8; } if (!int.TryParse(XmlHandler.ConsultarNoXml("minutos", string.Format("robo{0}Settings", sistema)).Value, out int _minutos)) { _minutos = 0; } if (!int.TryParse(XmlHandler.ConsultarNoXml("segundos", string.Format("robo{0}Settings", sistema)).Value, out int _segundos)) { _segundos = 20; } DateTime horaExecucao = new DateTime(agora.Year, agora.Month, agora.Day, _hora, _minutos, _segundos); var result = new RoboExecucaoViewModel { Nome = string.Format("Movix.{0}.AlteracaoSenha.Service", sistema), Execucao = horaExecucao, Desativacao = horaExecucao, AppSetting = string.Format("robo{0}Settings", sistema), Sistema = sistema }; var _context = new RoboContext(); var resultList = _context.TB_LOGIN_ROBO .Where(x => x.DS_SISTEMA.ToLower() == sistema.ToLower()) .Select(s => new SelectListItem { Text = s.DS_NOME + " - " + s.DS_PROPOSTA_UF, Value = s.CO_SEQ_USUARIO.ToString(), Selected = false, }); result.UsuarioLoginSelect = resultList; return(View(result)); }
public ActionResult ExecutarRobo(RoboExecucaoViewModel roboExecucao) { try { using (var db = new RoboContext()) { var registro = db.TB_LOGIN_ROBO.Find(roboExecucao.UsuarioId); if (registro != null) { registro.DT_DESATIVACAO = roboExecucao.Execucao.Value.AddSeconds(-10); db.Entry(registro).State = EntityState.Modified; db.SaveChanges(); XmlHandler.EditarChaveValorArquivoConfiguracao("hora", roboExecucao.Execucao.Value.Hour.ToString(), roboExecucao.AppSetting); XmlHandler.EditarChaveValorArquivoConfiguracao("minutos", roboExecucao.Execucao.Value.Minute.ToString(), roboExecucao.AppSetting); XmlHandler.EditarChaveValorArquivoConfiguracao("segundos", roboExecucao.Execucao.Value.Second.ToString(), roboExecucao.AppSetting); WindowsServiceHandler.RestartService(string.Format("Movix.Robo.{0}.AlteracaoSenha.WindowsService", roboExecucao.Sistema), 5000); ViewBag.Mensagem = string.Format("O serviço Movix.{0}.AlteracaoSenha.Service agendado para {1}", roboExecucao.Sistema, roboExecucao.Execucao); } } } catch (Exception ex) { ViewBag.MensagemErro = string.Format(" {0} \n| InnerException:{1}", ex.Message, ex.InnerException); //throw ex; } var _context = new RoboContext(); roboExecucao.UsuarioLoginSelect = _context.TB_LOGIN_ROBO .Where(x => x.DS_SISTEMA.ToLower() == roboExecucao.Sistema.ToLower()) .Select(s => new SelectListItem { Text = s.DS_NOME + " - " + s.DS_PROPOSTA_UF, Value = s.CO_SEQ_USUARIO.ToString(), Selected = false, }); return(View(roboExecucao)); }