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()); } }
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")); }
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")); }