示例#1
0
        public bool Publicar([FromBody] dynamic param)
        {
            Entities context = new Entities();
            Banner   obj     = new Banner();
            Plano    plano   = context.Plano.Find(Convert.ToInt32(param.IdPlano));
            Cliente  cliente = context.Cliente.Find(AppExtension.IdUsuarioLogado());

            if (AppExtension.ToDateTime(param.Estreia) < DateTime.Today)
            {
                throw new Exception("Você não pode publicar um banner retroativo.");
            }

            if (Convert.ToInt32(param.IdTipoAcao) == 0)
            {
                obj.Link     = param.Link.ToString();
                obj.Telefone = null;
            }
            else
            {
                obj.Link     = null;
                obj.Telefone = param.Telefone.ToString();
            }
            obj.IdCliente = cliente.Id;
            obj.Descricao = param.Descricao.ToString();
            obj.Titulo    = param.Titulo.ToString();
            obj.Estreia   = Convert.ToDateTime(param.Estreia?.ToString() + " " + param.EstreiaHorario?.ToString());
            obj.Expiracao = obj.Estreia.AddDays(plano.Dias);
            obj.Situacao  = param.Situacao.ToString();

            obj.Cadastro = DateTime.Now;
            obj.Imagem   = FileController.SaveFile(param.Imagem?.ToString(), ".jpg");

            Pagamento pagamento = new Pagamento();

            pagamento.Cliente            = cliente;
            pagamento.Plano              = plano;
            pagamento.Situacao           = 0;
            pagamento.Valor              = plano.Valor;
            pagamento.CheckoutIdentifier = Guid.NewGuid().ToString();
            pagamento.DataCriacao        = DateTime.Now;
            pagamento.Dias              = plano.Dias;
            pagamento.Descricao         = plano.Descricao;
            pagamento.Vezes             = plano.Vezes;
            pagamento.TipoPlano         = plano.TipoPlano;
            pagamento.BeneficioAplicado = "N";

            obj.Pagamento.Add(pagamento);

            context.Banner.Add(obj);

            context.SaveChanges();
            return(true);
        }
        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;
            }
        }
示例#3
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);
        }