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!"); } }
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()); }
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); }
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))); }
//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)); }
public ActionResult Index(int id) { var laudo = LaudoRepositorio.Obter(WorkLifetimeManager.Value, id); return(PartialView(PreencherViewModel(laudo))); }