예제 #1
0
        public ActionResult AddEmpresa(Empresa empresa, IFormFile file)
        {
            Guid archive = Guid.NewGuid();

            if (file?.Length > 0)
            {
                var wwwroot = _host.WebRootPath;

                var filePath = wwwroot + "/icones/" + archive.ToString() + file.FileName;
                empresa.Imagem = archive.ToString() + file.FileName;

                using (var stream = System.IO.File.Create(filePath))
                {
                    file.CopyTo(stream);
                }
            }

            if (!string.IsNullOrEmpty(empresa.PhoneNumberWhatsApp))
            {
                string number = "55" + empresa.PhoneNumberWhatsApp;
                empresa.PhoneNumberWhatsApp = number;
            }

            empresa.CreateDate = DateTime.Now;
            EmpresaRepository empresarepository = new EmpresaRepository(_context);

            empresarepository.Add(empresa);
            return(RedirectToAction("ViewCategoria", "Admin", new { Id = empresa.CategoriaID }));
        }
예제 #2
0
        public async Task <Empresa> SaveAsync(Empresa entity, string token)
        {
            try
            {
                await _segService.ValidateTokenAsync(token);

                switch (entity.ID)
                {
                case 0:
                    entity.DataCriacao   = DateTime.UtcNow;
                    entity.DateAlteracao = DateTime.UtcNow;
                    //entity.Ativo = true;
                    entity.ID = _repository.Add(entity);
                    entity.Endereco.EmpresaId = entity.ID;

                    if (entity.Telefone != null)
                    {
                        entity.Telefone.EmpresaId = entity.ID;
                    }

                    if (entity.Contatos != null)
                    {
                        foreach (var c in entity.Contatos)
                        {
                            c.EmpresaId = entity.ID;
                        }
                    }
                    break;

                default:
                    entity = await UpdateAsync(entity, token);

                    break;
                }

                return(entity);
            }
            catch (InvalidTokenException e)
            {
                throw e;
            }
            catch (ServiceException e)
            {
                throw e;
            }
            catch (Exception e)
            {
                throw new EmpresaException("Não foi possível salvar a empresa fornecida. Entre em contato com o suporte.", e);
            }
        }
예제 #3
0
        public ActionResult Create(EmpresaViewModel empresa)
        {
            ViewBag.Ufs = new SelectList
                          (
                new EmpresaViewModel().ListaUfs(),
                "uf",
                empresa.uf

                          );

            if (ModelState.IsValid)
            {
                var empresaDomain = Mapper.Map <EmpresaViewModel, Empresa>(empresa);
                _empresaRepository.Add(empresaDomain);
                return(RedirectToAction("Index"));
            }
            return(View(empresa));
        }
        /// <summary>
        /// Aplica los cambios al catálog de emisoras leidas del archivo importado
        /// </summary>
        /// <param name="resultadoProceso"></param>
        private void AplicarCambiosEnCatalogEmpresas(ResultadoProcesoImportacionArchivosBMVDto resultadoProceso)
        {
            foreach (var emisoraImportada in resultadoProceso.EmisorasImportadas)
            {
                Debug.WriteLine(emisoraImportada.Clave + "|" + emisoraImportada.ClaveFiduciarioEmisor +
                                "|" + emisoraImportada.EsFideicomiso + "|" + emisoraImportada.RazonSocial + "|" + emisoraImportada.RazonSocialFideicomiso);
            }

            var emisorasEnBD            = EmpresaRepository.GetQueryable().Where(x => (x.Borrado == null || x.Borrado.Value == false));
            var emisoraBDPorNombreCorto = new Dictionary <String, Empresa>();

            foreach (var emBD in emisorasEnBD)
            {
                emisoraBDPorNombreCorto[emBD.NombreCorto] = emBD;
            }

            foreach (var emisoraImportada in resultadoProceso.EmisorasImportadas)
            {
                if (String.IsNullOrEmpty(emisoraImportada.Error))
                {
                    emisoraImportada.TipoMovimiento = TipoMovimiento.SIN_CAMBIOS;

                    if (emisoraImportada.Estatus != null && !emisoraImportada.Estatus.Equals(EstatusEmisora.SUSPENDIDA))
                    {
                        //Insertar emisora si no existe
                        Empresa empresaEncontrada = null;
                        if (emisoraBDPorNombreCorto.ContainsKey(emisoraImportada.Clave))
                        {
                            empresaEncontrada = emisoraBDPorNombreCorto[emisoraImportada.Clave];
                        }
                        if (empresaEncontrada == null)
                        {
                            empresaEncontrada                = new Empresa();
                            empresaEncontrada.Borrado        = false;
                            empresaEncontrada.RazonSocial    = emisoraImportada.EsFideicomiso ? emisoraImportada.RazonSocialFideicomiso : emisoraImportada.RazonSocial;
                            empresaEncontrada.NombreCorto    = emisoraImportada.Clave;
                            empresaEncontrada.RFC            = emisoraImportada.RFC;
                            empresaEncontrada.Fideicomitente = emisoraImportada.EsFideicomiso;
                            EmpresaRepository.Add(empresaEncontrada);
                            emisoraImportada.IdReferencia   = empresaEncontrada.IdEmpresa;
                            emisoraImportada.TipoMovimiento = TipoMovimiento.ALTA;
                        }
                        else
                        {
                            //Verificar si se actualiza la emisora
                            String razolSocialFinal = emisoraImportada.EsFideicomiso ? emisoraImportada.RazonSocialFideicomiso : emisoraImportada.RazonSocial;
                            if (ValorDiferente(empresaEncontrada.RazonSocial, razolSocialFinal) || ValorDiferente(empresaEncontrada.RFC, emisoraImportada.RFC))
                            {
                                empresaEncontrada.RazonSocial    = razolSocialFinal;
                                empresaEncontrada.RFC            = emisoraImportada.RFC;
                                empresaEncontrada.Fideicomitente = emisoraImportada.EsFideicomiso;
                                emisoraImportada.IdReferencia    = empresaEncontrada.IdEmpresa;
                                emisoraImportada.TipoMovimiento  = TipoMovimiento.CAMBIO;
                                EmpresaRepository.Update(empresaEncontrada);
                            }
                        }
                    }
                }
            }
            //TODO: On hold, se recomendará que en el archivo de fiduciarios se incluya la clave del fiduciario emisor

            /*
             * foreach (var emisoraImportada in resultadoProceso.EmisorasImportadas)
             * {
             *  if (String.IsNullOrEmpty(emisoraImportada.Error) && emisoraImportada.EsFideicomiso && !String.IsNullOrEmpty(emisoraImportada.ClaveFiduciarioEmisor))
             *  {
             *      if (emisoraImportada.Estatus != null && !emisoraImportada.Estatus.Equals(EstatusEmisora.SUSPENDIDA))
             *      {
             *          //Verificar las relaciones entre fideicomiso y fiduciario
             *          Empresa empresaFideicomiso = EmpresaRepository.GetQueryable().Where(x => x.NombreCorto == emisoraImportada.Clave
             *              && (x.Borrado == null || x.Borrado.Value == false)).FirstOrDefault();
             *          Empresa empresaFiduciario = EmpresaRepository.GetQueryable().Where(x => x.NombreCorto == emisoraImportada.ClaveFiduciarioEmisor &&
             *              (x.Borrado == null || x.Borrado.Value == false)).FirstOrDefault();
             *
             *          if (empresaFiduciario != null && empresaFideicomiso != null)
             *          {
             *              var relacionEmpresas = RelacionEmpresasRepository.GetQueryable().
             *              Where(x => x.IdEmpresaPrimaria == empresaFiduciario.IdEmpresa &&
             *                  x.IdEmpresaSecundaria == empresaFideicomiso.IdEmpresa &&
             *                  x.IdTipoRelacionEmpresa == ConstantsTipoRelacionEmpresa.FIDUCIARIO_DE_FIDEICOMITENTE).
             *                  FirstOrDefault();
             *              if (relacionEmpresas == null)
             *              {
             *                  //Relacionar empresas
             *                  var relacion = new RelacionEmpresas
             *                  {
             *                      TipoRelacionEmpresa = TipoRelacionEmpresaRepository.GetById(ConstantsTipoRelacionEmpresa.FIDUCIARIO_DE_FIDEICOMITENTE),
             *                      IdEmpresaPrimaria = empresaFiduciario.IdEmpresa,
             *                      IdEmpresaSecundaria = empresaFideicomiso.IdEmpresa
             *                  };
             *
             *                  //RelacionEmpresasRepository.Add(relacion);
             *                  emisoraImportada.TipoMovimiento = TipoMovimiento.CAMBIO;
             *              }
             *          }
             *      }
             *  }
             * }*/
        }
예제 #5
0
 public void EmpresaAdd(Empresa itens)
 {
     _repositorio.Add(itens);
 }