public ActionResult EditarConfiguracao(ConfiguracaoViewModel vm) { if ((String)Session["Ativa"] == null) { return(RedirectToAction("Login", "ControleAcesso")); } Int32 idAss = (Int32)Session["IdAssinante"]; if (ModelState.IsValid) { try { // Executa a operação USUARIO usuarioLogado = (USUARIO)Session["UserCredentials"]; CONFIGURACAO item = Mapper.Map <ConfiguracaoViewModel, CONFIGURACAO>(vm); Int32 volta = baseApp.ValidateEdit(item, objetoAssAntes, usuarioLogado); // Sucesso objetoAss = new CONFIGURACAO(); Session["ListaConfiguracao"] = null; Session["MensConfiguracao"] = 0; return(RedirectToAction("MontarTelaConfiguracao")); } catch (Exception ex) { ViewBag.Message = ex.Message; return(View(vm)); } } else { return(View(vm)); } }
public ActionResult MontarTelaConfiguracao() { // Verifica se tem usuario logado USUARIO usuario = new USUARIO(); if ((String)Session["Ativa"] == null) { return(RedirectToAction("Login", "ControleAcesso")); } usuario = (USUARIO)Session["UserCredentials"]; Int32 idAss = (Int32)Session["IdAssinante"]; // Carrega listas if ((CONFIGURACAO)Session["Configuracao"] == null) { objetoAss = baseApp.GetItemById(1); Session["Configuracao"] = objetoAss; } ViewBag.Listas = (CONFIGURACAO)Session["Configuracao"]; ViewBag.Title = "Configuracao"; // Indicadores // Mensagem // Abre view Session["MensConfiguracao"] = 0; objetoAssAntes = objetoAss; Session["Configuracao"] = objetoAss; Session["IdVolta"] = 1; ConfiguracaoViewModel vm = Mapper.Map <CONFIGURACAO, ConfiguracaoViewModel>(objetoAss); return(View(vm)); }
public Int32 CreateNotificacao(NOTIFICACAO noti, USUARIO usuarioLogado) { try { //Completa campos USUARIO adm = _usuarioService.GetAdministrador(usuarioLogado.ASSI_CD_ID); noti.ASSI_CD_ID = usuarioLogado.ASSI_CD_ID; noti.CANO_CD_ID = 1; noti.NOTI_DT_EMISSAO = DateTime.Today.Date; noti.NOTI_DT_VALIDADE = DateTime.Today.Date.AddDays(30); noti.NOTI_DT_VISTA = null; noti.NOTI_IN_ATIVO = 1; noti.NOTI_IN_STATUS = 1; noti.NOTI_IN_NIVEL = 1; noti.NOTI_IN_VISTA = 0; noti.NOTI_NM_TITULO = "Solicição de Alteração de Cadastro"; noti.USUA_CD_ID = adm.USUA_CD_ID; // Gera Notificação Int32 volta = _notiService.Create(noti); // Recupera template e-mail String header = _usuarioService.GetTemplate("SOLCAD").TEMP_TX_CABECALHO; String body = _usuarioService.GetTemplate("SOLCAD").TEMP_TX_CORPO; String data = _usuarioService.GetTemplate("SOLCAD").TEMP_TX_DADOS; // Prepara dados do e-mail header = header.Replace("{Nome}", adm.USUA_NM_NOME); data = data.Replace("{Data}", DateTime.Today.Date.ToLongDateString()); data = data.Replace("{Usuario}", usuarioLogado.USUA_NM_NOME); data = data.Replace("{Solicitacao}", noti.NOTI_TX_TEXTO); // Concatena String emailBody = header + body + data; // Prepara e-mail e enviar CONFIGURACAO conf = _usuarioService.CarregaConfiguracao(usuarioLogado.ASSI_CD_ID); Email mensagem = new Email(); mensagem.ASSUNTO = "Solicitacao de Alteracao Cadastral"; mensagem.CORPO = emailBody; mensagem.DEFAULT_CREDENTIALS = false; mensagem.EMAIL_DESTINO = adm.USUA_NM_EMAIL; mensagem.EMAIL_EMISSOR = conf.CONF_NM_EMAIL_EMISSOO; mensagem.ENABLE_SSL = true; mensagem.NOME_EMISSOR = "Sistema"; mensagem.PORTA = conf.CONF_NM_PORTA_SMTP; mensagem.PRIORIDADE = System.Net.Mail.MailPriority.High; mensagem.SENHA_EMISSOR = conf.CONF_NM_SENHA_EMISSOR; mensagem.SMTP = conf.CONF_NM_HOST_SMTP; // Envia e-mail Int32 voltaMail = CommunicationPackage.SendEmail(mensagem); return(volta); } catch (Exception ex) { throw; } }
public ActionResult MontarTelaConfiguracao() { // Verifica se tem usuario logado USUARIO usuario = new USUARIO(); if ((String)Session["Ativa"] == null) { return(RedirectToAction("Login", "ControleAcesso")); } if ((USUARIO)Session["UserCredentials"] != null) { usuario = (USUARIO)Session["UserCredentials"]; // Verfifica permissão if (usuario.PERFIL.PERF_SG_SIGLA != "ADM") { Session["MensConfiguracao"] = 2; return(RedirectToAction("CarregarBase", "BaseAdmin")); } } else { return(RedirectToAction("Login", "ControleAcesso")); } // Carrega listas if ((CONFIGURACAO)Session["Configuracao"] == null) { objetoAss = baseApp.GetItemById(1); Session["Configuracao"] = objetoAss; } ViewBag.Listas = (CONFIGURACAO)Session["Configuracao"]; ViewBag.Title = "Configuracao"; // Indicadores // Mensagem // Abre view Session["MensConfiguracao"] = 0; objetoAssAntes = objetoAss; Session["Configuracao"] = objetoAss; Session["IdVolta"] = 1; ConfiguracaoViewModel vm = Mapper.Map <CONFIGURACAO, ConfiguracaoViewModel>(objetoAss); return(View(vm)); }
public ActionResult IncluirCorpoDiretivo() { USUARIO usuario = new USUARIO(); if ((String)Session["Ativa"] == null) { return(RedirectToAction("Login", "ControleAcesso")); } if ((USUARIO)Session["UserCredentials"] != null) { usuario = (USUARIO)Session["UserCredentials"]; // Verfifica permissão if (usuario.PERFIL.PERF_SG_SIGLA != "ADM" || usuario.PERFIL.PERF_SG_SIGLA != "SIN") { Session["MensCD"] = 2; return(RedirectToAction("MontarTelaCorpoDiretivo")); } } else { return(RedirectToAction("Login", "ControleAcesso")); } // Prepara listas Int32 idAss = (Int32)Session["IdAssinante"]; ViewBag.Funcoes = new SelectList(baseApp.GetAllFuncoes(idAss), "FUCO_CD_ID", "FUCO_NM_NOME"); ViewBag.Perfil = usuario.PERFIL.PERF_SG_SIGLA; List <USUARIO> usuarios = usuApp.GetAllItens(idAss).Where(p => p.PERF_CD_ID == 6 & p.USUA_IN_PROPRIETARIO == 1).ToList(); ViewBag.Usuarios = new SelectList(usuarios, "USUA_CD_ID", "USUA_NM_NOME"); // Prepara view CONFIGURACAO conf = baseApp.CarregaConfiguracao(usuario.ASSI_CD_ID); CORPO_DIRETIVO item = new CORPO_DIRETIVO(); CorpoDiretivoViewModel vm = Mapper.Map <CORPO_DIRETIVO, CorpoDiretivoViewModel>(item); vm.CODI_DT_CADASTRO = DateTime.Today; vm.CODI_IN_ATIVO = 1; vm.ASSI_CD_ID = idAss; vm.USUA_CD_ID = usuario.USUA_CD_ID; vm.CODI_DT_INICIO = DateTime.Today.Date; vm.CODI_DT_FINAL = DateTime.Today.Date.AddDays(conf.CONF_NR_CORPO_DIRETIVO_PERIODO.Value); return(View(vm)); }
public static async Task <Response> Execute(CONFIGURACAO conf, String emailBody, USUARIO usuario) { //String apiKey = System.Environment.GetEnvironmentVariable("SENDGRIDAPIKEY"); String apiKey = conf.CONF_NM_SENDGRID_KEY; SendGridClient client = new SendGridClient(apiKey); SendGridMessage msg = new SendGridMessage() { From = new EmailAddress(conf.CONF_NM_EMAIL_EMISSOO, conf.CONF_NM_NOME_EMPRESA), Subject = "Geração de Nova Senha", HtmlContent = emailBody }; msg.AddTo(new EmailAddress(usuario.USUA_NM_EMAIL, usuario.USUA_NM_NOME)); var response = await client.SendEmailAsync(msg); return(response); }
public ActionResult EditarConfiguracao(Int32 id) { // Prepara view if ((String)Session["Ativa"] == null) { return(RedirectToAction("Login", "ControleAcesso")); } Int32 idAss = (Int32)Session["IdAssinante"]; CONFIGURACAO item = baseApp.GetItemById(id); objetoAssAntes = item; Session["Configuracao"] = item; Session["IdVolta"] = id; ConfiguracaoViewModel vm = Mapper.Map <CONFIGURACAO, ConfiguracaoViewModel>(item); return(View(vm)); }
public JsonResult GetConfigNotificacoes() { Int32? idAss = (Int32)Session["IdAssinante"]; bool hasNotf; var hash = new Hashtable(); USUARIO usu = (USUARIO)Session["Usuario"]; CONFIGURACAO conf = confApp.GetById(1); if (baseApp.GetAllItensUser(usu.USUA_CD_ID, idAss.Value).Count > 0) { hasNotf = true; } else { hasNotf = false; } hash.Add("CONF_NM_ARQUIVO_ALARME", conf.CONF_NM_ARQUIVO_ALARME); hash.Add("NOTIFICACAO", hasNotf); return(Json(hash)); }
public Int32 ValidateCreate(CORPO_DIRETIVO item, USUARIO usuario) { try { // Acerta campos CONFIGURACAO conf = _baseService.CarregaConfiguracao(usuario.ASSI_CD_ID); item.CODI_IN_ATIVO = 1; item.CODI_DT_FINAL = item.CODI_DT_INICIO.AddDays(conf.CONF_NR_CORPO_DIRETIVO_PERIODO.Value); item.ASSI_CD_ID = usuario.ASSI_CD_ID; // Recupera Lista List <CORPO_DIRETIVO> lista = _baseService.GetAllItens(usuario.ASSI_CD_ID); // Critica repetição lista = lista.Where(p => p.CODI_IN_ATIVO == 1 & p.ASSI_CD_ID == usuario.ASSI_CD_ID & p.USUA_CD_ID == item.USUA_CD_ID).ToList(); if (lista.Count > 0) { return(5); } // Checar datas if (item.CODI_DT_INICIO.Date > DateTime.Today.Date) { return(6); } // Critica sindico if (item.FUCO_CD_ID == 1) { lista = lista.Where(p => p.FUCO_CD_ID == 1 & p.CODI_IN_ATIVO == 1 & p.ASSI_CD_ID == usuario.ASSI_CD_ID).ToList(); if (lista.Count > 0) { return(1); } } // Critica sub-sindico else if (item.FUCO_CD_ID == 2) { lista = lista.Where(p => p.FUCO_CD_ID == 2 & p.CODI_IN_ATIVO == 1 & p.ASSI_CD_ID == usuario.ASSI_CD_ID).ToList(); if (lista.Count > 0) { return(2); } } // Critica tesoureiro else if (item.FUCO_CD_ID == 3) { lista = lista.Where(p => p.FUCO_CD_ID == 3 & p.CODI_IN_ATIVO == 1 & p.ASSI_CD_ID == usuario.ASSI_CD_ID).ToList(); if (lista.Count > 0) { return(3); } } // Critica conselheiros else { lista = lista.Where(p => p.FUCO_CD_ID == 4 & p.CODI_IN_ATIVO == 1 & p.ASSI_CD_ID == usuario.ASSI_CD_ID).ToList(); if (lista.Count >= conf.CONF_NR_NUMERO_CONSELHEIROS) { return(4); } } // Monta Log LOG log = new LOG { LOG_DT_DATA = DateTime.Now, ASSI_CD_ID = usuario.ASSI_CD_ID, USUA_CD_ID = usuario.USUA_CD_ID, LOG_NM_OPERACAO = "AddCODI", LOG_IN_ATIVO = 1, LOG_TX_REGISTRO = Serialization.SerializeJSON <CORPO_DIRETIVO>(item) }; // Persiste Int32 volta = _baseService.Create(item, log); // Atualiza perfil de usuario USUARIO usu = _usuService.GetItemById(item.USUA_CD_ID.Value); if (item.FUCO_CD_ID == 1 || item.FUCO_CD_ID == 2) { usu.PERF_CD_ID = 2; } else if (item.FUCO_CD_ID == 4 || item.FUCO_CD_ID == 3) { usu.PERF_CD_ID = 3; } volta = _usuService.EditUser(usu); return(volta); } catch (Exception ex) { throw; } }
public String ValidateCreate(MENSAGEM item, USUARIO usuario, Int32?idAss) { try { // Verifica existencia prévia if (_baseService.CheckExist(item, idAss) != null) { return("1"); } // Criticas if (item.CONT_CD_ID == null & item.CAMP_CD_ID == null & item.GRUP_CD_ID == null) { return("2"); } if (item.TEMP_CD_ID == null & item.MENS_TX_TEXTO == null) { return("3"); } // Completa objeto item.MENS_IN_ATIVO = 1; item.MENS_DT_DATA = DateTime.Today.Date; item.MENS_DT_ENVIO = null; item.MENS_IN_ENVIADA = 0; item.ASSI_CD_ID = idAss.Value; item.USUA_CD_ID = usuario.USUA_CD_ID; if (item.MENS_NM_NOME == null) { item.MENS_NM_NOME = "-"; } // Monta Log LOG log = new LOG { LOG_DT_DATA = DateTime.Now, ASSI_CD_ID = idAss.Value, USUA_CD_ID = usuario.USUA_CD_ID, LOG_NM_OPERACAO = "AddMENS", LOG_IN_ATIVO = 1, LOG_TX_REGISTRO = Serialization.SerializeJSON <MENSAGEM>(item) }; // Persiste Int32 volta = _baseService.Create(item, log, idAss); // Monta lista de envio List <CONTATO> lista = new List <CONTATO>(); String campanha = null; if (item.CONT_CD_ID != null) { CONTATO ct = _ctService.GetItemById(item.CONT_CD_ID.Value); lista.Add(ct); } if (item.GRUP_CD_ID != null) { GRUPO gr = _grService.GetItemById(item.GRUP_CD_ID.Value); foreach (var obj in gr.GRUPO_CONTATO) { lista.Add(obj.CONTATO); } } if (item.CAMP_CD_ID != null) { CAMPANHA cp = _cpService.GetItemById(item.CAMP_CD_ID.Value); foreach (var obj in cp.CAMPANHA_CONTATO) { lista.Add(obj.CONTATO); } campanha = cp.CAMP_NM_NOME; } else { if (item.MENS_NM_CAMPANHA != null) { campanha = item.MENS_NM_CAMPANHA; } } // Monta token CONFIGURACAO conf = _conService.GetItemById(1); String text = conf.CONF_NM_USER_SMS + ":" + conf.CONF_NM_SENHA_SMS; byte[] textBytes = Encoding.UTF8.GetBytes(text); String token = Convert.ToBase64String(textBytes); String auth = "Basic " + token; // Monta routing String routing = item.MENS_IN_TIPO_SMS.ToString(); // Monta texto String texto = String.Empty; if (item.TEMPLATE != null) { texto = item.TEMPLATE.TEMP_TX_TEXTO; } else { texto = item.MENS_TX_TEXTO; } // inicia processo List <String> resposta = new List <string>(); WebRequest request = WebRequest.Create("https://api.smsfire.com.br/v1/sms/send"); request.Headers["Authorization"] = auth; request.Method = "POST"; request.ContentType = "application/json"; // Monta destinatarios String listaDest = String.Empty; if (lista.Count > 0) { if (lista.Count <= 200) { foreach (var contato in lista) { if (listaDest.Length == 0) { listaDest += contato.CONT_NR_WHATSAPP + "\""; } else { listaDest += ",\"" + contato.CONT_NR_WHATSAPP + "\""; } } } else { return("5"); } } else { return("4"); } // Agendamento String agenda = null; if (item.MENS_DT_AGENDA != null) { agenda = item.MENS_DT_AGENDA.Value.ToString("yyyy-MM-dd HH:mm:ss"); //agenda = item.MENS_DT_AGENDA.Value.ToString(); } // Processa lista String responseFromServer = null; using (var streamWriter = new StreamWriter(request.GetRequestStream())) { String json = null; if (agenda == null) { json = "{\"to\":[\"" + listaDest + "]," + "\"from\":\"smsfire\", " + "\"campaignName\":\"" + campanha + "\", " + "\"text\":\"" + texto + "\"} "; } else { json = "{\"to\":[\"" + listaDest + "]," + "\"from\":\"smsfire\", " + "\"campaignName\":\"" + campanha + "\", " + "\"schedule\":\"" + agenda + "\", " + "\"text\":\"" + texto + "\"} "; } streamWriter.Write(json); streamWriter.Close(); streamWriter.Dispose(); } WebResponse response = request.GetResponse(); resposta.Add(response.ToString()); Stream dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); responseFromServer = reader.ReadToEnd(); resposta.Add(responseFromServer); // Completa objeto item.MENS_DT_ENVIO = DateTime.Today.Date; item.MENS_IN_ENVIADA = 1; item.MENS_TX_RETORNOS = responseFromServer.ToString(); Int32 volta1 = _baseService.Create(item, log, idAss); reader.Close(); response.Close(); return(responseFromServer); } catch (Exception ex) { throw; } }
public CONFIGURACAO CarregaConfiguracao(Int32 id) { CONFIGURACAO conf = _baseService.CarregaConfiguracao(id); return(conf); }
public CONFIGURACAO CarregaConfiguracao(Int32 id) { CONFIGURACAO conf = _conRepository.GetById(id); return(conf); }
public CONFIGURACAO CarregaConfiguracao(Int32?idAss) { CONFIGURACAO conf = _configuracaoRepository.GetItemByAssinante(idAss); return(conf); }
public Int32 ValidateCreateMensagem(FORNECEDOR_MENSAGEM item, USUARIO usuario) { try { // Completa registro item.FOME_IN_ATIVO = 1; // Monta log String registro = item.FORNECEDOR.FORN_NM_NOME + " - " + item.TIPO_MENSAGEM.TIME_NM_NOME + " - " + item.FOME_DT_ENVIO.ToShortDateString() + " - " + item.FOME_DS_TEXTO; LOG log = new LOG(); log.LOG_DT_DATA = DateTime.Now; log.LOG_NM_OPERACAO = "FornMSG"; log.ASSI_CD_ID = usuario.ASSI_CD_ID; log.LOG_TX_REGISTRO = registro; log.LOG_IN_ATIVO = 1; // Processa e-mail if (item.TIME_CD_ID == 1) { // Recupera template e-mail String header = _baseService.GetTemplate("MSGFOR").TEMP_TX_CABECALHO; String body = _baseService.GetTemplate("MSGFOR").TEMP_TX_CORPO; String data = _baseService.GetTemplate("MSGFOR").TEMP_TX_DADOS; // Prepara dados do e-mail header = header.Replace("{Nome}", item.FORNECEDOR.FORN_NM_NOME); body = body.Replace("{Texto}", item.FOME_DS_TEXTO); body = body.Replace("{Condominio}", item.USUARIO.ASSINANTE.ASSI_NM_NOME); data = data.Replace("{Data}", item.FOME_DT_ENVIO.ToLongDateString()); data = data.Replace("{Usuario}", item.USUARIO.USUA_NM_NOME); // Concatena String emailBody = header + body + data; // Prepara e-mail e enviar CONFIGURACAO conf = _baseService.CarregaConfiguracao(usuario.ASSI_CD_ID); Email mensagem = new Email(); mensagem.ASSUNTO = "Mensagem para Fornecedor - " + item.FORNECEDOR.FORN_NM_NOME; mensagem.CORPO = emailBody; mensagem.DEFAULT_CREDENTIALS = false; mensagem.EMAIL_DESTINO = item.FORNECEDOR.FORN_NM_EMAIL; mensagem.EMAIL_EMISSOR = conf.CONF_NM_EMAIL_EMISSOO; mensagem.ENABLE_SSL = true; mensagem.NOME_EMISSOR = usuario.USUA_NM_NOME; mensagem.PORTA = conf.CONF_NM_PORTA_SMTP; mensagem.PRIORIDADE = System.Net.Mail.MailPriority.High; mensagem.SENHA_EMISSOR = conf.CONF_NM_SENHA_EMISSOR; mensagem.SMTP = conf.CONF_NM_HOST_SMTP; // Envia e-mail Int32 voltaMail = CommunicationPackage.SendEmail(mensagem); } else if (item.TIME_CD_ID == 2) { // Processa SMS } else { // Processa WhatsApp } // Persiste item.FOME_IN_ENVIADO = 1; Int32 volta = _baseService.CreateMensagem(item); return(volta); } catch (Exception ex) { throw; } }
public Int32 GenerateNewPassword(String email, Int32?idAss) { // Checa email if (!ValidarItensDiversos.IsValidEmail(email)) { return(1); } USUARIO usuario = _usuarioService.RetriveUserByEmail(email); if (usuario == null) { return(2); } // Verifica se usuário está ativo if (usuario.USUA_IN_ATIVO == 0) { return(3); } // Verifica se usuário não está bloqueado if (usuario.USUA_IN_BLOQUEADO == 1) { return(4); } // Gera nova senha String senha = Cryptography.GenerateRandomPassword(6); // Atauliza objeto //usuario.USUA_NM_SENHA = Cryptography.Encode(senha); usuario.USUA_NM_SENHA = senha; usuario.USUA_IN_PROVISORIA = 1; usuario.USUA_DT_ALTERACAO = DateTime.Now; usuario.USUA_DT_TROCA_SENHA = DateTime.Now; usuario.USUA_IN_LOGIN_PROVISORIO = 0; // Recupera template e-mail String header = _usuarioService.GetTemplate("NEWPWD").TEMP_TX_CABECALHO; String body = _usuarioService.GetTemplate("NEWPWD").TEMP_TX_CORPO; String data = _usuarioService.GetTemplate("NEWPWD").TEMP_TX_DADOS; // Prepara dados do e-mail header = header.Replace("{Nome}", usuario.USUA_NM_NOME); data = data.Replace("{Data}", usuario.USUA_DT_TROCA_SENHA.Value.ToLongDateString()); data = data.Replace("{Senha}", usuario.USUA_NM_SENHA); // Concatena String emailBody = header + body + data; // Monta e-mail Email mensagem = new Email(); CONFIGURACAO conf = _usuarioService.CarregaConfiguracao(idAss); mensagem.ASSUNTO = "Geração de Nova Senha"; mensagem.CORPO = emailBody; mensagem.DEFAULT_CREDENTIALS = false; mensagem.EMAIL_DESTINO = usuario.USUA_NM_EMAIL; mensagem.EMAIL_EMISSOR = conf.CONF_NM_EMAIL_EMISSOR; mensagem.ENABLE_SSL = true; mensagem.NOME_EMISSOR = "ERP_Condominio "; mensagem.PORTA = conf.CONF_NM_PORTA_SMTP; mensagem.PRIORIDADE = System.Net.Mail.MailPriority.High; mensagem.SENHA_EMISSOR = conf.CONF_NM_SENHA_EMAIL_EMISSOR; mensagem.SMTP = conf.CONF_NM_HOST_SMTP; // Envia e-mail Int32 voltaMail = CommunicationPackage.SendEmail(mensagem); // Atualiza usuario Int32 volta = _usuarioService.EditUser(usuario); // Retorna sucesso return(0); }
public Int32 ValidateCreate(USUARIO usuario, USUARIO usuarioLogado) { try { // Verifica senhas if (usuario.USUA_NM_SENHA != usuario.USUA_NM_SENHA_CONFIRMA) { return(1); } // Verifica Email if (!ValidarItensDiversos.IsValidEmail(usuario.USUA_NM_EMAIL)) { return(2); } // Verifica existencia prévia if (_usuarioService.GetByEmail(usuario.USUA_NM_EMAIL) != null) { return(3); } if (_usuarioService.GetByLogin(usuario.USUA_NM_LOGIN) != null) { return(4); } // Verifica admissão e demissão if (usuario.USUA_DT_ENTRADA != null) { if (usuario.USUA_DT_ENTRADA.Value > DateTime.Today.Date) { return(5); } } if (usuario.USUA_DT_SAIDA != null) { if (usuario.USUA_DT_SAIDA.Value > DateTime.Today.Date) { return(6); } if (usuario.USUA_DS_MOTIVO_SAIDA == null) { return(7); } } if (usuario.USUA_IN_RESPONSAVEL == 1) { if (_usuarioService.GetResponsavel(usuario) != null) { return(8); } } //Completa campos de usuários String senha = Cryptography.GenerateRandomPassword(6); usuario.USUA_NM_SENHA = senha; usuario.USUA_NM_LOGIN = usuario.USUA_NM_NOME.Substring(0, 4); //usuario.USUA_NM_SENHA = Cryptography.Encode(usuario.USUA_NM_SENHA); usuario.USUA_IN_BLOQUEADO = 0; usuario.USUA_IN_PROVISORIO = 0; usuario.USUA_IN_LOGIN_PROVISORIO = 0; usuario.USUA_NR_ACESSOS = 0; usuario.USUA_NR_FALHAS = 0; usuario.USUA_DT_ALTERACAO = null; usuario.USUA_DT_BLOQUEADO = null; usuario.USUA_DT_TROCA_SENHA = null; usuario.USUA_DT_ACESSO = DateTime.Now; usuario.USUA_DT_CADASTRO = DateTime.Today.Date; usuario.USUA_IN_ATIVO = 1; usuario.USUA_DT_ULTIMA_FALHA = DateTime.Now; usuario.ASSI_CD_ID = usuarioLogado.ASSI_CD_ID; usuario.USUA_DS_MOTIVO_SAIDA = null; usuario.USUA_IN_LOGADO = 0; usuario.USUA_NR_MATRICULA = null; // Monta Log LOG log = new LOG { LOG_DT_DATA = DateTime.Now, USUA_CD_ID = usuarioLogado.USUA_CD_ID, ASSI_CD_ID = usuarioLogado.ASSI_CD_ID, LOG_NM_OPERACAO = "AddUSUA", LOG_TX_REGISTRO = Serialization.SerializeJSON <USUARIO>(usuario), LOG_IN_ATIVO = 1 }; // Persiste Int32 volta = _usuarioService.CreateUser(usuario, log); // Gerar Notificação NOTIFICACAO noti = new NOTIFICACAO(); noti.CANO_CD_ID = 1; noti.ASSI_CD_ID = usuario.ASSI_CD_ID; noti.NOTI_DT_EMISSAO = DateTime.Today; noti.NOTI_DT_VALIDADE = DateTime.Today.Date.AddDays(30); noti.NOTI_IN_VISTA = 0; noti.NOTI_NM_TITULO = "Criação de Usuário"; noti.NOTI_IN_ATIVO = 1; noti.NOTI_IN_NIVEL = 1; noti.NOTI_TX_TEXTO = "ATENÇÃO: Usuário" + usuario.USUA_NM_NOME + " criado em " + DateTime.Today.Date.ToLongDateString() + ". Perfil: " + usuario.PERFIL.PERF_NM_NOME + ". Login: "******". Senha: " + usuario.USUA_NM_SENHA + ". Essa senha é provisória e poderá ser usada apenas uma vez, devendo ser alterada após o primeiro login."; noti.USUA_CD_ID = usuario.USUA_CD_ID; noti.NOTI_IN_STATUS = 1; Int32 volta1 = _notiService.Create(noti); // Recupera template e-mail TEMPLATE template = _usuarioService.GetTemplate("NEWUSR"); String header = template.TEMP_TX_CABECALHO; String body = template.TEMP_TX_CORPO; String data = template.TEMP_TX_DADOS; // Prepara dados do e-mail data = data.Replace("{Nome}", usuario.USUA_NM_NOME); data = data.Replace("{Unidade}", usuario.UNIDADE.UNID_NM_EXIBE); data = data.Replace("{Perfil}", usuario.PERFIL.PERF_NM_NOME); data = data.Replace("{Data}", usuario.USUA_DT_CADASTRO.Value.ToLongDateString()); data = data.Replace("{Login}", usuario.USUA_NM_LOGIN); data = data.Replace("{Senha}", usuario.USUA_NM_SENHA); // Concatena String emailBody = header + body + data; // Prepara e-mail e enviar CONFIGURACAO conf = _usuarioService.CarregaConfiguracao(usuario.ASSI_CD_ID); Email mensagem = new Email(); mensagem.ASSUNTO = "Inclusão de Usuário"; mensagem.CORPO = emailBody; mensagem.DEFAULT_CREDENTIALS = false; mensagem.EMAIL_DESTINO = usuario.USUA_NM_EMAIL; mensagem.EMAIL_EMISSOR = conf.CONF_NM_EMAIL_EMISSOO; mensagem.ENABLE_SSL = true; mensagem.NOME_EMISSOR = "Sistema"; mensagem.PORTA = conf.CONF_NM_PORTA_SMTP; mensagem.PRIORIDADE = System.Net.Mail.MailPriority.High; mensagem.SENHA_EMISSOR = conf.CONF_NM_SENHA_EMISSOR; mensagem.SMTP = conf.CONF_NM_HOST_SMTP; // Envia e-mail Int32 voltaMail = CommunicationPackage.SendEmail(mensagem); return(volta); } catch (Exception ex) { throw; } }
public Int32 GenerateNewPassword(String email) { // Checa email if (!ValidarItensDiversos.IsValidEmail(email)) { return(1); } USUARIO usuario = _usuarioService.RetriveUserByEmail(email); if (usuario == null) { return(2); } // Verifica se usuário está ativo if (usuario.USUA_IN_ATIVO == 0) { return(3); } // Verifica se usuário não está bloqueado if (usuario.USUA_IN_BLOQUEADO == 1) { return(4); } // Gera nova senha String senha = Cryptography.GenerateRandomPassword(6); // Atauliza objeto //usuario.USUA_NM_SENHA = Cryptography.Encode(senha); usuario.USUA_NM_SENHA = senha; usuario.USUA_IN_PROVISORIO = 1; usuario.USUA_DT_ALTERACAO = DateTime.Now; usuario.USUA_DT_TROCA_SENHA = DateTime.Now; usuario.USUA_IN_LOGIN_PROVISORIO = 0; // Monta log LOG log = new LOG(); log.LOG_DT_DATA = DateTime.Now; log.LOG_NM_OPERACAO = "NewPWD"; log.ASSI_CD_ID = usuario.ASSI_CD_ID; log.LOG_TX_REGISTRO = senha; log.LOG_IN_ATIVO = 1; // Gera Notificação NOTIFICACAO noti = new NOTIFICACAO(); noti.CANO_CD_ID = 1; noti.ASSI_CD_ID = usuario.ASSI_CD_ID; noti.NOTI_DT_EMISSAO = DateTime.Today; noti.NOTI_DT_VALIDADE = DateTime.Today.Date.AddDays(30); noti.NOTI_IN_VISTA = 0; noti.NOTI_NM_TITULO = "Geração de Nova Senha"; noti.NOTI_IN_ATIVO = 1; noti.NOTI_TX_TEXTO = "ATENÇÃO: Sua solicitação de nova senha foi atendida em " + DateTime.Today.Date.ToLongDateString() + ". Verifique no seu e-mail cadastrado no sistema."; noti.USUA_CD_ID = usuario.USUA_CD_ID; noti.NOTI_IN_STATUS = 1; Int32 volta1 = _notiService.Create(noti); // Recupera template e-mail String header = _usuarioService.GetTemplate("NEWPWD").TEMP_TX_CABECALHO; String body = _usuarioService.GetTemplate("NEWPWD").TEMP_TX_CORPO; String data = _usuarioService.GetTemplate("NEWPWD").TEMP_TX_DADOS; // Prepara dados do e-mail header = header.Replace("{Nome}", usuario.USUA_NM_NOME); data = data.Replace("{Data}", usuario.USUA_DT_TROCA_SENHA.Value.ToLongDateString()); data = data.Replace("{Senha}", usuario.USUA_NM_SENHA); // Concatena String emailBody = header + body + data; // Prepara e-mail e enviar CONFIGURACAO conf = _usuarioService.CarregaConfiguracao(usuario.ASSI_CD_ID); Email mensagem = new Email(); mensagem.ASSUNTO = "Geração de Nova Senha"; mensagem.CORPO = emailBody; mensagem.DEFAULT_CREDENTIALS = false; mensagem.EMAIL_DESTINO = usuario.USUA_NM_EMAIL; mensagem.EMAIL_EMISSOR = conf.CONF_NM_EMAIL_EMISSOO; mensagem.ENABLE_SSL = true; mensagem.NOME_EMISSOR = "Sistema"; mensagem.PORTA = conf.CONF_NM_PORTA_SMTP; mensagem.PRIORIDADE = System.Net.Mail.MailPriority.High; mensagem.SENHA_EMISSOR = conf.CONF_NM_SENHA_EMISSOR; mensagem.SMTP = conf.CONF_NM_HOST_SMTP; // Envia e-mail Int32 voltaMail = CommunicationPackage.SendEmail(mensagem); // Atualiza usuario Int32 volta = _usuarioService.EditUser(usuario); // Retorna sucesso return(0); }
public CONFIGURACAO CarregaConfiguracao() { CONFIGURACAO conf = _configuracaoRepository.GetById(1); return(conf); }