コード例 #1
0
        public ClienteExperienciaViewModel(ClienteExperiencia obj)
        {
            Id                = obj.Id;
            IdCliente         = obj.IdCliente;
            IdProfissao       = obj.IdProfissao;
            Empresa           = obj.Empresa;
            DataInicial       = obj.DataInicial.ToString("dd/MM/yyyy");
            DataFinal         = obj.DataFinal?.ToString("dd/MM/yyyy");
            MotivoAfastamento = obj.MotivoAfastamento;
            Telefone          = obj.Telefone;

            TelefoneFormatado = obj.Telefone;
            if (obj.Telefone.Length == 10)
            {
                TelefoneFormatado = Convert.ToUInt64(obj.Telefone).ToString(@"(00) 0000-0000");
            }
            if (obj.Telefone.Length == 11)
            {
                TelefoneFormatado = Convert.ToUInt64(obj.Telefone).ToString(@"(00) 00000-0000");
            }

            DatasFormatadas = "Iniciou em " + DataInicial;
            if (DataFinal != null && DataFinal.Length > 0)
            {
                DatasFormatadas = "De " + DataInicial + " até " + DataFinal;
            }

            DataCadastro = obj.DataCadastro?.ToString("dd/MM/yyyy HH:mm:ss");

            Profissao = new ProfissaoViewModel(obj.Profissao);
        }
コード例 #2
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);
        }