public async Task <IActionResult> Delete(int id) { Usuario user = await _userManager.GetUserAsync(HttpContext.User); Informativo info = _context.Informativo.Single(q => q.Id == id && q.IdUsuario == user.Id); var attachmentsPath = Path.Combine(_environment.WebRootPath, "attachment", id.ToString()); try { System.IO.Directory.Delete(attachmentsPath); } catch { } _context.Informativo.Remove(info); try { _context.SaveChanges(); return(new NoContentResult()); } catch { return(new BadRequestResult()); } }
public void Inserir(Informativo informativo) { using (SqlServerDao dao = new InformativoDao()) { //Informativo Informativo = dao.Buscar<Informativo>(p => p.Nome.Equals(nome)).FirstOrDefault(); dao.Inserir(informativo); } }
public Informativo InformativoAleatorio() { using (SqlServerDao dao = new InformativoDao()) { Informativo informativo = (Informativo)dao.Buscar <Informativo>(p => p.Id > 0).FirstOrDefault(); return(informativo); } }
public Informativo BuscarInformativoPorTitulo(string titulo) { using (SqlServerDao dao = new InformativoDao()) { Informativo informativo = dao.Buscar <Informativo>(p => p.Titulo == titulo).FirstOrDefault(); return(informativo); } }
public void Inserir() { Informativo informativo = new Informativo() { Titulo = "Guardanapo Engordurado!", Descricao = "Não se esqueça, guardanapos engordurados não são recicláveis!" }; using (SqlServerDao dao = new SqlServerDao()) { dao.Inserir <Informativo>(informativo); List <Informativo> informativos = dao.ListarTodos <Informativo>(); dao.Dispose(); Assert.IsNotNull(informativos); } }
public void AdmInformativo() { using (SqlServerDao dao = new SqlServerDao()) { Administrador adm = dao.BuscarPorId <Administrador>(3); Informativo informativo = new Informativo() { Titulo = "Informativo teste", Descricao = "Informativo para teste, vai funcionar, e o relacionamento vai estar nice" }; informativo.Administradores.Add(adm); dao.Inserir <Informativo>(informativo); var test = dao.ListarTodos <Informativo>(); Assert.IsNotNull(test); } }
public void Atualizar(Informativo informativo) { using (Connection = new SqlConnection(StringConnection)) { var parametros = new DynamicParameters(); parametros.Add("@IdInformativo", informativo.Id); parametros.Add("@IdFuncionario", informativo.Funcionario.Id); parametros.Add("@Titulo", informativo.Titulo); parametros.Add("@Descricao", informativo.Descricao); parametros.Add("@DataCadastro", DateTime.Now); parametros.Add("@Ativo", EntidadeAtiva.Ativo); Connection.Execute("Update_Informativo", parametros, commandType: CommandStoredProcedure); } if (informativo.Documento != null) { AtualizarDocumento(informativo.Id, informativo.Documento); } }
internal void WriteToIni(ACBrIniFile iniFile) { var sessao = Index > 0 ? $"Titulo{Index}" : "Titulo"; iniFile.WriteToIni(this, sessao); iniFile.WriteToIni(OcorrenciaOriginal, sessao); iniFile.WriteToIni(Sacado, sessao); if (!string.IsNullOrEmpty(Sacado.Avalista.CNPJCPF)) { iniFile.WriteToIni(Sacado.Avalista, sessao); } if (Mensagem.Any()) { iniFile[sessao]["Mensagem"] = string.Join("|", Mensagem.Select(x => Regex.Replace(x, @"\r\n?|\n", ""))); } if (Detalhamento.Any()) { iniFile[sessao]["Detalhamento"] = string.Join("|", Detalhamento.Select(x => Regex.Replace(x, @"\r\n?|\n", ""))); } if (Informativo.Any()) { iniFile[sessao]["Informativo"] = string.Join("|", Informativo.Select(x => Regex.Replace(x, @"\r\n?|\n", ""))); } if (!NotaFiscais.Any()) { return; } var sessaoNfe = Index > 0 ? $"NFe{Index}-" : "NFe"; for (var i = 0; i < NotaFiscais.Count; i++) { iniFile.WriteToIni(NotaFiscais[i], $"{sessaoNfe}{i + 1}"); } }
public async Task <InformativoDTO> Get() { Usuario user = await _userManager.GetUserAsync(HttpContext.User); Informativo info = _context.Informativo .Include(q => q.Attachments) .Include(q => q.Doadores) .ThenInclude(q => q.Doador) .Include(q => q.Usuario) .Include(q => q.Usuarios) .ThenInclude(q => q.Usuario) .Include(q => q.Voluntarios) .ThenInclude(q => q.Voluntario) .Where(q => q.IdUsuario == user.Id) .SingleOrDefault(); if (info == null) { info = new Informativo() { Subject = "", Usuario = user, Body = "", Doadores = new List <InformativoDoador>(), Usuarios = new List <InformativoUsuario>(), Voluntarios = new List <InformativoVoluntario>(), Attachments = new List <Attachment>() }; _context.Informativo.Add(info); _context.SaveChanges(); } InformativoDTO infoDto = new InformativoDTO() { Id = info.Id, Subject = info.Subject, Body = info.Body, DoadoresFisicos = new List <DoadorDTO>(), DoadoresJuridicos = new List <DoadorDTO>(), Usuarios = info.Usuarios.Select(q => new UsuarioDTO() { Id = q.Usuario.Id, Nome = q.Usuario.Nome, Email = q.Usuario.Email }).ToList(), Voluntarios = info.Voluntarios.Select(q => new VoluntarioDTO() { Id = q.Voluntario.Id, Nome = q.Voluntario.Nome, Email = q.Voluntario.Email }).ToList(), Attachments = info.Attachments.Select(q => new AttachmentDTO() { Id = q.Id, FileName = q.FileName }).ToList() }; foreach (var d in info.Doadores) { if (d.Doador.GetType() == typeof(PessoaFisica)) { infoDto.DoadoresFisicos.Add(new DoadorDTO() { Id = d.CodDoador, Email = d.Doador.Email, NomeRazaoSocial = ((PessoaFisica)d.Doador).Nome }); } else { infoDto.DoadoresJuridicos.Add(new DoadorDTO() { Id = d.CodDoador, Email = d.Doador.Email, NomeRazaoSocial = ((PessoaJuridica)d.Doador).RazaoSocial }); } } return(infoDto); }
public async Task <IActionResult> Send(int id) { Usuario user = await _userManager.GetUserAsync(HttpContext.User); Informativo info = _context.Informativo .Include(q => q.Attachments) .Include(q => q.Doadores) .ThenInclude(q => q.Doador) .Include(q => q.Usuario) .Include(q => q.Usuarios) .ThenInclude(q => q.Usuario) .Include(q => q.Voluntarios) .ThenInclude(q => q.Voluntario) .SingleOrDefault(q => q.Id == id && q.IdUsuario == user.Id); if (info == null) { return(new BadRequestResult()); } //envia List <string> emails = (info.Doadores.Select(q => q.Doador.Email) .Union(info.Usuarios.Select(q => q.Usuario.Email)) .Union(info.Voluntarios.Select(q => q.Voluntario.Email))).ToList(); List <MimePart> attachments = new List <MimePart>(); foreach (var a in info.Attachments) { attachments.Add(a.GetMimePart(_environment.WebRootPath)); } _emailSender.SendEmailAsync(emails, info.Subject, info.Body, attachments); //apaga tudo try { foreach (var a in attachments) { a.ContentObject.Stream.Dispose(); } var attachmentsPath = Path.Combine(_environment.WebRootPath, "attachment", id.ToString()); System.IO.Directory.Delete(attachmentsPath, true); } catch { } _context.Informativo.Remove(info); _context.SaveChanges(); //cria um novo info = new Informativo() { Subject = "", Usuario = user, Body = "", Doadores = new List <InformativoDoador>(), Usuarios = new List <InformativoUsuario>(), Voluntarios = new List <InformativoVoluntario>() }; _context.Informativo.Add(info); _context.SaveChanges(); InformativoDTO infoDto = new InformativoDTO() { Id = info.Id, Subject = info.Subject, Body = info.Body, DoadoresFisicos = new List <DoadorDTO>(), DoadoresJuridicos = new List <DoadorDTO>(), Usuarios = new List <UsuarioDTO>(), Voluntarios = new List <VoluntarioDTO>() }; return(new ObjectResult(infoDto)); }
public async Task <IActionResult> Put(int id, [FromBody] InformativoDTO infoDTO) { if (id != infoDTO.Id) { return(new StatusCodeResult(StatusCodes.Status400BadRequest)); } Usuario user = await _userManager.GetUserAsync(HttpContext.User); Informativo info = _context.Informativo .Include(q => q.Attachments) .Include(q => q.Doadores) .ThenInclude(q => q.Doador) .Include(q => q.Usuario) .Include(q => q.Usuarios) .ThenInclude(q => q.Usuario) .Include(q => q.Voluntarios) .ThenInclude(q => q.Voluntario) .Where(q => q.IdUsuario == user.Id && q.Id == id) .SingleOrDefault(); if (info == null) { return(new BadRequestResult()); } info.Subject = infoDTO.Subject; info.Body = infoDTO.Body; if (infoDTO.Usuarios == null) { infoDTO.Usuarios = new List <UsuarioDTO>(); } if (infoDTO.Voluntarios == null) { infoDTO.Voluntarios = new List <VoluntarioDTO>(); } if (infoDTO.DoadoresFisicos == null) { infoDTO.DoadoresFisicos = new List <DoadorDTO>(); } if (infoDTO.DoadoresJuridicos == null) { infoDTO.DoadoresJuridicos = new List <DoadorDTO>(); } if (info.Usuarios == null) { info.Usuarios = new List <InformativoUsuario>(); } if (info.Voluntarios == null) { info.Voluntarios = new List <InformativoVoluntario>(); } if (info.Doadores == null) { info.Doadores = new List <InformativoDoador>(); } var usersManter = from u in info.Usuarios join d in infoDTO.Usuarios on u.IdUsuario equals d.Id select u; //para remover foreach (var u in info.Usuarios.Except(usersManter).ToArray()) { info.Usuarios.Remove(u); } var usersAdd = infoDTO.Usuarios.Where(q => !info.Usuarios.Any(u => u.IdUsuario == q.Id)); //para adicionar foreach (var u in usersAdd) { InformativoUsuario iu = new InformativoUsuario() { IdInformativo = info.Id, IdUsuario = u.Id }; info.Usuarios.Add(iu); } var doadoresManter = (from u in info.Doadores join d in infoDTO.DoadoresFisicos on u.CodDoador equals d.Id select u).Union( from u in info.Doadores join d in infoDTO.DoadoresJuridicos on u.CodDoador equals d.Id select u); //para remover foreach (var u in info.Doadores.Except(doadoresManter).ToArray()) { info.Doadores.Remove(u); } var DoadoresAdd = infoDTO.DoadoresFisicos.Where(q => !info.Doadores.Any(u => u.CodDoador == q.Id)) .Union(infoDTO.DoadoresJuridicos.Where(q => !info.Doadores.Any(u => u.CodDoador == q.Id))); //para adicionar foreach (var u in DoadoresAdd) { InformativoDoador ind = new InformativoDoador() { IdInformativo = info.Id, CodDoador = u.Id }; info.Doadores.Add(ind); } var voluntariosManter = from u in info.Voluntarios join d in infoDTO.Voluntarios on u.IdVoluntario equals d.Id select u; //para remover foreach (var u in info.Voluntarios.Except(voluntariosManter).ToArray()) { info.Voluntarios.Remove(u); } //para adicionar var voluntarioAdd = infoDTO.Voluntarios.Where(q => !info.Voluntarios.Any(u => u.IdVoluntario == q.Id)); foreach (var u in voluntarioAdd) { InformativoVoluntario iv = new InformativoVoluntario() { IdInformativo = info.Id, IdVoluntario = u.Id }; info.Voluntarios.Add(iv); } try { _context.SaveChanges(); } catch { } return(new ObjectResult(infoDTO)); }
public void AtualizarInformativo(Informativo informativo) => _informativo.Atualizar(informativo);
public void InserirInformativo(Informativo informativo) => _informativo.Inserir(informativo);