public void EnviarEmailCadastro(Cliente obj) { string line = "<p><span>{0}</span></p>"; string googleplay = ParametroController.ObterParam("GooglePlayLink"); string appstore = ParametroController.ObterParam("AppStoreLink"); string body = ""; body += string.Format(line, "Olá, " + obj.Nome + ", recebemos seu cadastro!"); body += string.Format(line, "Suas credenciais de acesso são,"); body += string.Format(line, "Login: <strong>" + obj.Email + "</strong>"); body += string.Format(line, "Senha: <strong>" + obj.Senha + "</strong>"); body += string.Format(line, "Encontre o app Beleza Mais Forte no <a href='" + googleplay + "'>Google Play</a> e na <a href='" + appstore + "'>AppStore</a>"); AppExtension.EnviarEmailGmail(obj.Email, "Beleza Mais Forte - Cadastro", body); }
public string Contato([FromBody] dynamic param) { string destinatario = ParametroController.ObterParam("EmailContato"); string line = "<p><strong>{0}: </strong><span>{1}</span></p>"; string body = ""; body += string.Format(line, "Nome", param.nome?.ToString()); body += string.Format(line, "Email", param.email?.ToString()); body += string.Format(line, "Telefone", param.telefone?.ToString()); body += string.Format(line, "Mensagem", param.mensagem?.ToString()); AppExtension.EnviarEmailGmail(destinatario, "Beleza Mais Forte - Contato App", body); return("Seu contato foi direcionado, responderemos o mais rapidamente possível"); }
public bool Salvar([FromBody] dynamic param) { int id = Convert.ToInt32(param.Id); Entities context = new Entities(); var obj = context.Cliente.FirstOrDefault(pro => pro.Id == id) ?? new Cliente(); obj.Nome = param.Nome?.ToString(); obj.Senha = param.Senha?.ToString(); obj.Email = param.Email?.ToString(); obj.TelefoneCelular = Regex.Replace(param.TelefoneCelular?.ToString(), "[^0-9]", ""); int degustacao = Convert.ToInt32(ParametroController.ObterParam("AssociadoDiasDegustacao")); obj.DataExpiracao = param.DataExpiracao == null?DateTime.Now.AddDays(degustacao) : AppExtension.ToDateTime(param.DataExpiracao); obj.Situacao = Convert.ToBoolean(param.Situacao); obj.CPF = Regex.Replace(param.CPF?.ToString(), "[^0-9]", ""); obj.FlagCliente = param.FlagCliente; obj.Foto = FileController.ConfirmUpload(param.Foto?.ToString()); obj.IdCidade = param.IdCidade; obj.Bairro = param.Bairro; obj.Cep = param.CEP; obj.Logradouro = param.Logradouro; obj.NomeEmpresa = null; obj.Cnpj = null; if (obj.FlagCliente == "E") { obj.NomeEmpresa = param.NomeEmpresa?.ToString(); obj.Cnpj = Regex.Replace(param.Cnpj?.ToString(), "[^0-9]", ""); } if (managed.Contains(obj.FlagCliente) == false) { throw new Exception("Tipo de associado não identificado"); } if (obj.Senha.Count() < 4) { throw new Exception("A senha precisa ter mais do que 4 caracteres."); } if (id <= 0) { obj.Cadastro = DateTime.Now; context.Cliente.Add(obj); } try { return(context.SaveChanges() > 0); } catch (Exception ex) { if (ex.InnerException?.InnerException?.Message.Contains("CLI_EMAIL_UNIQUE") ?? false) { throw new Exception("Este e-mail já está sendo utilizado."); } throw ex; } }
public bool Salvar([FromBody] dynamic param) { int id = Convert.ToInt32(param.Id); string senha = param.Senha; Entities context = new Entities(); using (var transaction = context.Database.BeginTransaction()) { if (senha.Count() < 4) { throw new Exception("Sua senha precisa ter mais do que 4 caracteres."); } var obj = context.Cliente.FirstOrDefault(pro => pro.Id == id && pro.FlagCliente == "P") ?? new Cliente(); var curr = obj.ClienteProfissional.Count() > 0 ? obj.ClienteProfissional.Last() : new ClienteProfissional(); obj.Nome = param.Nome; obj.Foto = FileController.ConfirmUpload(param.Foto?.ToString()); obj.CPF = Regex.Replace(param.CPF?.ToString(), "[^0-9]", ""); obj.Email = param.Email; obj.Senha = param.Senha; obj.Nascimento = AppExtension.ToDateTime(param.Nascimento); obj.TelefoneCelular = Regex.Replace(param.TelefoneCelular?.ToString(), "[^0-9]", ""); int degustacao = Convert.ToInt32(ParametroController.ObterParam("ProfissionalDiasDegustacao")); obj.DataExpiracao = param.DataExpiracao == null?DateTime.Now.AddDays(degustacao) : AppExtension.ToDateTime(param.DataExpiracao); obj.IdCidade = param.IdCidade; obj.Bairro = param.Bairro; obj.Cep = param.CEP; obj.Logradouro = param.Logradouro; obj.Situacao = Convert.ToBoolean(param.Situacao); curr.IdProfissao = param.Curriculo.IdProfissao; curr.IdDisponibilidade = param.Curriculo.IdDisponibilidade; curr.Sexo = param.Curriculo.Sexo; curr.TelefoneComercial = Regex.Replace(param.Curriculo.TelefoneComercial?.ToString() ?? "", "[^0-9]", ""); curr.TempoExperiencia = param.Curriculo.TempoExperiencia; curr.FlagLeiSalaoParceiro = param.Curriculo.FlagLeiSalaoParceiro ?? false; curr.FlagBiosseguranca = param.Curriculo.FlagBiosseguranca ?? false; curr.FlagEpi = param.Curriculo.FlagEpi ?? false; curr.FlagFilhos = param.Curriculo.FlagFilhos ?? false; curr.FlagMei = param.Curriculo.FlagMei ?? false; curr.FlagDelivery = param.Curriculo.FlagDelivery ?? false; curr.DisponibilidadeDelivery = param.Curriculo.DisponibilidadeDelivery; curr.PretensaoSalarial = param.Curriculo.PretensaoSalarial; curr.ObservacaoFilhos = param.Curriculo.ObservacaoFilhos; curr.Habilidades = param.Curriculo.Habilidades; curr.Observacoes = param.Curriculo.Observacoes; if (obj.ClienteProfissional.Count() == 0) { obj.ClienteProfissional.Add(curr); } if (id > 0) { context.ClienteEquipamentos.RemoveRange(obj.ClienteEquipamentos); context.ClienteCertificado.RemoveRange(obj.ClienteCertificado); context.ClienteExperiencia.RemoveRange(obj.ClienteExperiencia); } // Equipamentos if (param.Equipamentos != null) { foreach (var element in param.Equipamentos) { ClienteEquipamentos relation = new ClienteEquipamentos(); relation.Id = Guid.NewGuid().ToString(); relation.IdEquipamento = Convert.ToInt32(element.Equipamento.Id); relation.DataCadastro = AppExtension.ToDateTime(element.DataCadastro) ?? DateTime.Now; obj.ClienteEquipamentos.Add(relation); } } // Equipamentos context.ProfissionalFotos.RemoveRange(curr.ProfissionalFotos); if (param.Curriculo.Fotos != null) { int ordem = 1; foreach (var element in param.Curriculo.Fotos) { ProfissionalFotos relation = new ProfissionalFotos(); relation.Id = Guid.NewGuid().ToString(); relation.Imagem = element.Imagem ?? "imgs/placeholder.png"; if (element.Imagem.ToString() != "imgs/placeholder.png") { if (relation.Imagem.StartsWith("temp/")) { relation.Imagem = FileController.ConfirmUpload(element.Imagem?.ToString()); } } relation.Ordem = ordem; curr.ProfissionalFotos.Add(relation); ordem++; } } // Certificados if (param.Certificados != null) { foreach (var element in param.Certificados) { ClienteCertificado relation = new ClienteCertificado(); relation.Id = Guid.NewGuid().ToString(); relation.IdCertificado = Convert.ToInt32(element.Certificado.Id); relation.DataCadastro = AppExtension.ToDateTime(element.DataCadastro) ?? DateTime.Now; relation.Descricao = element.Descricao?.ToString() ?? ""; obj.ClienteCertificado.Add(relation); } } // Experiencias if (param.Experiencias != null) { foreach (var element in param.Experiencias) { ClienteExperiencia relation = new ClienteExperiencia(); relation.Id = Guid.NewGuid().ToString(); relation.IdProfissao = Convert.ToInt32(element.Profissao.Id); relation.DataInicial = AppExtension.ToDateTime(element.DataInicial); relation.DataFinal = AppExtension.ToDateTime(element.DataFinal); relation.MotivoAfastamento = element.MotivoAfastamento?.ToString(); relation.Empresa = element.Empresa?.ToString(); relation.DataCadastro = AppExtension.ToDateTime(element.DataCadastro) ?? DateTime.Now; relation.Telefone = element.Telefone; obj.ClienteExperiencia.Add(relation); } } if (id <= 0) { obj.Cadastro = DateTime.Now; obj.FlagCliente = "P"; context.Cliente.Add(obj); } try { context.SaveChanges(); } catch (Exception ex) { if (ex.InnerException?.InnerException?.Message.Contains("CLI_EMAIL_UNIQUE") ?? false) { throw new Exception("Este e-mail já está sendo utilizado."); } throw ex; } transaction.Commit(); if (id <= 0) { EnviarEmailCadastro(obj); } } return(true); }
public InfinityPagedList <ClienteViewModel> Buscar([FromBody] dynamic param) { Entities context = new Entities(); var cliente = context.Cliente.Find(AppExtension.IdUsuarioLogado()); if (cliente.FlagCliente != "A") { throw new Exception("Somente associados podem buscar profissionais."); } if (cliente.DataExpiracao < DateTime.Now) { throw new Exception("Somente assinantes podem buscar profissionais, Assine já!"); } int pageSize = 3; string profissao = param.profissao?.ToString(); string disponibilidade = param.disponibilidade?.ToString(); string sexo = param.sexo?.ToString(); string cidade = param.cidade?.ToString(); string experiencia = param.experiencia?.ToString(); string bairro = param.bairro?.ToString(); bool delivery = Convert.ToBoolean(param.delivery); int page = Convert.ToInt32(param.page); List <int> excludes = new List <int>(); foreach (int exc in param.Excludes) { excludes.Add(exc); } List <ClienteViewModel> lista = new List <ClienteViewModel>(); var query = context.Cliente.Where(pro => pro.FlagCliente == "P"); if (!String.IsNullOrEmpty(profissao)) { query = query.Where(pro => pro.ClienteProfissional.Any(cp => cp.Profissao.Id.ToString() == profissao)); } if (delivery == false && !String.IsNullOrEmpty(disponibilidade)) { query = query.Where(pro => pro.ClienteProfissional.Any(cp => cp.Disponibilidade.Id.ToString() == disponibilidade)); } if (delivery) { query = query.Where(pro => pro.ClienteProfissional.Any(cp => cp.FlagDelivery == true)); } if (!String.IsNullOrEmpty(sexo)) { query = query.Where(pro => pro.ClienteProfissional.Any(cp => cp.Sexo == sexo)); } if (!String.IsNullOrEmpty(experiencia)) { int tempExp = Convert.ToInt32(experiencia); query = query.Where(pro => pro.ClienteProfissional.Any(cp => cp.TempoExperiencia >= tempExp)); } if (!String.IsNullOrEmpty(cidade)) { query = query.Where(pro => pro.Cidade.Id.ToString() == cidade); } if (!String.IsNullOrEmpty(bairro)) { query = query.Where(pro => pro.Bairro.Contains(bairro)); } query = query.Where(pro => pro.Situacao == true); if (ParametroController.ObterParam("LimitarProfissionalPorExpiracao") == "S") { query = query.Where(pro => pro.DataExpiracao > DateTime.Now); } query = query.Where(pro => excludes.Contains(pro.Id) == false); query = query.OrderBy(r => Guid.NewGuid()); query = query.Take(pageSize); query.ToList().ForEach(obj => { lista.Add(new ClienteViewModel(obj, false)); }); InfinityPagedList <ClienteViewModel> paged = new InfinityPagedList <ClienteViewModel>(); paged.list = lista; paged.pageSize = pageSize; paged.current = page; return(paged); }