Beispiel #1
0
        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;
            }
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }