Пример #1
0
        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));
            }
        }
Пример #2
0
        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
            });
        }