示例#1
0
        public async Task <IActionResult> Create(long?empresaId = null)
        {
            EmpresaViewModel empresa = null;

            ViewBag.EmpresaId = null;

            if (empresaId.HasValue) // si tiene empresaId es que estoy entrando como administrador
            {
                empresa = await _helperEmpresa.ObtenerEmpresa(empresaId.Value);

                ViewBag.EmpresaId = empresaId.Value;
                if (empresa == null)
                {
                    return(RedirectToAction("Index", "Empresa"));
                }
            }
            else // sino la empresaId la extrae desde el usuario logueado
            {
                empresa = await _helperEmpresa.ObtenerEmpresaActual(User.Identity.Name);
            }

            var model = new DisertanteViewModel()
            {
                EmpresaId = empresa.Id
            };

            return(View(model));
        }
示例#2
0
        public static IEnumerable <string> ValidarParaSalvar(EmpresaViewModel viewModel, IQueryable <Empresa> empresas)
        {
            if (string.IsNullOrWhiteSpace(viewModel.Nome))
            {
                yield return(Mensagem.ParametroObrigatorio.Formatar(Termo.Nome));
            }

            if (string.IsNullOrWhiteSpace(viewModel.CNPJ))
            {
                yield return(Mensagem.ParametroObrigatorio.Formatar(Termo.CNPJ));
            }

            if (string.IsNullOrWhiteSpace(viewModel.Responsavel))
            {
                yield return(Mensagem.ParametroObrigatorio.Formatar(Termo.Responsavel));
            }

            if (string.IsNullOrWhiteSpace(viewModel.Email))
            {
                yield return(Mensagem.ParametroObrigatorio.Formatar(Termo.Email));
            }

            if (string.IsNullOrWhiteSpace(viewModel.Telefone))
            {
                yield return(Mensagem.ParametroObrigatorio.Formatar(Termo.Telefone));
            }

            if (PossuiEmpresaPorCNPJ(empresas, viewModel.Id, viewModel.CNPJ))
            {
                yield return(Mensagem.EntidadeDuplicada.Formatar(Termo.CNPJ));
            }
        }
示例#3
0
        private async Task <EmpresaViewModel> ConvertInputModelToModelEmpresa()
        {
            var cnpj = Input.Cnpj;

            cnpj = cnpj.Replace(".", "");
            cnpj = cnpj.Replace("/", "");
            cnpj = cnpj.Replace("-", "");

            var cep = Input.Cep;

            cep = cep.Replace(".", "");
            cep = cep.Replace("-", "");

            var empresaViewModel = new EmpresaViewModel()
            {
                Cnpj        = cnpj,
                Cnae        = new string(Input.Cnae.Where(char.IsDigit).ToArray()),
                Logradouro  = Input.Logradouro,
                Numero      = Input.Numero,
                Bairro      = Input.Bairro,
                Municipio   = Input.Municipio,
                Uf          = Input.Uf,
                RazaoSocial = Input.RazaoSocial,
                Cep         = cep,
                Complemento = Input.Complemento,
                Telefone    = Input.Telefone,
                NomeOtica   = Input.NomeOtica
            };

            return(empresaViewModel);
        }
        public ActionResult Edit(int id)
        {
            empresas empresa = db.empresas.Find(id);

            ViewBag.Button = "Editar";
            ViewBag.Action = "Edit";

            if (empresa != null)
            {
                EmpresaViewModel             vmEmpresa = new EmpresaViewModel();
                IEnumerable <SelectListItem> list      = db.tipos_empresa.Select(t => new SelectListItem()
                {
                    Text  = t.tipo,
                    Value = t.id.ToString()
                });

                vmEmpresa.IDEMP            = empresa.id;
                vmEmpresa.NITEMP           = empresa.nit;
                vmEmpresa.NOMBREEMP        = empresa.nombre;
                vmEmpresa.NOMBRERESPEMP    = empresa.nombre_responsable;
                vmEmpresa.TELEFONOCONTACTO = empresa.telefono;
                vmEmpresa.DUIRESPEMP       = empresa.dui_responsable;
                vmEmpresa.DIRECCIONEMP     = empresa.direccion;
                vmEmpresa.IDTIPO           = empresa.tipo;
                vmEmpresa.EMAILCONTACTO    = empresa.email_contacto;
                vmEmpresa.tiposEmpresa     = list;

                return(View("Create", vmEmpresa));
            }

            return(View("Create", null));
        }
        public ActionResult Edit(EmpresaViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                empresas empresa = db.empresas.Find(viewModel.IDEMP);

                if (empresa != null)
                {
                    empresa.nombre             = viewModel.NOMBREEMP;
                    empresa.direccion          = viewModel.DIRECCIONEMP;
                    empresa.email_contacto     = viewModel.EMAILCONTACTO;
                    empresa.telefono           = viewModel.TELEFONOCONTACTO;
                    empresa.nit                = viewModel.NITEMP;
                    empresa.tipo               = viewModel.IDTIPO;
                    empresa.nombre_responsable = viewModel.NOMBRERESPEMP;
                    empresa.dui_responsable    = viewModel.DUIRESPEMP;

                    db.SaveChanges();

                    TempData["successMessage"] = "Empresa editada exitosamente";

                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("", "Error a la hora de guardar los datos, por favor intente mas tarde");
                }
            }
            return(View());
        }
示例#6
0
        public EmpresaViewModel Atualizar(EmpresaViewModel empresaViewModel)
        {
            var empresa = Mapper.Map <Empresa>(empresaViewModel);

            _empresaService.Atualizar(empresa);
            return(empresaViewModel);
        }
        public ActionResult Create(EmpresaViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                empresas empresa = new empresas();

                empresa.nombre             = viewModel.NOMBREEMP;
                empresa.direccion          = viewModel.DIRECCIONEMP;
                empresa.email_contacto     = viewModel.EMAILCONTACTO;
                empresa.telefono           = viewModel.TELEFONOCONTACTO;
                empresa.nit                = viewModel.NITEMP;
                empresa.tipo               = viewModel.IDTIPO;
                empresa.nombre_responsable = viewModel.NOMBRERESPEMP;
                empresa.dui_responsable    = viewModel.DUIRESPEMP;

                db.empresas.Add(empresa);
                db.SaveChanges();

                TempData["successMessage"] = "Empresa creada exitosamente";

                return(RedirectToAction("Index"));
            }

            return(View());
        }
示例#8
0
        public ActionResult Cadastrar(EmpresaViewModel empresa)
        {
            if (_empresaAppService.ObterPorRazaoSocial(empresa.RazaoSocial).FirstOrDefault() == null)
            {
                _empresaAppService.Adicionar(empresa);

                var dataVencimento = DateTime.Now;
                if (dataVencimento.Day < empresa.DiaVencimento)
                {
                    dataVencimento = new DateTime(dataVencimento.Year, dataVencimento.Month, empresa.DiaVencimento) + new TimeSpan(23, 59, 59);
                }
                else if (dataVencimento.Day >= empresa.DiaVencimento)
                {
                    dataVencimento = new DateTime(dataVencimento.AddMonths(1).Year, dataVencimento.AddMonths(1).Month, empresa.DiaVencimento) + new TimeSpan(23, 59, 59);
                }
                var competenciaAberta = new CompetenciaAberturaViewModel
                {
                    DataVencimento = dataVencimento,
                    EmpresaId      = empresa.Id
                };
                _competenciaAbertaAppService.Adicionar(competenciaAberta);
                return(RedirectToAction("Index"));
            }

            ViewBag.Error         = true;
            ViewBag.ErrorMensager = "Razão social já está sendo usada.";
            return(View());
        }
示例#9
0
        public async Task <IActionResult> Edit(int id, [Bind("EmpresaID,Nombre,Correo,Direccion,Postal")] EmpresaViewModel empresaViewModel)
        {
            if (id != empresaViewModel.EmpresaID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(empresaViewModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EmpresaViewModelExists(empresaViewModel.EmpresaID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(empresaViewModel));
        }
示例#10
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,CNPJ,RazaoSocial,IsFornecedor,EnderecoNavigation")] EmpresaViewModel empresa)
        {
            if (id != empresa.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var emp      = _mapper.Map <Empresa>(empresa);
                    var endereco = empresa.EnderecoNavigation;
                    endereco.Empresa = emp;
                    await dal.GravarEmpresa(emp);

                    await enderecodal.GravarEndereco(empresa.EnderecoNavigation);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EmpresaExists(empresa.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(empresa));
        }
示例#11
0
        public ActionResult Incluir([DataSourceRequest] DataSourceRequest request, EmpresaViewModel item)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Empresa dados = Mapper.Map <Empresa>(item);
                    _repositorio.Inserir(dados);
                    _contexto.SaveChanges();
                    item.PessoaId = dados.PessoaId;
                }
                catch (Exception erro)
                {
                    if (erro.InnerException.InnerException.Message.Contains("IdxNome"))
                    {
                        ModelState.AddModelError("", "O nome já foi incluído.");
                    }

                    _contexto.Rollback();
                    return(Json(ModelState.ToDataSourceResult()));
                }
            }

            return(Json(new[] { item }.ToDataSourceResult(request)));
        }
示例#12
0
        public ActionResult Create()
        {
            var OMensaje = new Mensaje();

            try
            {
                using (RELOJBIOEntities wdb = new RELOJBIOEntities())
                {
                    var ListPais   = wdb.Country.ToList();
                    var LisEstado  = wdb.State.ToList();
                    var ListCiudad = wdb.City.ToList();

                    var OVMEmpresa = new EmpresaViewModel
                    {
                        ListaPais   = new SelectList(ListPais, "CountryID", "Name"),
                        ListaEstado = new SelectList(LisEstado, "StateID", "Name"),
                        ListaCiudad = new SelectList(ListCiudad, "CityID", "Name"),
                    };

                    return(View(OVMEmpresa));
                }
            }
            catch (Exception e)
            {
                OMensaje.Tipo      = "Error";
                OMensaje.Msg       = e.ToString();
                Session["Mensaje"] = OMensaje;
                return(RedirectToAction("Index", "Empresa"));
            }
        }
        public async Task <IActionResult> Edit(int id, [Bind("IdEmpresa,NrCnpj,NmEmpresa")] EmpresaViewModel empresa)
        {
            if (id != empresa.IdEmpresa)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var result = _mapper.Map <Empresa>(empresa);

                    await _empresaManager.UpdateAsync(result);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EmpresaExists(empresa.IdEmpresa))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(empresa));
        }
示例#14
0
 public PDFEvents(EmpresaViewModel empresa, Image headerLogo, string headerTitle, string aditionalFooter = null)
 {
     Empresa         = empresa;
     HeaderLogo      = headerLogo;
     HeaderTitle     = headerTitle;
     AditionalFooter = aditionalFooter;
 }
        public ActionResult PesquisaEmpresaJson(int id)
        {
            var listaDeVagas = new EmpresaViewModel();
            listaDeVagas.Vagas = new List<VagaViewModel>();

            var vagas = _vagaRepository.BuscarPorEmpresa(id);
            if (vagas != null)
            {
                var vagasViewModel = Mapper.Map<List<Domain.Entities.Vaga>, List<VagaViewModel>>(vagas);

                var usuarios = _usuarioRepository.BuscarPorTipo("Candidato");
                var usuarioViewModel = Mapper.Map<List<Domain.Entities.Usuario>, List<UsuarioViewModel>>(usuarios);

                //Para cada vaga será procurado o candidato mais próximo com maior aderencia
                foreach (var vaga in vagasViewModel)
                {
                    var listaDeVagasTemp = new List<VagaViewModel>();
                    var vagaView = new VagaViewModel();
                    vagaView.Vaga = new Vaga
                    {
                        Id = vaga.Id,
                        Cep = vaga.Cep,
                        DataCadastro = vaga.DataCadastro,
                        Descricao = vaga.Descricao,
                        Empresa = vaga.Empresa,
                        Habilidades = vaga.Habilidades,
                        IdEmpresa = vaga.IdEmpresa
                    };

                    //colocar essa validacao de CEP na View
                    if (!string.IsNullOrWhiteSpace(vagaView.Vaga.Cep) && !vagaView.Vaga.Cep.Contains('-'))
                    {
                        vagaView.Vaga.Cep = vagaView.Vaga.Cep.Insert(5, "-");
                    }

                    if (usuarios.Count == 0)
                    {
                        listaDeVagas.Vagas.Add(vagaView);
                    }

                    else
                    {
                        VagaViewModel vagaViewAtual = null;

                        foreach (var usuario in usuarioViewModel)
                        {
                            vagaView.Candidato = usuario;

                            //colocar essa validacao de CEP na View
                            if (usuario.Cep != null && !usuario.Cep.Contains('-'))
                            {
                                usuario.Cep = usuario.Cep.Insert(5, "-");
                            }

                            //???
                            //vagaView.Candidato = db.Usuarios.Where(usu => usu.Id == usuario.Id).ToList().FirstOrDefault();

                            listaDeVagasTemp.Add(PesquisarDistancia(vagaView));

                            foreach (var item in listaDeVagasTemp)
                            {
                                if (vagaViewAtual == null)
                                {
                                    vagaViewAtual = item;
                                }
                                else
                                {
                                    //Mesma unidade de medida da distancia
                                    if (vagaViewAtual.Pesquisa != null && vagaViewAtual.Pesquisa.Unidade != null && item.Pesquisa.Unidade.Equals(vagaViewAtual.Pesquisa.Unidade))
                                    {
                                        if (int.Parse(vagaViewAtual.Pesquisa.Distancia) > int.Parse(item.Pesquisa.Distancia))
                                        {
                                            vagaViewAtual = item;
                                        }
                                    }

                                    //Unidades de medida diferentes
                                    else if (item.Pesquisa != null && item.Pesquisa.Unidade != null && item.Pesquisa.Unidade.Equals("m"))
                                    {
                                        vagaViewAtual = item;
                                    }
                                }
                            }

                        }
                        listaDeVagas.Vagas.Add(vagaViewAtual);
                    }
                }
            }

            var data = new List<object>();

            listaDeVagas.Vagas = listaDeVagas.Vagas.OrderBy(x => x.Vaga.DataCadastro).ToList();

            foreach (var x in listaDeVagas.Vagas)
            {
                if (x.Candidato != null)
                {
                    data.Add(new
                    {
                        IdVaga = x.Vaga.Id,
                        DataCadastro = x.Vaga.DataCadastro.ToShortDateString() + " " + x.Vaga.DataCadastro.ToShortTimeString(),
                        Descricao = x.Vaga.Descricao,
                        Cep = x.Vaga.Cep,
                        Habilidades = x.Vaga.Habilidades,
                        IdCandidato = x.Candidato.Id,
                        Candidato = x.Candidato.Nome,
                        Distancia = x.Pesquisa != null ? x.Pesquisa.Distancia + " " + x.Pesquisa.Unidade : "",
                        Aderencia = x.Pesquisa != null ? x.Pesquisa.Porcentagem + " %" : ""
                    });
                }
            }

            var resultado = new JsonResult
            {
                JsonRequestBehavior = JsonRequestBehavior.AllowGet,
                Data = new
                {
                    data
                }
            };

            return resultado;
        }