public ActionResult EnviarLinkSenha([FromForm] string email) { string codigo; DateTime agora = Globalization.HoraAtualBR(); email.ToLower(); var vEmail = _db.Int_DP_Usuarios.Where(a => a.Email == email && a.Ativo == 1).FirstOrDefault(); if (vEmail != null) { codigo = vEmail.Id.ToString() + agora.Minute.ToString() + agora.Month.ToString() + agora.Day.ToString() + agora.Year.ToString() + agora.Second.ToString() + agora.Hour.ToString(); ValidacaoSenha valid = new ValidacaoSenha { Id = long.Parse(codigo), Data = agora, DataExpiracao = agora.AddHours(5), Utilizado = 0, Usuario = vEmail.Id }; _db.Int_DP_ValidSenhas.Add(valid); _db.SaveChanges(); Log log = new Log(); try { string nome = Shared.PegarPrimeiroNome(vEmail.Nome); Library.Mail.EnviarLinkSenha.EnviarLinkTrocarSenha(email, codigo, nome, vEmail.Login); log.EsqueciMinhaSenha_Envio(vEmail.Id, codigo); TempData["TrocaSenhaOK"] = "Um link foi enviado ao seu e-mail com instruções para trocar a senha"; return(RedirectToAction("Index")); } catch (Exception exp) { log.EsqueciMinhaSenha_Envio_Erro(vEmail.Id, codigo, exp); TempData["TrocaSenhaNotOK"] = "Ocorreu um erro ao tentar enviar o link, por favor tente novamente"; return(RedirectToAction("Index")); } finally { _db.Int_DP_Logs.Add(log); _db.SaveChanges(); } } else { TempData["TrocaSenhaNotOK"] = "Esta email não está cadastrado no sistema"; return(RedirectToAction("Index")); } }
public void EnviarArquivoTxt(List <IFormFile> files, byte codigo) { DateTime agora = Globalization.HoraAtualBR(); if (files.Count > 0) { foreach (var file in files) { string path = Path.Combine( Directory.GetCurrentDirectory(), "wwwroot\\textfiles", string.Concat(codigo.ToString(), "_", file.FileName)); using (FileStream fs = System.IO.File.Create(path)) { file.CopyTo(fs); fs.Flush(); } Arquivo arquivo = new Arquivo() { Nome = file.FileName, Processado = 0, Path = path, DataProcessamento = agora, DataEnvio = agora, Tipo = codigo }; _db.Int_RH_Arquivos.Add(arquivo); _db.SaveChanges(); } } }
public ActionResult Cadastrar([FromForm]Usuario user, string confirmasenha) { int loja = _db.Int_RH_Usuarios.Where(a => a.Id == user.Id).Select(s => s.Loja.Id).FirstOrDefault(); user.Loja = _db.Int_RH_Lojas.Find(loja); ViewBag.User = user; if (ValidarSenha(user.Senha)) { if (user.Senha.Equals(confirmasenha)) { Log log = new Log(); try { user.Senha = user.Senha.Replace(",", "").Replace(".", "").Replace("'", "").Trim(); Usuario user_cad = _db.Int_RH_Usuarios.Find(user.Id); user_cad.DataCadastro = Globalization.HoraAtualBR(); user_cad.Email = user.Email; user_cad.Celular = Shared.RetirarCaracteres(user.Celular); user_cad.Telefone = Shared.RetirarCaracteres(user.Telefone); user_cad.Nivel = 2; //Usuário Comum user_cad.Senha = Criptografia.GetMd5Hash(user.Senha); user_cad.Cadastrado = 1; user_cad.Ativo = 1; user_cad.Verificado = 0; //Email não foi verificado _db.SaveChanges(); EnviarValidacaoEmail(user_cad.Id); TempData["MensagemSucessoIndex"] = "Cadastro efetuado com Sucesso!"; log.CadastrarUsuario(user.Id); return RedirectToAction("Index", "Home"); } catch (Exception exp) { TempData["CadastroNotOK"] = "Ocorreu um erro ao tentar cadastrar, por favor, tente novamente"; log.CadastrarUsuario_Erro(user.Id, exp); } finally { _db.Int_RH_Logs.Add(log); _db.SaveChanges(); } } else { TempData["SenhaNaoValidada"] = "Senhas não conferem!"; } } return View(); }
public IActionResult Index() { ViewBag.Ocorrencia = new Ocorrencia(); ViewBag.Ocorrencia.Data = Globalization.HoraAtualBR(); ViewBag.Anexo = ""; OcorrenciasFaltantes(); return(View(new Ocorrencia())); }
public void RegistrarProcessamento(long id) { Arquivo file = _db.Int_RH_Arquivos.Find(id); file.DataProcessamento = Globalization.HoraAtualBR(); file.Processado = 1; _db.SaveChanges(); // ///INCLUIR CODIGO *INSERT* LOG AQUI/// // }
public ActionResult RHO_Incluir([FromForm] RHO_Usuario usuario) { DeclararViewBags(); ViewBag.RHOFunc = usuario; usuario.CPF = usuario.CPF.Replace(".", "").Replace("-", "").Replace("/", "").Replace("\\", "").Replace(",", "").Trim(); RHO_Usuario vUsuario = _db.Int_RH_Usuarios.Where(a => a.CPF.Equals(usuario.CPF)).FirstOrDefault(); if (vUsuario == null) { usuario.DataCadastro = Globalization.HoraAtualBR(); usuario.UltimoAcesso = Globalization.HoraAtualBR(); usuario.Nivel = 2; usuario.Ativo = 1; usuario.Cadastrado = 0; ViewBag.RHOFunc = usuario; if (usuario.CPF.Length == 11) { try { _db.Int_RH_Usuarios.Add(usuario); _db.SaveChanges(); TempData["RHO_IncluirOK"] = "Inclusão efetuada com sucesso, código: " + usuario.CodigoAtivacao; return(RedirectToAction("RHO_Incluir")); } catch (Exception exp) { TempData["RHO_IncluirNotOK"] = "Ocorreu um Erro ao tentar incluir o funcionário"; return(View("RHO_Incluir")); } } else { TempData["RHO_IncluirNotOK"] = "CPF não valido"; return(View("RHO_Incluir")); } } else { TempData["RHO_IncluirNotOK"] = "CPF já cadastrado no sistema!"; return(View("RHO_Incluir")); } }
public void VerificarExperiencias() { int diasAvaliacao = 7; //A cada quantos dias a avaliação deve ser requisitada int id_user = HttpContext.Session.GetInt32("ID") ?? 0; Usuario encarregado = _db.Int_DP_Usuarios.Find(id_user); int loja = _db.Int_DP_Usuarios.Where(a => a.Id == id_user).Select(s => s.Loja.Id).FirstOrDefault(); encarregado.Loja = _db.Int_DP_Lojas.Find(loja); DateTime hoje = Globalization.HoraAtualBR(); List <Funcionario> lista_funcionarios = new List <Funcionario>(); List <Funcionario> funcs_exp = _db.Int_DP_Funcionarios .Where(a => a.Setor.Id == encarregado.Setor.Id && a.Loja.Id == encarregado.Loja.Id && a.Exp_DataInicio <= hoje && a.Exp_DataFim >= hoje && a.Ativo == 1) .OrderBy(o => o.Nome) .ToList(); if (funcs_exp.Count > 0) { foreach (var func in funcs_exp) { DateTime ultimaAvaliacao = _db.Int_DP_Avaliacoes .Where(a => a.Funcionario.Id == func.Id) .OrderByDescending(o => o.DataAvaliacao) .Select(s => s.DataAvaliacao) .FirstOrDefault(); if (ultimaAvaliacao <= hoje.AddDays(diasAvaliacao * -1) || ultimaAvaliacao == null) { lista_funcionarios.Add(func); } } if (lista_funcionarios.Count > 0) { ViewBag.Experiencia = lista_funcionarios; } else { ViewBag.Experiencia = null; } } else { ViewBag.Experiencia = null; } }
public ActionResult TrocarSenha(long? key) { long key2 = key ?? 1; DateTime agora = Globalization.HoraAtualBR(); var vKey = _db.Int_DP_ValidSenhas.Find(key2); if (vKey != null) { if (vKey.DataExpiracao >= agora) { if (vKey.Utilizado == 0) { Usuario usuario = _db.Int_RH_Usuarios.Find(vKey.Usuario); vKey.Utilizado = 1; _db.SaveChanges(); ViewBag.Senha = ""; ViewBag.Nome = usuario.Nome; ViewBag.Email = usuario.Email; ViewBag.IdSenha = usuario.Id; ViewBag.TrocarSenha = vKey; return View(); } else { //Quando o link já foi utilizado TempData["MensagemErroIndex"] = "Link já Utilizado"; return RedirectToAction("Index"); } } else { TempData["MensagemErroIndex"] = "Link Expirado"; return RedirectToAction("Index"); } } else { TempData["MensagemErroIndex"] = "Link Inválido"; return RedirectToAction("Index"); } }
public ActionResult Cadastrar([FromForm] Mensagem mensagem) { int idNotNull = HttpContext.Session.GetInt32("ID") ?? 0; Usuario vRemetente = _db.Int_DP_Usuarios.Find(idNotNull); mensagem.Remetente = vRemetente; mensagem.Data = Globalization.HoraAtualBR(); if (ModelState.IsValid == true) { Log log = new Log(); try { _db.Int_DP_Mensagens.Add(mensagem); _db.SaveChanges(); log.EnviarMensagem(idNotNull, mensagem.Id); _db.Int_DP_Logs.Add(log); TempData["MensagemEnviada"] = "Mensagem enviada com sucesso!"; } catch (Exception exp) { log.EnviarMensagem_Erro(idNotNull, exp); _db.Int_DP_Logs.Add(log); TempData["MensagemNaoEnviada"] = "Ocorreu um erro ao enviar a mensagem, por favor, envie novamente!"; } finally { _db.SaveChangesAsync(); } return(RedirectToAction("Index")); } else { TempData["MensagemNaoEnviada"] = "Ocorreu um erro ao enviar a mensagem, por favor, envie novamente!"; return(RedirectToAction("Index")); } }
public IActionResult ImprimirDetalhes(long?id) { long id_notnull = id ?? 0; int user_id = HttpContext.Session.GetInt32("ID") ?? 0; string data = Globalization.DataRelatorioPdfBR(); Funcionario func = _db.Int_DP_Funcionarios.Find(id_notnull); func.Loja = _db.Int_DP_Lojas.Where(a => a.Id == func.Loja.Id).FirstOrDefault(); func.Setor = _db.Int_DP_Setores.Where(a => a.Id == func.Setor.Id).FirstOrDefault(); List <Avaliacao> avaliacoes = _db.Int_DP_Avaliacoes .Where(a => a.Funcionario.Id == func.Id) .OrderByDescending(o => o.DataAvaliacao) .ToList(); DetalhesFuncViewModel detalhesVM = new DetalhesFuncViewModel { Funcionario = func, Usuario = _db.Int_DP_Usuarios.Find(user_id), Avaliacoes = avaliacoes, Data = Globalization.HoraAtualBR() }; ViewAsPdf relatorioPDF = new ViewAsPdf { WkhtmlPath = "~/OcorrenciasDP/wwwroot/Rotativa", ViewName = "DetalhesEmPDF", IsGrayScale = false, Model = detalhesVM, PageOrientation = Rotativa.AspNetCore.Options.Orientation.Portrait, CustomSwitches = "--page-offset 0 --footer-left " + data + " --footer-right [page]/[toPage] --footer-font-size 8", PageSize = Rotativa.AspNetCore.Options.Size.A4 }; return(relatorioPDF); }
public ActionResult Avaliacao([FromForm] Avaliacao avaliacao) { Log log = new Log(); int id_notnull = HttpContext.Session.GetInt32("ID") ?? 0; try { avaliacao.DataAvaliacao = Globalization.HoraAtualBR(); avaliacao.Funcionario = _db.Int_DP_Funcionarios.Find(avaliacao.Funcionario.Id); avaliacao.Encarregado = _db.Int_DP_Usuarios.Find(id_notnull); _db.Int_DP_Avaliacoes.Add(avaliacao); _db.SaveChanges(); TempData["AvaliacaoOK"] = "Avaliação enviada com sucesso!"; log.EnviarAvaliacao(id_notnull, avaliacao.Funcionario.Id); _db.Int_DP_Logs.Add(log); _db.SaveChanges(); return(RedirectToAction("Inicio")); } catch (Exception exp) { TempData["AvaliacaoNotOK"] = "Ocorreu um erro ao tentar enviar a avaliação, por favor, tente novamente!"; log.EnviarAvaliacao_Erro(id_notnull, avaliacao.Funcionario.Id, exp); _db.Int_DP_Logs.Add(log); _db.SaveChanges(); return(RedirectToAction("Inicio")); } }
public void GerarId() { DateTime agora = Globalization.HoraAtualBR(); int data = agora.Day + agora.Month + agora.Year + agora.Hour + agora.Minute + agora.Second + agora.Millisecond; string id = Usuario.Id + CompetenciaMes.ToString("00") + CompetenciaAno.ToString("0000") + data.ToString(); int digitoVerificador = 0; for (int i = 0; i < id.Length; i++) { digitoVerificador += int.Parse(id.Substring(i, 1)); } id += digitoVerificador.ToString().Substring(0, 1); this.Id = long.Parse(id); //Converte o Id para Hexadecimal e aloca na Autenticação this.Autenticacao = this.Id.ToString("X"); }
public ActionResult Excluir(int id) { Log log = new Log(); int user_id = HttpContext.Session.GetInt32("ID") ?? 0; try { Usuario usuario = _db.Int_DP_Usuarios.Find(id); string usuario_temp = usuario.Login; usuario.Ativo = 0; usuario.Login = string.Concat(usuario.Login, Globalization.HoraAtualBR().Day.ToString(), Globalization.HoraAtualBR().Second.ToString(), Globalization.HoraAtualBR().Minute.ToString()); //_db.Int_Dp_Usuarios.Remove(usuario); _db.SaveChanges(); TempData["UsuarioExcluido"] = "O usuário '" + usuario_temp + "' foi excluido!"; log.ExcluirUsuario(user_id, id); _db.Int_DP_Logs.Add(log); } catch (Exception exp) { TempData["UsuarioErro"] = "Ocorreu um erro ao tentar excluir o usuário"; log.ExcluirUsuario_Erro(user_id, id, exp); _db.Int_DP_Logs.Add(log); } finally { _db.SaveChanges(); } return RedirectToAction("Index"); }
public ActionResult Login(string cpf, string senha) { cpf = Shared.RetirarCaracteres(cpf); Usuario user = _db.Int_RH_Usuarios.Where(a => a.CPF.Equals(cpf)).FirstOrDefault(); if (user != null) { ViewBag.User = user; if (user.Ativo == 1) { senha = senha.Replace(",", "").Replace(".", "").Replace("'", "").Replace(".", "").Trim(); bool senha_comparacao = Criptografia .VerifyMd5Hash(senha.Replace(",", "").Replace(".", "").Replace("'", "").Trim(), user.Senha); if (senha_comparacao) { Log log = new Log(); try { int loja = _db.Int_RH_Usuarios.Where(a => a.Id == user.Id).Select(s => s.Loja.Id).FirstOrDefault(); user.Loja = _db.Int_RH_Lojas.Find(loja); HttpContext.Session.SetInt32("ID", user.Id); HttpContext.Session.SetInt32("Nivel", user.Nivel); //1: Administrador, 2: Usuario Comum, 3: Suporte HttpContext.Session.SetInt32("Loja", user.Loja.Id); HttpContext.Session.SetString("Nome", user.Nome); HttpContext.Session.SetString("CPF", user.CPF); HttpContext.Session.SetString("UltimoAcesso", Globalization.DataHoraExtensoBR(user.UltimoAcesso)); user.UltimoAcesso = Globalization.HoraAtualBR(); _db.SaveChanges(); log.LogIn(user.Id); return RedirectToAction("Inicio"); } catch (Exception exp) { string mensagem = exp.Message; TempData["MensagemErroIndex"] = "Ocorreu um erro ao tentar efetuar o login"; log.LogIn_Erro(user.Id, exp); return RedirectToAction("Index"); } finally { _db.Int_RH_Logs.Add(log); _db.SaveChanges(); } } else { TempData["MensagemErroIndex"] = "Senha Incorreta!"; return RedirectToAction("Index"); } } else { TempData["MensagemErroIndex"] = "Usuário não está ativo"; return RedirectToAction("Index"); } } else { TempData["MensagemErroIndex"] = "Usuário não encontrado!"; return RedirectToAction("Index"); } }
public ActionResult EnviarLinkSenha(string cpf) { string codigo; DateTime agora = Globalization.HoraAtualBR(); cpf = Shared.RetirarCaracteres(cpf); Usuario user = _db.Int_RH_Usuarios.Where(a => a.CPF.Equals(cpf)).FirstOrDefault(); if (user != null) { if (user.Email != null && user.Email != "") { codigo = "99" + user.Id.ToString() + agora.Minute.ToString() + agora.Month.ToString() + agora.Day.ToString() + agora.Year.ToString().Substring(2, 2) + user.CPF.Substring(3, 3) + agora.Hour.ToString(); ValidacaoSenha valid = new ValidacaoSenha { Id = long.Parse(codigo), Data = agora, DataExpiracao = agora.AddHours(5), Utilizado = 0, Usuario = user.Id }; _db.Int_DP_ValidSenhas.Add(valid); _db.SaveChanges(); Log log = new Log(); try { string nome = Shared.PegarPrimeiroNome(user.Nome); Library.Mail.EnviarLinkSenha.EnviarLinkTrocarSenha(user.Email, codigo, nome); //log.EsqueciMinhaSenha_Envio(vEmail.Id, codigo); log.EsqueciMinhaSenha_Envio(user.Id, codigo); TempData["MensagemSucessoIndex"] = "Um link foi enviado ao seu e-mail com instruções para trocar a senha"; return RedirectToAction("Index"); } catch (Exception exp) { //log.EsqueciMinhaSenha_Envio_Erro(vEmail.Id, codigo, exp); TempData["MensagemErroIndex"] = "Ocorreu um erro ao tentar enviar o link, por favor tente novamente"; log.EsqueciMinhaSenha_Envio_Erro(user.Id, codigo, exp); return RedirectToAction("Index"); } finally { _db.Int_RH_Logs.Add(log); _db.SaveChanges(); } } else { TempData["MensagemErroIndex"] = "Não há e-mail cadastrado para esse CPF, entre em contato com o TI!"; } } else { TempData["MensagemErroIndex"] = "CPF não encontrado!"; } return RedirectToAction("Index"); }
public Log() { this.Sistema_Operacional = Environment.OSVersion.VersionString; this.Data = Globalization.HoraAtualBR(); }
public ActionResult Atualizar([FromForm] Ocorrencia ocorrencia) { //POST - Request.Form (HTML) //GET - Request.QueryString (URL) //Ocorrencia ocorrencia = new Ocorrencia(); ocorrencia.Data = DateTime.Parse(Request.Form["data"]); ocorrencia.Descricao = Request.Form["descricao"]; ocorrencia.Anexo = Request.Form["anexo"]; int id_notnull = HttpContext.Session.GetInt32("ID") ?? 0; Usuario usuario = _db.Int_DP_Usuarios.Find(id_notnull); ocorrencia.Usuario = usuario; ocorrencia.DataEnvio = Globalization.HoraAtualBR(); if (ModelState.IsValid) { ViewBag.Ocorrencia = new Ocorrencia(); ViewBag.Ocorrencia.Data = Globalization.HoraAtualBR(); Log log = new Log(); try { _db.Int_DP_Ocorrencias.Add(ocorrencia); _db.SaveChanges(); OcorrenciasFaltantes(); List <DateTime> diasFaltantes = new List <DateTime>(); if (ViewBag.Calendario != null) { diasFaltantes = ViewBag.Calendario; } if (diasFaltantes.Count < 3) { TempData["MsgOcorrenciaOK"] = "Ocorrência Cadastrada com Sucesso"; } else { TempData["MsgOcorrenciaAlerta"] = "Ocorrencia Cadastrada com sucesso, porém você ainda tem " + diasFaltantes.Count + " ocorrências para enviar!"; } log.IncluirOcorrencia(id_notnull, ocorrencia.Id); _db.Int_DP_Logs.Add(log); } catch (Exception exp) { //MsgOcorrenciaNotOK já está em uso! TempData["MsgOcorrenciaNotOK2"] = "Ocorreu um erro ao enviar, por favor, tente novamente..."; log.IncluirOcorrencia_Erro(id_notnull, exp); _db.Int_DP_Logs.Add(log); } finally { _db.SaveChanges(); } return(View("Index", ocorrencia)); } return(View()); }
public ActionResult Index([FromForm] Ocorrencia ocorrencia, IFormFile anexo, string update) { if (ocorrencia.Descricao == null) { ocorrencia.Descricao = "Não houve ocorrências"; } int id_notnull = HttpContext.Session.GetInt32("ID") ?? 0; Usuario usuario = _db.Int_DP_Usuarios.Find(id_notnull); ocorrencia.Usuario = usuario; ocorrencia.DataEnvio = Globalization.HoraAtualBR(); OcorrenciasFaltantes(); List <DateTime> diasFaltantes = new List <DateTime>(); if (ViewBag.Calendario != null) { diasFaltantes = ViewBag.Calendario; } if (ModelState.IsValid) { //SELECT * FROM INT_DP_OCORRENCIAS WHERE DATA = '" & Format(Data.Text, "YYYYMMDD") & "'"; Ocorrencia vOcorrencia = _db.Int_DP_Ocorrencias .Where(o => o.Data.Equals(ocorrencia.Data) && (o.Usuario.Id == ocorrencia.Usuario.Id) && o.Ativo == 1) .FirstOrDefault(); //Se for igual a null, não há nenhuma ocorrencia lançada com a data informada if (vOcorrencia == null || update == "true") { ViewBag.Ocorrencia = new Ocorrencia(); ViewBag.Ocorrencia.Data = Globalization.HoraAtualBR(); Log log = new Log(); if (anexo != null) { ViewBag.Ocorrencia.Anexo = anexo.FileName; ocorrencia.Anexo = anexo.FileName; ViewBag.Anexo = anexo; } try { _db.Int_DP_Ocorrencias.Add(ocorrencia); _db.SaveChanges(); log.IncluirOcorrencia(ocorrencia.Usuario.Id, ocorrencia.Id); _db.Int_DP_Logs.Add(log); } catch (Exception exp) { log.IncluirOcorrencia_Erro(id_notnull, exp); _db.Int_DP_Logs.Add(log); TempData["MsgOcorrenciaNotOK2"] = "Ocorreu um erro ao enviar, por favor, tente novamente..."; OcorrenciasFaltantes(); return(View("Index", ocorrencia)); } finally { _db.SaveChanges(); } idOcorrencia = ocorrencia.Id.ToString() + "_"; if (anexo != null) { UploadFile(anexo); } if (diasFaltantes.Count < 3) { TempData["MsgOcorrenciaOK"] = "Ocorrência Cadastrada com Sucesso"; } else { TempData["MsgOcorrenciaAlerta"] = "Ocorrencia Cadastrada com sucesso, porém você ainda tem " + diasFaltantes.Count + " ocorrências para enviar!"; } OcorrenciasFaltantes(); //Atualiza as datas return(View("Index", ocorrencia)); } else { ViewBag.Ocorrencia = ocorrencia; if (anexo != null) { ViewBag.Ocorrencia.Anexo = anexo.FileName; } //### Gerar alerta para o usuário perguntando se ele quer que atualize a pagina, se sim, executa este código, senão, não executa e volta pra View; TempData["MsgOcorrenciaNotOK"] = "Já existe uma ocorrencia cadastrada para esta data!"; //Retorna o valor como Objeto Ocorrencia para a View OcorrenciasFaltantes(); return(View("Index", ocorrencia)); } } ViewBag.Ocorrencia = ocorrencia; if (anexo != null) { ViewBag.Ocorrencia.Anexo = anexo.FileName; } OcorrenciasFaltantes(); return(View()); }
public void OcorrenciasFaltantes() { if (HttpContext.Session.GetString("Perfil") != "admin") { List <DateTime> dias = new List <DateTime>(); //30 últimos dias List <DateTime> enviados = new List <DateTime>(); //Ultimas ocorrências enviadas List <DateTime> calend = new List <DateTime>(); //Dias - Falta List <DateTime> calend_final = new List <DateTime>(); //Calend - Finais de Semana try { int id_user = HttpContext.Session.GetInt32("ID") ?? 0; DateTime dataCadastro = _db.Int_DP_Usuarios .Where(a => a.Id == id_user) .Select(s => s.DataCadastro) .FirstOrDefault(); List <DateTime> feriados = _db.Int_DP_Feriados .OrderByDescending(a => a.Data) .Select(s => s.Data) .ToList(); int usuario = HttpContext.Session.GetInt32("ID") ?? 0; TimeSpan diff = Globalization.HoraAtualBR().Subtract(dataCadastro); //Diferença de dias entre data do cadastro e hoje DateTime dataInicial; if (diff.Days >= 30) { //dataInicial = DateTime.Today.AddDays(-30); dataInicial = Globalization.HojeBR().AddDays(-30); //Adiciona 30 dias anteriores a hoje na lista for (int i = 29; i >= 0; i--) { dias.Add(Globalization.HojeBR().AddDays(i * -1)); } } else { dataInicial = dataCadastro.Date; for (int i = diff.Days; i >= 0; i--) { //dias.Add(DateTime.Today.AddDays(i * -1)); dias.Add(Globalization.HojeBR().AddDays(i * -1)); } } enviados = _db.Int_DP_Ocorrencias .Where(a => a.Data >= dataInicial && a.Usuario.Id == usuario && a.Ativo == 1) .OrderByDescending(a => a.Data) .Select(a => a.Data) .ToList(); //Pega os útimos 30 dias calend = dias.Except(enviados).ToList(); //Retira os dias que foram enviados calend = calend.Except(feriados).ToList(); //Retira os feriados //Retira o sábado e o domingo da lista foreach (DateTime dia in calend) { if (!dia.DayOfWeek.Equals(DayOfWeek.Saturday) && !dia.DayOfWeek.Equals(DayOfWeek.Sunday)) { calend_final.Add(dia); } } //calend_final.Reverse(); //Reverte a ordem das datas para decrescente ViewBag.Calendario = calend_final; } catch (Exception) { ViewBag.Calendario = null; } } }
public ActionResult Cadastrar([FromForm] Funcionario func, int exp_periodo) { DeclararViewBags(); ViewBag.Func = new Funcionario(); int id_notnull = HttpContext.Session.GetInt32("ID") ?? 1; DateTime hoje = Globalization.HojeBR(); //Verifica se há um funcionário com o mesmo nome e encarregado cadastrado Funcionario vFuncionario = _db.Int_DP_Funcionarios .Where(a => a.Nome.Equals(func.Nome) && a.Setor.Id == func.Setor.Id && a.Loja.Id == func.Loja.Id && a.Ativo == 1) .FirstOrDefault(); if (vFuncionario == null) { Log log = new Log(); try { func.DataCadastro = Globalization.HoraAtualBR(); func.Setor = _db.Int_DP_Setores.Find(func.Setor.Id); func.Loja = _db.Int_DP_Lojas.Find(func.Loja.Id); int id_user = HttpContext.Session.GetInt32("ID") ?? 0; func.CadastradoPor = _db.Int_DP_Usuarios.Find(id_user); func.Exp_DataFim = func.Exp_DataInicio.AddDays(exp_periodo); if (exp_periodo != 0) { if (func.Exp_DataFim >= hoje && func.Exp_DataInicio <= hoje) { func.Experiencia = 1; } else { func.Experiencia = 0; } } else { func.Experiencia = 0; } _db.Int_DP_Funcionarios.Add(func); _db.SaveChanges(); log.CadastrarFuncionario(id_notnull, func.Id); _db.SaveChanges(); TempData["FuncionarioOK"] = "Funcionário cadastrado com sucesso!"; return(RedirectToAction("Index")); } catch (Exception exp) { ViewBag.Func = func; log.CadastrarFuncionario_Erro(id_notnull, func.Id, exp); _db.SaveChanges(); TempData["FuncionarioNotOK"] = "Ocorreu um erro ao tentar inserir o funcionário!"; return(View()); } } else { if (exp_periodo != 0) { func.Experiencia = 1; } else { func.Experiencia = 0; } ViewBag.Func = func; TempData["FuncionarioNotOK"] = "Já existe um funcionário cadastrado com esse Nome e Setor"; } return(View()); }
public ActionResult Cadastrar([FromForm]Usuario usuario, string confirmasenha) { Setor vSetor = _db.Int_DP_Setores.Find(usuario.Setor.Id); usuario.Setor = vSetor; Loja vLoja = _db.Int_DP_Lojas.Find(usuario.Loja.Id); usuario.Loja = vLoja; ViewBag.User = new Usuario(); ViewBag.Setores2 = setores2; ViewBag.Lojas = _db.Int_DP_Lojas.OrderBy(a => a.Id).ToList(); if (ModelState.IsValid) { Usuario vUsuario = _db.Int_DP_Usuarios.Where(a => a.Login.Equals(usuario.Login)).FirstOrDefault(); if (vUsuario == null) { usuario.Login = usuario.Login.ToLower(); //Passa para minúsculo o Login usuario.Senha = usuario.Senha.Replace(";", "").Replace(",", "").Replace(".", "").Replace("'", "").ToLower(); //Passa para minúsculo a Senha confirmasenha = confirmasenha.Replace(";", "").Replace(",", "").Replace(".", "").Replace("'", "").ToLower(); //Passa para minúsculo a Confirmação da Senha if (usuario.Email != null) { usuario.Email = usuario.Email.ToLower(); } else { usuario.Email = ""; } usuario.UltimoLogin = Globalization.HoraAtualBR(); usuario.DataCadastro = Globalization.HoraAtualBR(); if (usuario.Senha == confirmasenha) { Usuario vEmail = new Usuario(); if (usuario.Email != null && usuario.Email != "") { vEmail = _db.Int_DP_Usuarios.Where(a => a.Email == usuario.Email && a.Ativo == 1).FirstOrDefault(); } else { vEmail = null; } if (vEmail == null) { int id_user = HttpContext.Session.GetInt32("ID") ?? 0; try { _db.Int_DP_Usuarios.Add(usuario); _db.SaveChanges(); Log log = new Log(); log.CadastrarUsuario(id_user, usuario.Id); _db.Int_DP_Logs.Add(log); TempData["CadastroUserOK"] = "O usuário '" + usuario.Login + "' foi cadastrado com sucesso!"; } catch (Exception exp) { Log log = new Log(); log.CadastrarUsuario_Erro(id_user, usuario.Login, exp); _db.Int_DP_Logs.Add(log); TempData["CadastroUserNotOK"] = "Erro ao cadastrar o usuário!"; } finally { _db.SaveChanges(); } return RedirectToAction("Index"); } else { TempData["ExisteUsuario"] = "Já existe um usuário com esse email cadastrado!"; ViewBag.User = usuario; return View(); } } else { TempData["SenhaNaoConfere"] = "Senhas não conferem!"; ViewBag.User = usuario; return View(); } } else { TempData["ExisteUsuario"] = "Já existe um usuário com esse login, favor escolher outro!"; ViewBag.User = usuario; return View(); } } return View(); }
public ActionResult Index([FromForm] Usuario usuario) { if (ModelState.IsValid) //Se a autenticação é válida { //Verifica se o login existe no banco Usuario vLogin = _db.Int_DP_Usuarios.Where(a => a.Login.Equals(usuario.Login)).FirstOrDefault(); //Se existir ele entra no if if (vLogin != null) { //Verifica se está ativo if (vLogin.Ativo == 1) { //Verifica se a senha está correta if (Equals(vLogin.Senha, usuario.Senha.Replace(";", "").Replace(",", "").Replace(".", "").Replace("'", "").ToLower())) { try { //Envia para a página HttpContext.Session.SetString("Login", vLogin.Nome); HttpContext.Session.SetString("Setor", vLogin.Setor.Nome); HttpContext.Session.SetString("Perfil", vLogin.Perfil); HttpContext.Session.SetInt32("ID", vLogin.Id); HttpContext.Session.SetString("UltimoAcesso", vLogin.UltimoLogin.ToString("dd/MM/yyyy HH:mm:ss")); HttpContext.Session.SetString("Visualizado", "false"); int loja = _db.Int_DP_Usuarios.Where(a => a.Id == vLogin.Id).Select(s => s.Loja.Id).FirstOrDefault(); HttpContext.Session.SetInt32("Loja", loja); vLogin.UltimoLogin = Globalization.HoraAtualBR(); Log log = new Log(); log.LogIn(vLogin.Id); _db.Int_DP_Logs.Add(log); _db.SaveChanges(); return(RedirectToAction("Inicio", "Home")); //Vai para a página de Início } catch (Exception exp) { Log log = new Log(); log.LogIn_Erro(vLogin.Id, exp); _db.Int_DP_Logs.Add(log); _db.SaveChanges(); HttpContext.Session.Clear(); //Limpa a sessão para voltar ao início TempData["MensagemErro"] = "Ocorreu um erro ao tentar logar"; return(RedirectToAction("Index", "Home")); } } else { TempData["MensagemErro"] = "Senha incorreta"; return(View(usuario)); } } else { TempData["MensagemErro"] = "O Usuário não está Ativo"; return(View(usuario)); } } else { TempData["MensagemErro"] = "Usuário não Encontrado"; return(View(usuario)); } } return(View()); }