public string Agendar(MassagemPI massagem)
        {
            Massagem novaMassagem = new Massagem();

            novaMassagem.idMassagem      = massagem.idMassagem;
            novaMassagem.cliente         = _contextCli.GetCliente(massagem.idcliente);
            novaMassagem.atendente       = _contextAtend.GetAtendente(massagem.idatendente);
            novaMassagem.DataAgendamento = massagem.DataAgendamento;
            novaMassagem.idTipomassagem  = _contextTipoMassagem.GetTipoMassagem(massagem.idTipomassagem);

            if (DateTime.Today.Hour >= 8 && DateTime.Today.Hour <= 17)
            {
                List <Massagem> lstMsgCli = _context.GetMassagemCliente(massagem.idcliente);

                int msgnoMes = lstMsgCli.Where(x => x.idTipomassagem.tempoMassagem == 30 || x.idTipomassagem.tempoMassagem == 40 && x.DataAgendamento.Month == DateTime.Now.Month).Count();

                if (msgnoMes > 3)
                {
                    return("Cliente excedeu o limite de horas de massagens no mês!");
                }

                msgnoMes = lstMsgCli.Where(x => x.idTipomassagem.tempoMassagem == 60 && x.DataAgendamento.Month == DateTime.Now.Month).Count();

                if (msgnoMes > 2)
                {
                    return("Cliente excedeu o limite de horas de massagens no mês!");
                }

                _context.Save(novaMassagem);

                return("Massagem agendada com sucesso!");
            }

            return("Horário de agendamento de massagens excedido!");
        }
Beispiel #2
0
        private void sendEmail(Servico s, Cliente c, Massagem m)
        {
            SmtpClient smtpClient = new SmtpClient();

            smtpClient.Host = "smtp-mail.outlook.com";
            smtpClient.Port = 587;
            smtpClient.UseDefaultCredentials = false;
            smtpClient.Credentials           = new System.Net.NetworkCredential("*****@*****.**", "homemassage27");
            smtpClient.DeliveryMethod        = SmtpDeliveryMethod.Network;
            smtpClient.EnableSsl             = true;


            MailMessage mail = new MailMessage();

            mail.IsBodyHtml = true;
            mail.From       = new MailAddress("*****@*****.**");
            mail.Subject    = "Fatura #" + s.Id_Servico;
            mail.To.Add(new MailAddress(c.Email));
            mail.Body = "<p><b>Nº Serviço: </b>" + s.Id_Servico + "</p>";
            smtpClient.Send(mail);

            SMS.Send(new SMS.SMSRequest {
                from = Configuration.Instance.Settings["appsettings:NEXMO_FROM_NUMBER"], to = "351915049712", text = "GORDIXA"
            });
        }
        public void Reagendar(Massagem Msgnovo)
        {
            Massagem msg = GetMassagem(Msgnovo.idMassagem);

            if (msg != null)
            {
                msg.DataAgendamento = Msgnovo.DataAgendamento;
                Save(msg);
            }
        }
        public IHttpActionResult ReagendarMassagem(int codMassagem, MassagemDto massagem)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            Massagem _massagem = Mapper.Map <MassagemDto, Massagem>(massagem);

            _massagemServico.Atualizar(_massagem);
            _massagemServico.Salvar();

            return(Created("Clinica/Massagem/Listar", new MassagemDto()));
        }
        public string CancelarAgendamento(MassagemPI massagem)
        {
            Massagem msgCancel = _context.GetMassagem(massagem.idMassagem);

            if (msgCancel != null)
            {
                if (msgCancel.DataAgendamento.Day - DateTime.Today.Day >= 0)
                {
                    _context.Delete(msgCancel);

                    return("Agendamento excluído com sucesso!");
                }
                return("Agendamento só poderá ser cancelado com mais de 1 dia de antecedência!");
            }

            return("Agendamento não encontrada!");
        }
        public string ReAgendamento(MassagemPI massagem)
        {
            Massagem msgCancel = _context.GetMassagem(massagem.idMassagem);

            if (msgCancel != null)
            {
                if (msgCancel.DataAgendamento.Day - DateTime.Today.Day >= 0)
                {
                    msgCancel.DataAgendamento = massagem.DataAgendamento;

                    _context.Reagendar(msgCancel);

                    return("Reagendamento realizado com sucesso!");
                }
                return("Agendamento só poderá ser cancelado com mais de 1 dia de antecedência!");
            }

            return("Agendamento não encontrada!");
        }
Beispiel #7
0
        public ActionResult FinalizarServico(int Id_Servico)
        {
            var servicos = (from m in db.Servicoes
                            where m.Id_Servico == Id_Servico
                            select m);

            if (servicos.ToList <Servico>().Count > 0)
            {
                Servico servico = servicos.ToList <Servico>().ElementAt <Servico>(0);
                servico.Estado = true;

                var clientes = (from m in db.Clientes
                                where m.Id_Cliente == servico.Cliente
                                select m);

                var massagens = (from m in db.Massagems
                                 where m.Id_Massagem == servico.Massagem
                                 select m);

                try
                {
                    db.SaveChanges();
                    if (clientes.ToList <Cliente>().Count > 0)
                    {
                        Cliente cliente = clientes.ToList <Cliente>().ElementAt <Cliente>(0);
                        db.SaveChanges();

                        if (massagens.ToList <Massagem>().Count > 0)
                        {
                            Massagem massagem = massagens.ToList <Massagem>().ElementAt <Massagem>(0);
                            sendEmail(servico, cliente, massagem);
                        }
                    }
                }
                catch (DbUpdateException ex)
                {
                    Console.WriteLine(ex);
                    return(RedirectToAction("Index"));
                }
            }
            ViewBag.Id_Servico = Id_Servico;
            return(View());
        }
Beispiel #8
0
        public async Task <ActionResult> Edit(int id, FormCollection collection)
        {
            try
            {
                // TODO: Add update logic here
                ContextAgenda _context = new ContextAgenda();

                Massagem massagem = _context.GetMassagem(id);

                MassagemPI msgPI = new MassagemPI();


                msgPI.idMassagem      = massagem.idMassagem;
                msgPI.idcliente       = massagem.cliente.idPessoa;
                msgPI.idatendente     = massagem.atendente.idPessoa;
                msgPI.idTipomassagem  = massagem.idTipomassagem.idTipoMassagem;
                msgPI.DataAgendamento = massagem.DataAgendamento;

                // TODO: Add insert logic here
                string Baseurl = "http://localhost:55966/";
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(Baseurl);

                    client.DefaultRequestHeaders.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    HttpResponseMessage Res = await client.PostAsJsonAsync("api/Agenda/ReagendarMassagem", msgPI);

                    if (Res.IsSuccessStatusCode)
                    {
                        var result = Res.Content.ReadAsStringAsync().Result;
                    }
                }

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
 public void Delete(Massagem Msgnovo)
 {
 }
 public void Save(Massagem Msgnovo)
 {
 }