public async Task <ActionResult <IEnumerable <Duvida> > > EnviarDuvida(Duvida duvida) { try { var Duvida = _context.Duvidas.Add(duvida).Entity; _context.SaveChanges(); _context.Respostas.Add(new Resposta { IDDUVIDA_FK = Duvida.ID, Mensagem = "Esse e-mail é uma simulação de resposta para a pergunta feita pelo sócio" }); await _context.SaveChangesAsync(); var emailSocio = _context.Socios.First(x => x.ID == duvida.IDSOCIO_FK).Email; MailMessage mail = new MailMessage(); SmtpClient smtpClient = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(emailSocio); mail.Subject = "Respondendo sua pergunta"; mail.Body = "Esse e-mail é uma simulação de resposta para a pergunta feita pelo sócio."; smtpClient.Port = 587; smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new System.Net.NetworkCredential("*****@*****.**", "Infnet@dmin1"); smtpClient.EnableSsl = true; smtpClient.Send(mail); return(StatusCode((int)HttpStatusCode.OK)); } catch (Exception e) { return(StatusCode((int)HttpStatusCode.InternalServerError)); } }
public ActionResult <CobrancaMenu> GerarCobrancasSocio(SocioPagamento socio) { if (socio.ID == 0) { return(StatusCode(StatusCodes.Status203NonAuthoritative)); } var assinatura = _context.Assinaturas.First(x => x.IDSOCIO_FK == socio.ID); double valorTotal = _context.Planos.First(x => x.ID == assinatura.IDPLANO_FK).Valor; double valorParcelado = (assinatura.PLANO_FK.Valor / 12); var result = new List <Cobranca>(); for (var i = 1; i <= 12; i++) { // Aplica desconto if (socio.TipoPagamento == 1) { var cobranca = _context.Cobrancas.Add(new Cobranca { ValorParcela = Math.Round(valorParcelado * 1.1, 2), IDASSINATURA_FK = assinatura.ID, DataValidade = DateTime.Now.AddMonths(i), isRecorrente = true, ValorTotalCobranca = valorTotal, FLG_PAGA = false }).Entity; result.Add(cobranca); } else { var cobranca = _context.Cobrancas.Add(new Cobranca { ValorParcela = Math.Round(valorParcelado, 2), IDASSINATURA_FK = assinatura.ID, DataValidade = DateTime.Now.AddMonths(i), isRecorrente = true, ValorTotalCobranca = valorTotal, FLG_PAGA = false }).Entity; result.Add(cobranca); } } _context.SaveChanges(); //Ativar assinatura assinatura.FLG_ATIVA = true; _context.Assinaturas.Update(assinatura); _context.SaveChanges(); //Ativar sócio var socioAtualizar = _context.Socios.First(x => x.ID == socio.ID); socioAtualizar.FLG_Ativo = true; _context.Socios.Update(socioAtualizar); _context.SaveChanges(); result.ForEach(x => x.ASSINATURA_FK = null); var menus = _context.Menus.ToList(); return(new CobrancaMenu { Cobrancas = result, Menus = menus }); }