Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void Download(string datainicio, string datafinal, int? searchContrato, string searchCliente, string tipo, string status)
- {
- DateTime dt1 = Convert.ToDateTime(datainicio);
- DateTime dt2 = Convert.ToDateTime(datafinal);
- var tbl_caminhos = db.tbl_caminho_backup.AsNoTracking().Where(x => x.ativo == true && x.tbl_cliente_verusbackuponline.ativo == true).ToList();
- var tbl_logs = db.vw_logs_backuponline.AsNoTracking().Where(x => DbFunctions.TruncateTime(x.data_inicio) >= DbFunctions.TruncateTime(dt1) && DbFunctions.TruncateTime(x.data_inicio) <= DbFunctions.TruncateTime(dt2)).ToList();
- //List<vw_logs_backuponline> tbl_logs = null;
- if (!String.IsNullOrEmpty(tipo))
- {
- tbl_caminhos = tbl_caminhos.Where(x => x.tipo == tipo).ToList();
- tbl_logs = tbl_logs.Where(s => s.log_tipo == tipo).ToList();
- }
- if (!String.IsNullOrEmpty(searchCliente))
- {
- tbl_caminhos = tbl_caminhos.Where(x => x.tbl_cliente_verusbackuponline.nome_razao.ToLower().Contains(searchCliente.ToLower())).ToList();
- tbl_logs = tbl_logs.Where(s => s.nome_razao.ToLower().Contains(searchCliente.ToLower())).ToList();
- }
- if (searchContrato != null)
- {
- tbl_caminhos = tbl_caminhos.Where(x => x.tbl_cliente_verusbackuponline.contrato == searchContrato).ToList();
- tbl_logs = tbl_logs.Where(s => s.contrato == searchContrato).ToList();
- }
- if (!String.IsNullOrEmpty(status) && status == "0")
- {
- tbl_caminhos = tbl_caminhos.Where(x => !tbl_logs.Select(l => l.id_caminho_backup).Contains(x.id_caminho_backup)).ToList();
- tbl_logs = tbl_logs.Where(s => s.data_fim != null).ToList();
- }
- if (!String.IsNullOrEmpty(status) && status == "1")
- {
- tbl_caminhos = null;
- tbl_logs = tbl_logs.Where(s => s.data_fim != null).ToList();
- }
- if (tbl_caminhos != null)
- {
- for (DateTime dtRef = dt1; dtRef <= dt2; dtRef = dtRef.AddDays(1))
- {
- //aqui pego todos os caminhos cadastrados para os clientes
- foreach (var caminhos in tbl_caminhos)
- {
- //verifico se existe um log para o caminho, se tiver eu sei que foi realizado o backup
- if (tbl_logs.Where(x => x.id_caminho_backup == caminhos.id_caminho_backup && (x.data_inicio >= dtRef && x.data_inicio <= dtRef)).Count() <= 0)
- {
- //se entrou aqui é pq não existe um log para o caminho, então crio uma linha de falha do backup
- vw_logs_backuponline log = new vw_logs_backuponline();
- log.contrato = caminhos.tbl_cliente_verusbackuponline.contrato;
- log.nome_razao = caminhos.tbl_cliente_verusbackuponline.nome_razao;
- log.cidade = caminhos.tbl_cliente_verusbackuponline.cidade;
- log.log_tipo = caminhos.tipo;
- log.data_inicio = dtRef;
- log.hora_inicio = caminhos.tbl_cliente_verusbackuponline.hora_backup;
- log.bucket = caminhos.tbl_cliente_verusbackuponline.bucket;
- log.hora_backup = caminhos.tbl_cliente_verusbackuponline.hora_backup;
- log.msg_operacao = "<span class='glyphicon glyphicon-alert' aria-hidden='true'></span>";
- log.caminho_ativo = true;
- tbl_logs.Add(log);
- }
- }
- }
- //aqui removo os com sucesso quando a busca é apenas os com falhas
- if (!String.IsNullOrEmpty(status) && status == "0")
- {
- tbl_logs.RemoveAll(x => x.data_fim != null);
- }
- }
- var logs = tbl_logs.Select(x => new LogsBackup() { Contrato = x.contrato, Modalidade = x.log_tipo, Cidade = x.cidade, UF = x.uf, Nome_Razao = x.nome_razao, Dias_Backup = (x.data_inicio - x.data_fim).ToString().FirstOrDefault().ToString() }).AsQueryable().ToList();
- try
- {
- GridView gridView = new GridView();
- gridView.DataSource = logs;
- gridView.DataBind();
- Response.ClearContent();
- Response.Buffer = true;
- Response.AddHeader("content-disposition", "attachment;filename=" + datafinal + "VerusBackup.xls");
- Response.ContentType = "application/vnd.ms-excel";
- Response.Charset = "";
- using (StringWriter stringWriter = new StringWriter())
- {
- using (HtmlTextWriter htmlTextWriter = new HtmlTextWriter(stringWriter))
- {
- gridView.RenderControl(htmlTextWriter);
- Response.Output.Write(stringWriter.ToString());
- Response.Flush();
- Response.End();
- }
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- $("#btnExportar").click(function (e) {
- var datainicio = $('#datainicio').val();
- var datafinal = $('#datafinal').val();
- var searchContrato = $('#searchContrato').val();
- var tipo = $('#tipo').val();
- var status = $('#status').val();
- $.ajax({
- type: 'GET',
- url: "@Url.Action("Download", "logsbackuponline")",
- data: { datainicio: datainicio, datafinal: datafinal, searchContrato: searchContrato, tipo: tipo, status: status },
- async: true,
- success: function (Result) {
- window.location = '/logsbackuponline/Download?datainicio=' + datainicio + '&datafinal=' + datafinal + '&searchContrato=' + searchContrato + '&tipo=' + tipo + '&status=' + status;
- }
- })
- });
Add Comment
Please, Sign In to add comment