Exemplo n.º 1
0
        public string Importar(HttpPostedFileBase fileData, FormCollection forms)
        {
            var uploadHelper = new UploadOSHelper
            {
                UnitOfWork                = WorkLifetimeManager.Value,
                LaudoRepository           = LaudoRepositorio,
                TipoLogradouroRepositorio = TipoLogradouroRepositorio,
                EstadoRepositorio         = EstadoRepositorio,
                CidadeRepositorio         = CidadeRepositorio,
                ProdutoRepositorio        = ProdutoRepositorio,
                LinhaRepositorio          = LinhaRepositorio,
                FonteRepositorio          = FonteRepositorio
            };

            try
            {
                var laudo = uploadHelper.GerarLaudoAPartirArquivo(fileData.InputStream);

                LaudoRepositorio.Salvar(WorkLifetimeManager.Value, laudo);
                WorkLifetimeManager.Value.Commit();

                return("Arquivo importado com sucesso!");
            }
            catch
            {
                return("Não foi possível importar o arquivo. Verifique-o e tente novamente!");
            }
        }
Exemplo n.º 2
0
        private IEnumerable <LaudoModel> BuscarLaudosPorStatus(string status)
        {
            var statusLaudo = EnumHelper.ParseEnumValueDescription <EnumStatusLaudo>(status);

            var laudos = LaudoRepositorio.BuscarLaudosPorStatus(WorkLifetimeManager.Value, statusLaudo).ToList();

            return((from laudo in laudos
                    select new LaudoModel
            {
                LaudoId = laudo.LaudoID,
                Produto = laudo.Produto != null ? laudo.Produto.Descricao : string.Empty,
                Linha = laudo.Linha != null ? laudo.Linha.Descricao : string.Empty,
                Fonte = laudo.Fonte != null ? laudo.Fonte.Descricao : string.Empty,
                NomeCliente = laudo.Imovel.NomeCliente,
                SiglaLogradouro = laudo.Imovel.TipoLogradouro.Sigla,
                Endereco = laudo.Imovel.Endereco,
                Numero = laudo.Imovel.Numero,
                Complemento = laudo.Imovel.Complemento,
                Bairro = laudo.Imovel.Bairro,
                Cidade = laudo.Imovel.Cidade.Nome.ToUpper(),
                UF = laudo.Imovel.Cidade.Estado.Sigla,
                Status = EnumHelper.GetDescription(statusLaudo),
                DataHoraVistoria = laudo.DataHoraVistoria.HasValue ? laudo.DataHoraVistoria.Value.ToString(CultureInfo.CurrentCulture) : string.Empty,
                ResponsavelTecnico = laudo.ResponsavelTecnico != null ? laudo.ResponsavelTecnico.Nome : string.Empty
            }
                    ).ToList());
        }
Exemplo n.º 3
0
        public string Agendar(int idLaudo, string dataVistoria, string horaVistoria, int idResponsavelTecnico)
        {
            string mensagem;

            WorkLifetimeManager.Value.BeginTransaction(IsolationLevel.Serializable);

            try
            {
                var laudo = LaudoRepositorio.Obter(WorkLifetimeManager.Value, idLaudo);


                laudo.DataHoraVistoria = ObterDataHora(dataVistoria, horaVistoria);

                if (idResponsavelTecnico > 0)
                {
                    laudo.ResponsavelTecnico = UsuarioRepositorio.Obter(WorkLifetimeManager.Value, idResponsavelTecnico);
                }

                laudo.Status = (int)EnumStatusLaudo.AFazer;

                LaudoRepositorio.Salvar(WorkLifetimeManager.Value, laudo);

                WorkLifetimeManager.Value.Commit();

                mensagem = "Operação efetuada com sucesso!";
            }
            catch (Exception ex)
            {
                WorkLifetimeManager.Value.Rollback();
                mensagem = "Não foi possível efetuar alteração: " + ex.InnerException;
            }

            return(mensagem);
        }
Exemplo n.º 4
0
        public ActionResult Salvar(LaudoViewModel viewModel)
        {
            string mensagem;

            WorkLifetimeManager.Value.BeginTransaction(IsolationLevel.Serializable);

            try
            {
                var laudo = LaudoRepositorio.Obter(WorkLifetimeManager.Value, viewModel.LaudoId);

                AtualizarLaudo(laudo, viewModel);

                ImovelRepositorio.Salvar(WorkLifetimeManager.Value, laudo.Imovel);
                LaudoRepositorio.Salvar(WorkLifetimeManager.Value, laudo);

                WorkLifetimeManager.Value.Commit();

                mensagem = "Operação efetuada com sucesso!";
            }
            catch (Exception ex)
            {
                WorkLifetimeManager.Value.Rollback();
                mensagem = "Não foi possível efetuar alteração: " + ex.InnerException;
            }

            var laudos = BuscarLaudosPorStatus(viewModel.StatusLaudo);

            return(viewModel.StatusLaudo == EnumStatusLaudo.Importado.ToString()
                       ? PartialView("ImportarOS")
                       : PartialView("Lista", new ListaLaudoViewModel(viewModel.StatusLaudo, laudos, mensagem)));
        }
Exemplo n.º 5
0
        //public JsonResult Exportar(int id)
        //{
        //    bool sucesso;
        //    string mensagem;
        //    var nomeArquivo = string.Empty;

        //    try
        //    {
        //        var laudo = LaudoRepositorio.Obter(WorkLifetimeManager.Value, id);

        //        if (laudo == null)
        //            throw new InvalidOperationException(string.Format("Laudo não encontrado (Id: {0})", id));

        //        nomeArquivo = ExportarLaudo(laudo);
        //        sucesso = true;
        //        mensagem = "Arquivo exportado com sucesso!";
        //    }
        //    catch (Exception exception)
        //    {
        //        sucesso = false;
        //        mensagem = "Não foi possível realizar a operação: " + exception.Message;
        //    }

        //    return Json(new { sucesso, mensagem, nomeArquivo });
        //}

        public ActionResult Exportar(int id)
        {
            OpenXmlHelper openXmlHelper = new OpenXmlHelper();
            MemoryStream  memoryStream  = new MemoryStream();

            var laudo = LaudoRepositorio.Obter(WorkLifetimeManager.Value, id);

            var nomeArquivo = string.Format("UPredio_{0}.xlsx", laudo.Referencia.Replace("/", ""));

            HttpContext.Response.Clear();
            HttpContext.Response.AddHeader("content-disposition", string.Format("attachment;filename={0}", nomeArquivo));
            HttpContext.Response.Charset = "";
            HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
            HttpContext.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";

            WorkLifetimeManager.Value.BeginTransaction(IsolationLevel.Serializable);

            try
            {
                var configuracao    = ConfiguracaoRepositorio.Obter(WorkLifetimeManager.Value);
                var caminhoTemplate = Path.Combine(Server.MapPath("~/Content/uploads/"), "Source.xlsx");
                //var caminhoArquivo = Path.Combine(Server.MapPath("~/Content/uploads/"), nomeArquivo);

                using (FileStream source = System.IO.File.Open(caminhoTemplate, FileMode.Open))
                {
                    source.CopyTo(memoryStream);
                    openXmlHelper.PreencherPlanilha(memoryStream, laudo, configuracao);
                }

                laudo        = LaudoRepositorio.Obter(WorkLifetimeManager.Value, laudo.LaudoID);
                laudo.Status = (int)EnumStatusLaudo.Concluido;

                LaudoRepositorio.Salvar(WorkLifetimeManager.Value, laudo);

                WorkLifetimeManager.Value.Commit();
            }
            catch
            {
                WorkLifetimeManager.Value.Rollback();
            }

            memoryStream.Flush();
            memoryStream.WriteTo(HttpContext.Response.OutputStream);
            HttpContext.Response.End();

            return(File(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", nomeArquivo));
        }
Exemplo n.º 6
0
        public ActionResult Index(int id)
        {
            var laudo = LaudoRepositorio.Obter(WorkLifetimeManager.Value, id);

            return(PartialView(PreencherViewModel(laudo)));
        }