예제 #1
0
        public ActionResult VerificarAmostra(int id)
        {
            var a         = db.AmostrasClinicas.Find(id);
            var estado    = db.Estados.Find(a.IdEstado).Uf;
            var cidadinha = db.Cidades.Find(a.IdCidade).Codigo;

            ViewBag.state  = new SelectList(db.Estados, "Id", "Nome", a.IdEstado);
            ViewBag.cidade = new SelectList(db.Cidades.Where(c => c.Uf == estado), "Id", "Nome", a.IdCidade);
            ViewBag.bairro = new SelectList(db.Bairros.Where(b => b.Codigo.Contains(cidadinha.ToString())), "Id", "Nome", a.IdBairro);
            if (a != null)
            {
                var Amostra = new AmostraClinicaViewModel
                {
                    Id                 = a.Id,
                    Nome               = a.NomeFantasia,
                    Site               = a.LinkSite,
                    Latitude           = a.Lt,
                    Longitude          = a.Lg,
                    PrecoConsulta      = a.PrecoConsulta,
                    PrecoExame         = a.PrecoExame,
                    HoraAbertura       = a.HoraAbertura,
                    HoraFechamento     = a.HoraFechamento,
                    EnderecoFormatado  = a.EnderecoFormatado,
                    pontos             = a.Pontos,
                    TelefonesClinicas  = a.TelefonesClinicas,
                    EspecialidadesEdit = a.Especialidades,
                    ServicosEdit       = a.Servicos
                };
                return(View(Amostra));
            }

            else
            {
                return(HttpNotFound());
            }
        }
예제 #2
0
        public ActionResult ConfirmarAmostra(AmostraClinicaViewModel dto, int[] servicos, int[] especialidades, string[] cel, int EstadoId, int cidadeId, int bairroId)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.estado = new SelectList(db.Estados, "Id", "Descricao");
                return(View("VerificarAmostra", "Painel", new { id = dto.Id }));
            }
            Clinica a = new Clinica
            {
                EnderecoFormatado = dto.EnderecoFormatado,
                NomeFantasia      = dto.Nome,
                LinkSite          = dto.Site,
                Lt             = dto.Latitude,
                Lg             = dto.Longitude,
                PrecoConsulta  = dto.PrecoConsulta,
                PrecoExame     = dto.PrecoExame,
                HoraAbertura   = dto.HoraAbertura,
                HoraFechamento = dto.HoraFechamento,
                IdEstado       = EstadoId,
                IdBairro       = bairroId,
                IdCidade       = cidadeId
            };
            List <Servico> servs = new List <Servico>();

            foreach (int s in servicos)
            {
                servs.Add(db.Servicos.Find(s));
            }

            List <Especialidade> esps = new List <Especialidade>();

            foreach (int s in especialidades)
            {
                esps.Add(db.Especialidades.Find(s));
            }


            a.Servicos       = servs;
            a.Especialidades = esps;
            try
            {
                db.Clinicas.Add(a);
                db.SaveChanges();
                var tels = db.TelefonesClinicas.Where(t => t.IdAmostraClinica == dto.Id).ToList();
                foreach (var tel in tels)
                {
                    tel.IdClinica = a.Id;
                }

                db.SaveChanges();
                var identity = User.Identity as ClaimsIdentity;

                int id = Convert.ToInt32(identity.Claims.FirstOrDefault(c => c.Type == "Id").Value);

                var usuario = db.Usuarios.Find(id);
                if (usuario.Pontos == null)
                {
                    usuario.Pontos = dto.pontos;
                }
                else
                {
                    usuario.Pontos += dto.pontos;
                }
                var amostra = db.AmostrasClinicas.Find(dto.Id).Ativo = false;
                db.SaveChanges();
            }
            catch (Exception)
            {
                throw;
            }
            return(RedirectToAction("Index"));
        }
예제 #3
0
        public ActionResult CadastrarClinica(AmostraClinicaViewModel dto, int[] servicos, int[] especialidades, string[] cel)
        {
            if (!ModelState.IsValid)
            {
                selectsCadastro();
                return(View());
            }

            var est      = db.Estados.Find(dto.IdEstado);
            var cid      = db.Cidades.Find(dto.IdCidade);
            var bair     = db.Bairros.Find(dto.IdBairro);
            var identity = User.Identity as ClaimsIdentity;

            int            id = Convert.ToInt32(identity.Claims.FirstOrDefault(c => c.Type == "Id").Value);
            AmostraClinica a  = new AmostraClinica
            {
                EnderecoFormatado = dto.logradouro + ", " + dto.numero + " - " + dto.complemento + " - " + bair.Nome + ", " + cid.Nome + " - " + est.CodigoUf + ", " + dto.cepClinica + ", Brasil",
                NomeFantasia      = dto.Nome,
                LinkSite          = dto.Site,
                Lt             = dto.Latitude,
                Lg             = dto.Longitude,
                PrecoConsulta  = dto.PrecoConsulta,
                PrecoExame     = dto.PrecoExame,
                HoraAbertura   = dto.HoraAbertura,
                HoraFechamento = dto.HoraFechamento,
                Pontos         = dto.pontos,
                IdUsuario      = id,
                IdEstado       = dto.IdEstado,
                IdBairro       = dto.IdBairro,
                IdCidade       = dto.IdCidade
            };

            List <Servico> servs = new List <Servico>();

            foreach (int s in servicos)
            {
                servs.Add(db.Servicos.Find(s));
            }

            List <Especialidade> esps = new List <Especialidade>();

            foreach (int s in especialidades)
            {
                esps.Add(db.Especialidades.Find(s));
            }


            a.Servicos       = servs;
            a.Especialidades = esps;

            try
            {
                db.AmostrasClinicas.Add(a);
                db.SaveChanges();
                List <TelefonesClinica> tels = new List <TelefonesClinica>();
                foreach (string s in cel)
                {
                    tels.Add(new TelefonesClinica {
                        Numero = s
                    });
                }
                a.TelefonesClinicas = tels;
                db.SaveChanges();
            }
            catch (Exception)
            {
                throw;
            }

            return(View("Index"));
        }