示例#1
0
        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));
        }
示例#2
0
        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));
        }