public async Task <IActionResult> FilesSave(string id) { var files = Request.Form.Files; long size = files.Sum(f => f.Length); string webRootPath = _HostingEnvironment.WebRootPath; string contentRootPath = _HostingEnvironment.ContentRootPath; foreach (var formFile in files) { if (formFile.Length > 0) { string fileExt = _GetFileSuffix(formFile.FileName); // 文件扩展名,不含“.” long fileSize = formFile.Length; // 获得文件大小,以字节为单位 string newFileName = id + "_" + formFile.FileName; // 生成新的文件名 var filePath = webRootPath + "/uploadFiles/" + newFileName; using (var stream = new FileStream(filePath, FileMode.Create)) { await formFile.CopyToAsync(stream); } var fileBo = new BusinessFile(); fileBo.RelevanceObjectID = Guid.Parse(id); fileBo.Name = formFile.FileName; fileBo.UploadPath = "/uploadFiles/" + newFileName; await _businessFileService.AddOrEditAndSaveAsyn(fileBo); } } return(Ok(new { count = files.Count, size })); }
protected void btnGuardar_OnClick(object sender, EventArgs e) { try { ValidaCaptura(); if (EsAlta) { //_servicioCatalogo.CrearCatalogoExcel(txtDescripcionCatalogo.Text, true, hfFileName.Value, rbtnHojas.SelectedValue); } else { //_servicioCatalogo.ActualizarCatalogoExcel(IdCatalogo, true, hfFileName.Value, rbtnHojas.SelectedValue); } BusinessFile.LimpiarRepositorioTemporal(new List <string> { hfFileName.Value }); LimpiarPantalla(); if (OnAceptarModal != null) { OnAceptarModal(); } } catch (Exception ex) { if (_lstError == null) { _lstError = new List <string>(); } _lstError.Add(ex.Message); Alerta = _lstError; } }
protected void afuArchivo_OnUploadedComplete(object sender, AsyncFileUploadEventArgs e) { try { List <HelperFiles> files = Session["selectedFiles"] == null ? new List <HelperFiles>() : (List <HelperFiles>)Session["selectedFiles"]; if (!files.Any(a => a.NombreArchivo.Contains(afuArchivo.FileName))) { Int64 sumaArchivos = Int64.Parse(Session["FileSize"].ToString()); sumaArchivos += int.Parse(e.FileSize); if ((sumaArchivos / 1024) > (1024 * 1024)) { throw new Exception(string.Format("El tamaño maximo de carga es de {0}MB", "10")); } afuArchivo.PostedFile.SaveAs(BusinessVariables.Directorios.RepositorioTemporalInformacionConsulta + afuArchivo.FileName); HelperFiles hFiles = new HelperFiles { NombreArchivo = e.FileName.Split('\\').Last(), Tamaño = BusinessFile.ConvertirTamaño(e.FileSize), Extension = Path.GetExtension(afuArchivo.FileName) }; files.Add(hFiles); Session["FileSize"] = int.Parse(Session["FileSize"].ToString()) + int.Parse(e.FileSize); Session["selectedFiles"] = files; } LlenaArchivosCargados(); } catch (Exception ex) { if (_lstError == null) { _lstError = new List <string>(); } _lstError.Add(ex.Message); AlertaGeneral = _lstError; } }
public BusinessFileVM(BusinessFile bo) { this.Id = bo.ID; this.ObjectId = bo.RelevanceObjectID.ToString(); this.FileDisplayName = bo.Name; this.FilePath = bo.UploadPath; }
public void CrearCancion(int idAlbum, string nombreArchivo) { ModelDataContext db = new ModelDataContext(); try { Cancion newSong = new Cancion(); FileInfo fileInfo = new FileInfo(BusinessVariables.Directorios.RepositorioTemporal + nombreArchivo); BusinessFile.MoverTemporales(BusinessVariables.Directorios.RepositorioTemporal, BusinessVariables.Directorios.Repositorio, nombreArchivo); switch (fileInfo.Extension.ToLower()) { case ".mp3": newSong = new Cancion { IdAlbum = idAlbum, Descripcion = nombreArchivo, Extension = fileInfo.Extension, ContentType = "audio/mpeg3", FilePath = BusinessVariables.Directorios.Repositorio + nombreArchivo, Data = null }; break; case ".m4a": newSong = new Cancion { IdAlbum = idAlbum, Descripcion = nombreArchivo, Extension = fileInfo.Extension, ContentType = "audio/mpeg4", FilePath = BusinessVariables.Directorios.Repositorio + nombreArchivo, Data = null }; break; case ".m4b": newSong = new Cancion { IdAlbum = idAlbum, Descripcion = nombreArchivo, Extension = fileInfo.Extension, ContentType = "audio/mpeg4", FilePath = BusinessVariables.Directorios.Repositorio + nombreArchivo, Data = null }; break; } db.Cancion.AddObject(newSong); db.SaveChanges(); BusinessFile.LimpiarTemporales(nombreArchivo); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public async Task <IActionResult> UploadAttachFiles(List <IFormFile> files) //public async Task<IActionResult> UploadAttachFiles([FromForm]List<IFormFile> files) { List <BusinessFile> results = new List <BusinessFile>(); try { if (files == null || files.Count == 0) { Response.StatusCode = 500; return(Content("업로드할 파일이 없습니다.")); } // 10 * 1024 * 1024 => 10485760(10MB) foreach (var file in files) { if (file.Length >= 10485760) { Response.StatusCode = 500; return(Content("업로드할 파일은 10MB를 넘길 수 없습니다.")); } } string uploadFilePath = $"{hostingEnvironment.WebRootPath}\\uploads\\{DateTime.Now.Year.ToString()}\\{DateTime.Now.Month.ToString().PadLeft(2, '0')}\\{DateTime.Now.Day.ToString().PadLeft(2, '0')}"; //string uploadFilePath = $"/home/www/Daewoong.BI/WebApiJwt-master/wwwroot/uploads/{DateTime.Now.Year.ToString()}/{DateTime.Now.Month.ToString().PadLeft(2, '0')}/{DateTime.Now.Day.ToString().PadLeft(2, '0')}"; if (!Directory.Exists(uploadFilePath)) { Directory.CreateDirectory(uploadFilePath); } foreach (var file in files) { if (file.Length > 0) { var filePath = Path.Combine(uploadFilePath, Path.GetFileName(file.FileName)); using (var stream = new FileStream(filePath, FileMode.Create)) { await file.CopyToAsync(stream); } BusinessFile result = new BusinessFile(); result.FileName = Path.GetFileName(file.FileName); result.FileSize = file.Length; result.FileURL = filePath.Replace(hostingEnvironment.WebRootPath, "").Replace("\\", "/"); results.Add(result); } } } catch (Exception ex) { throw new Exception(ex.ToString()); } return(Ok(results)); }
public override void InitData(IDataNode dataSource, Dictionary <string, string> paras) { if (dataSource == null) { return; } bool bReadOnly = true; string sReadonly = ""; if (paras.TryGetValue("readonly", out sReadonly)) { bReadOnly = System.Convert.ToBoolean(sReadonly); } advXmlEditor.ReadOnly = bReadOnly; IEntity ent = dataSource.getEntity(); if (ent is BusinessFile) { BusinessFile bf = ent as BusinessFile; string file = bf.GetDownloadPath(); if (!string.IsNullOrEmpty(file)) { advXmlEditor.OpenDocument(file); } } else if (ent is IXmlData) { IXmlData dm = ent as IXmlData; if (dm.XMLFile == null) { MessageBox.Show("选中的业务数据,没有获取到文件,不能编辑内容!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } dm.DownLoadFiles(); dm.DownLoadXSDFiles(); string file = dm.XMLFile.GetDownloadPath(); if (!string.IsNullOrEmpty(file)) { if (!string.IsNullOrEmpty(dm.XSDFilePath)) { advXmlEditor.OpenDocumentWithSchema(file, dm.XSDFilePath); } else { advXmlEditor.OpenDocument(file); } advXmlEditor.LanguageReader = dm.LanguageReader; } } }
private void RenombraArchivos(List <string> lstArchivos, int idInformacion) { try { BusinessFile.RenombrarArchivosConsulta(lstArchivos, idInformacion); } catch (Exception ex) { throw new Exception(ex.Message); } }
// 下面的方法暂时不需要处理 private Task <string> _ProcessUploadFile( CustomMultipartFormDataStreamProvider provider, List <string> files, string fileType, BusinessImage imgaeRecord, BusinessFile fileRecord, string defaultUploadFilesUrl, Guid mainID, string relID, long fileSize ) { Request.Content.ReadAsMultipartAsync(provider); foreach (MultipartFileData file in provider.FileData) { files.Add(Path.GetFileName(file.LocalFileName)); #region 持久化关系处理 var localFileName = Path.GetFileName(file.LocalFileName).ToLower(); var saveFileSuffix = Path.GetExtension(file.LocalFileName).ToLower(); var saveFileName = localFileName.Substring((mainID + "_").Length, localFileName.Length - (mainID + "_").Length - saveFileSuffix.Length); switch (fileType) { case "imageFile": imgaeRecord.Name = saveFileName; imgaeRecord.UploadPath = defaultUploadFilesUrl; imgaeRecord.Description = "图形文件"; imgaeRecord.OriginalFileName = localFileName; imgaeRecord.UploadFileSuffix = saveFileSuffix; imgaeRecord.UploadedTime = DateTime.Now; imgaeRecord.FileSize = (long)fileSize; imgaeRecord.RelevanceObjectID = Guid.Parse(relID); _ImageService.SaveSingleWithUniquenessRelevanceID(imgaeRecord); break; default: fileRecord.Name = saveFileName; fileRecord.UploadPath = defaultUploadFilesUrl; fileRecord.Description = "普通文件"; fileRecord.OriginalFileName = localFileName; fileRecord.UploadFileSuffix = saveFileSuffix; fileRecord.AttachmentTimeUploaded = DateTime.Now; fileRecord.FileSize = (long)fileSize; fileRecord.RelevanceObjectID = Guid.Parse(relID); _FileService.SaveSingleWithUniquenessRelevanceID(fileRecord); break; } #endregion } return(null); }
private void MostrarImagen(string nombreDocumento, string directorio) { try { const string tmpPath = "~/Users/General/"; BusinessFile.CopiarArchivoDescarga(directorio, nombreDocumento, Server.MapPath(tmpPath)); imgDinamic.ImageUrl = tmpPath + nombreDocumento; imgDinamic.Visible = true; } catch { } }
public async Task <IActionResult> FilesForAjaxUpload() { long size = 0; long fileSize = 0; var boIsOk = false; var files = Request.Form.Files; var currUserId = _userManager.FindByNameAsync(User.Identity.Name).Result.Id; if (files.Count <= 0) { return(Json(new { isOK = false, fileCount = files.Count, size = size, message = "没有选择任何文件,请选择文件后,再提交上传。" })); } foreach (var file in files) { var currFileName = file.FileName; var timeForFile = (DateTime.Now.ToString("yyyyMMddHHmmss") + "_").Trim(); var fileName = ContentDispositionHeaderValue .Parse(file.ContentDisposition) .FileName .Trim('"') .Substring(file.FileName.LastIndexOf("\\") + 1); var newFileName = timeForFile + fileName; var boPath = "../../UploadFiles/" + newFileName; fileName = _hostingEnv.WebRootPath + $@"\UploadFiles\{newFileName}"; fileSize = file.Length; size += file.Length; using (FileStream fs = System.IO.File.Create(fileName)) { file.CopyTo(fs); fs.Flush(); } var businessFile = new BusinessFile { Name = currFileName, OriginalFileName = currFileName, Description = "这是文件上传的demo示例文件", UploadPath = boPath, FileSize = fileSize, UploaderId = Guid.Parse(currUserId) }; boIsOk = await _businessFile.AddOrEditAndSaveAsyn(businessFile); } if (boIsOk) { return(Json(new { isOK = true, fileCount = files.Count, size = size, message = "上传成功!" })); } else { return(Json(new { isOK = false, fileCount = files.Count, size = size, message = "上传失败!" })); } }
public void CrearCuenta(string nombre, string apellido, string correo, string pwd) { ModelDataContext db = new ModelDataContext(); try { if (!ValidaCorreo(correo)) { throw new Exception("Correo ya se se encuentra en uso"); } if (db.Usuario.Any(a => a.Correo == correo.Trim().ToLower())) { throw new Exception("Ya se registro este correo"); } Usuario usr = new Usuario(); usr.Nombre = nombre.ToUpper(); usr.Apellido = apellido.ToUpper(); usr.Correo = correo.ToLower().Trim(); usr.Pwd = Utils.SecurityUtils.CreateShaHash(pwd); usr.PwdDes = pwd; usr.Sexo = true; usr.Activo = false; usr.FechaNacimiento = DateTime.Now; usr.FechaAlta = DateTime.Now; usr.Confirmado = false; usr.Habilitado = true; Guid g = Guid.NewGuid(); usr.UsuarioLinkPassword = new List <UsuarioLinkPassword> { new UsuarioLinkPassword { Activo = true, Link = g, Fecha = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture), IdTipoLink = (int)BusinessVariables.EnumeradoresStreaming.EnumTipoLink.Confirmacion } }; db.Usuario.AddObject(usr); db.SaveChanges(); BusinessFile.CreaRepositorio(usr.Correo); EnviaCorreo(usr.Nombre, usr.Correo, g.ToString()); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } }
public JsonResult GetFiles() { List <FileDetails> fileDetails = _context.FileDetails.Where(wh => wh.CreatedBy == CurrentUser.UserId).ToList(); List <BusinessFile> busineesFiles = new List <BusinessFile>(); fileDetails.ForEach(f => { var businessFile = new BusinessFile(); businessFile.FileId = f.FileId; businessFile.FileName = f.FileName; businessFile.FileType = f.FileType; businessFile.CreatedTime = f.CreatedTime; }); return(Json(fileDetails)); }
public BusinessFileVM(BusinessFile bo) { Id = bo.Id; Name = bo.Name; Description = bo.Description; SortCode = bo.SortCode; AttachmentTimeUploaded = bo.AttachmentTimeUploaded; OriginalFileName = bo.OriginalFileName; UploadPath = bo.UploadPath; IsInDB = bo.IsInDB; UploadFileSuffix = bo.UploadFileSuffix; BinaryContent = bo.BinaryContent; FileSize = bo.FileSize; IconString = bo.IconString; RelevanceObjectId = bo.RelevanceObjectId; UploaderId = bo.UploaderId; }
public InformacionConsulta GuardarInformacionConsulta(InformacionConsulta informacion, List <string> documentosDescarga) { DataBaseModelContext db = new DataBaseModelContext(); try { db.ContextOptions.ProxyCreationEnabled = _proxy; if (db.InformacionConsulta.Any(a => a.Descripcion == informacion.Descripcion)) { throw new Exception("Este Artículo ya existe."); } informacion.Descripcion = informacion.Descripcion.Trim(); informacion.Habilitado = true; informacion.FechaAlta = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture); if (informacion.Id == 0) { db.InformacionConsulta.AddObject(informacion); } db.SaveChanges(); informacion = db.InformacionConsulta.Single(s => s.Id == informacion.Id); foreach (string s in documentosDescarga) { informacion.InformacionConsultaDocumentos.Add(new InformacionConsultaDocumentos { IdTipoDocumento = ObtenerTipoDocumento(s), Archivo = informacion.Id + s, FechaAlta = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture), IdUsuarioAlta = informacion.IdUsuarioAlta, }); } db.SaveChanges(); BusinessFile.MoverTemporales(BusinessVariables.Directorios.RepositorioTemporalInformacionConsulta, BusinessVariables.Directorios.RepositorioInformacionConsulta, documentosDescarga); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(informacion); }
protected void Page_Load(object sender, EventArgs e) { try { if (Session["PreviewAltaDataConsulta"] != null && Request.QueryString["evaluacion"] != null) { InformacionConsulta info = (InformacionConsulta)Session["PreviewAltaDataConsulta"]; List <HelperFiles> lstArchivos = new List <HelperFiles>(); foreach (InformacionConsultaDocumentos docto in info.InformacionConsultaDocumentos) { if (!File.Exists(BusinessVariables.Directorios.RepositorioInformacionConsulta + docto.Archivo)) { Alerta = new List <string> { string.Format("El archivo {0} no esta disponible.", docto.Archivo) }; continue; } HelperFiles hf = new HelperFiles { NombreArchivo = docto.Archivo, Tamaño = BusinessFile.ConvertirTamaño(new FileInfo(BusinessVariables.Directorios.RepositorioInformacionConsulta + docto.Archivo).Length.ToString()) }; BusinessFile.CopiarArchivoDescarga(BusinessVariables.Directorios.RepositorioInformacionConsulta, docto.Archivo, BusinessVariables.Directorios.RepositorioTemporalInformacionConsulta); lstArchivos.Add(hf); } Session["selectedFiles"] = lstArchivos; MuestraPreview(info); divEvaluacion.Visible = bool.Parse(Request.QueryString["evaluacion"]); } } catch (Exception ex) { if (_lstError == null) { _lstError = new List <string>(); } _lstError.Add(ex.Message); Alerta = _lstError; } }
protected void OnClick(object sender, EventArgs e) { try { LinkButton btn = (LinkButton)sender; BusinessFile.MoverTemporales(BusinessVariables.Directorios.CarpetaTemporal, BusinessVariables.Directorios.RepositorioTemporal, new List <string> { btn.CommandArgument }); string script = string.Format("window.open('https://docs.google.com/viewer?url=http://{0}/tmp/{1}','_blank')", WebConfigurationManager.AppSettings["siteUrl"], btn.CommandArgument); ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "ScriptViewer", script, true); } catch (Exception ex) { if (_lstError == null) { _lstError = new List <string>(); } _lstError.Add(ex.Message); Alerta = _lstError; } }
protected void btnPreviewDocument_OnClick(object sender, EventArgs e) { try { LinkButton btn = (LinkButton)sender; BusinessFile.CopiarSitioTemporal(BusinessVariables.Directorios.RepositorioInformacionConsulta, BusinessVariables.Directorios.CarpetaTemporal, new List <string> { btn.CommandArgument }); string url = string.Format("https://docs.google.com/viewer?url={0}{1}", BusinessVariables.Directorios.CarpetaTemporalSitio, btn.CommandArgument); url = Page.ResolveUrl("~/Preview/FrmPreview.aspx?urlGoogle=" + url); string script = string.Format("window.open('{0}','_blank')", url); ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "ScriptViewer", script, true); } catch (Exception ex) { if (_lstError == null) { _lstError = new List <string>(); } _lstError.Add(ex.Message); Alerta = _lstError; } }
protected void btnGuardar_OnClick(object sender, EventArgs e) { try { if (txtNombreCatalogo.Text.Trim() == string.Empty) { throw new Exception("Debe especificar un nombre."); } if (!rbtnManual.Checked && !rbtnArchivo.Checked) { throw new Exception("Debe seleccionar tipo de carga."); } Catalogos cat = new Catalogos { Descripcion = txtNombreCatalogo.Text, DescripcionLarga = txtDescripcionCatalogo.Text, IdUsuarioAlta = ((Usuario)Session["UserData"]).Id }; if (rbtnArchivo.Checked) { if (Session["ArchivoCarga"].ToString() != String.Empty) { if (rbtnHojas.SelectedItem.Value.Trim() == string.Empty) { throw new Exception("Seleccione una horja del archivo."); } if (EsAlta) { _servicioCatalogo.CrearCatalogoExcel(cat, true, hfFileName.Value, rbtnHojas.SelectedValue); } else { cat.Id = IdCatalogo; cat.IdUsuarioModifico = ((Usuario)Session["UserData"]).Id; _servicioCatalogo.ActualizarCatalogoExcel(cat, true, hfFileName.Value, rbtnHojas.SelectedValue); } BusinessFile.LimpiarRepositorioTemporal(new List <string> { hfFileName.Value }); LimpiarCampos(); } } else { if (EsAlta) { _servicioCatalogo.CrearCatalogo(cat, true, ((List <CatalogoGenerico>)Session["registrosCatalogos"])); } else { cat.Id = IdCatalogo; cat.IdUsuarioModifico = ((Usuario)Session["UserData"]).Id; _servicioCatalogo.ActualizarCatalogo(cat, true, ((List <CatalogoGenerico>)Session["registrosCatalogos"])); } } LimpiarCampos(); if (OnAceptarModal != null) { OnAceptarModal(); } } catch (Exception ex) { if (_lstError == null) { _lstError = new List <string>(); } _lstError.Add(ex.Message); Alerta = _lstError; } }
public static MailMessage CreateReplyNewTicket(Mail source) { MailMessage reply = new MailMessage(); try { string attname; ArbolAcceso arbol; Mascara mascara; ObtenerFormulario(out arbol, out mascara); Attachment att = source.Attachments.Any() ? source.Attachments[0] : null; bool agregaArchivo; bool eliminoArchivo; string subject = source.Subject.Replace("(Trial Version)", string.Empty).Trim(); List <HelperCampoMascaraCaptura> capturaMascara = GeneraCaptura(mascara, source.From.Address, subject, source.TextBody, source.Attachments, out attname, out agregaArchivo, out eliminoArchivo); Usuario user = new BusinessUsuarios().GetUsuarioByCorreo(source.From.Address); if (user == null) { string[] nombreCompleto = source.From.Name.Trim().Split(' '); string nombre = nombreCompleto.Any() ? nombreCompleto.Length > 3 ? string.Format("{0} {1}", nombreCompleto[0], 1) : nombreCompleto[0] : string.Empty; string apellidoPaterno = nombreCompleto.Length > 4 ? nombreCompleto[nombreCompleto.Length - 2] : nombreCompleto.Length > 1 ? nombreCompleto[1] : string.Empty; string apellidoMaterno = nombreCompleto.Length > 4 ? nombreCompleto[nombreCompleto.Length - 1] : nombreCompleto.Length > 2 ? nombreCompleto[2] : string.Empty; PreTicketCorreo preticket = new BusinessTicket().GeneraPreticketCorreo(nombre, apellidoPaterno, apellidoMaterno, source.From.Address.Trim(), subject, source.TextBody, attname); if (preticket != null) { if (att != null && agregaArchivo) { File.Move(ConfigurationManager.AppSettings["Repositorio"] + ConfigurationManager.AppSettings["CarpetaTemporal"] + attname, ConfigurationManager.AppSettings["Repositorio"] + ConfigurationManager.AppSettings["CarpetaTemporal"] + attname.Replace("ticketid", preticket.Guid)); attname = attname.Replace("ticketid", preticket.Guid); BusinessFile.MoverTemporales(ConfigurationManager.AppSettings["Repositorio"] + ConfigurationManager.AppSettings["CarpetaTemporal"], ConfigurationManager.AppSettings["RepositorioCorreos"], new List <string> { attname }); BusinessFile.CopiarArchivo(ConfigurationManager.AppSettings["RepositorioCorreos"], ConfigurationManager.AppSettings["Repositorio"] + ConfigurationManager.AppSettings["RepositorioMascara"], attname); } reply.From = new MailAddress(source.To[0].Address); reply.To.Add(source.From.Address); reply.ReplyToList.Add(source.To[0].Address); string id = source.Headers.GetValueOfKey("Message-ID"); reply.Headers.Add("In-Reply-To", id); string references = source.Headers.GetValueOfKey("References"); if (string.IsNullOrEmpty(references)) { references += "~guidpreticket&" + preticket.Guid + "~"; } reply.Headers.Add("References", references); reply.Subject = "Confirmar Ticket"; reply.Subject = reply.Subject.Replace("(Trial Version)", string.Empty).Trim(); reply.IsBodyHtml = true; reply.Body = GeneraRespuestaPreTicketCorreo(source.From.Address, source.From.Name, source.HtmlBody, source.SentDate.ToString(CultureInfo.InvariantCulture), preticket.Guid, eliminoArchivo); } } else { Ticket ticket = new BusinessTicket().CrearTicket(user.Id, user.Id, arbol.Id, capturaMascara, (int)BusinessVariables.EnumeradoresKiiniNet.EnumCanal.Correo, mascara.Random, true, true); if (ticket != null) { if (att != null && agregaArchivo) { File.Move(ConfigurationManager.AppSettings["Repositorio"] + ConfigurationManager.AppSettings["CarpetaTemporal"] + attname, ConfigurationManager.AppSettings["Repositorio"] + ConfigurationManager.AppSettings["CarpetaTemporal"] + attname.Replace("ticketid", ticket.Id.ToString())); attname = attname.Replace("ticketid", ticket.Id.ToString()); BusinessFile.MoverTemporales(ConfigurationManager.AppSettings["Repositorio"] + ConfigurationManager.AppSettings["CarpetaTemporal"], ConfigurationManager.AppSettings["RepositorioCorreos"], new List <string> { attname }); BusinessFile.CopiarArchivo(ConfigurationManager.AppSettings["RepositorioCorreos"], ConfigurationManager.AppSettings["Repositorio"] + ConfigurationManager.AppSettings["RepositorioMascara"], attname); } reply.From = new MailAddress(source.To[0].Address); reply.To.Add(source.From.Address); reply.ReplyToList.Add(source.To[0].Address); string id = source.Headers.GetValueOfKey("Message-ID"); reply.Headers.Add("In-Reply-To", id); string references = source.Headers.GetValueOfKey("References"); if (string.IsNullOrEmpty(references)) { references += "~ticket&" + ticket.Id + "~"; } reply.Headers.Add("References", references); if (!source.Subject.StartsWith("Re:", StringComparison.OrdinalIgnoreCase)) { reply.Subject = "Re: "; } reply.Subject += source.Subject; reply.Subject = reply.Subject.Replace("(Trial Version)", string.Empty).Trim(); reply.IsBodyHtml = true; reply.Body = GeneraRespuestaTicket(source.From.Address, source.From.Name, source.HtmlBody, source.SentDate.ToString(CultureInfo.InvariantCulture), ticket.Id, ticket.ClaveRegistro, eliminoArchivo); } } } catch (Exception ex) { throw new Exception(ex.Message); } return(reply); }
public IResponse <NoValue> CreateXlsxFile(List <EthereumBlockModel> list, long jobId) { var response = new Response <NoValue>(); try { using (var excel = new ExcelPackage()) { var stopwatch = Stopwatch.StartNew(); excel.Workbook.Worksheets.Add("Prometheus"); var headerRow = new List <string[]>() { new string[] { "BlockNumber", "TimeStamp", "Hash", "From", "To", "Value", "Status" } }; var headerRange = "A1:" + Char.ConvertFromUtf32(headerRow[0].Length + 64) + "1"; var worksheet = excel.Workbook.Worksheets["Prometheus"]; worksheet.Cells[headerRange].LoadFromArrays(headerRow); worksheet.Cells[headerRange].Style.Font.Bold = true; var cellData = list.SelectMany(b => b.BlockTransactions, (b, t) => new ExcelEthereumBlockModel { BlockNumber = b.BlockNumber, TimeStamp = b.TimeStamp, Hash = t.Hash, From = t.From, To = t.To, Value = t.Value, Status = t.Status.ToString() }); var type = typeof(ExcelEthereumBlockModel); var numberOfColumns = type.GetProperties().Length; var cellDataRange = "A2:" + Char.ConvertFromUtf32(numberOfColumns + 64) + $"{cellData.Count() + 1}"; worksheet.Cells[cellDataRange].LoadFromCollection(cellData); worksheet.Cells["B2:B" + $"{cellData.Count() + 1}"].Style.Numberformat.Format = "yyyy-mm-dd hh:mm:ss"; worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns(); var excelFileByteContent = excel.GetAsByteArray(); var businessFile = new BusinessFile { File = excelFileByteContent, JobTimelineId = jobId }; _entity.BusinessFile.Add(businessFile); _entity.SaveChanges(); stopwatch.Stop(); _logger.Information($"BusinessAdapterService.CreateXlsxFile(list: {list.Count}, jobId: {jobId}). Time elapsed: {stopwatch.Elapsed.TotalSeconds} seconds."); } } catch (Exception ex) { _logger.Information($"BusinessAdapterService.CreateXlsxFile(list: {list.Count}, jobId: {jobId}"); _logger.Error(ex.Message); response.Status = StatusEnum.Error; response.Message = ex.Message; } return(response); }
public IResponse <NoValue> CreateCsvFile(List <EthereumBlockModel> list, long jobId) { var response = new Response <NoValue>(); try { using (var ms = new MemoryStream()) using (var sw = new StreamWriter(ms)) { var stopwatch = Stopwatch.StartNew(); var writer = new CsvWriter(sw); writer.Configuration.Delimiter = ";"; writer.WriteHeader <ExcelEthereumBlockModel>(); writer.NextRecord(); foreach (var block in list) { foreach (var transaction in block.BlockTransactions) { writer.WriteField(block.BlockNumber); writer.WriteField(block.TimeStamp); writer.WriteField(transaction.Hash); writer.WriteField(transaction.From); writer.WriteField(transaction.To); writer.WriteField(transaction.Value); writer.WriteField(transaction.Status.ToString()); writer.NextRecord(); } } writer.Flush(); sw.Flush(); var csvFileByteContent = ms.ToArray(); var businessFile = new BusinessFile { File = csvFileByteContent, JobTimelineId = jobId }; _entity.BusinessFile.Add(businessFile); _entity.SaveChanges(); stopwatch.Stop(); _logger.Information($"BusinessAdapterService.CreateCsvFile(list: {list.Count}, jobId: {jobId}). Time elapsed: {stopwatch.Elapsed.TotalSeconds} seconds."); } response.Status = StatusEnum.Success; } catch (Exception ex) { _logger.Information($"BusinessAdapterService.CreateCsvFile(list: {list.Count}, jobId: {jobId}"); _logger.Error(ex.Message); response.Status = StatusEnum.Error; response.Message = ex.Message; } return(response); }
public DashboardAdministrador GetDashboardAdministrador() { DashboardAdministrador results; DataBaseModelContext db = new DataBaseModelContext(); try { string connection = (((System.Data.EntityClient.EntityConnection)(db.Connection)).StoreConnection).ConnectionString; db.ContextOptions.ProxyCreationEnabled = _proxy; List <int> userFilters = new List <int> { (int)BusinessVariables.EnumTiposUsuario.Empleado, (int)BusinessVariables.EnumTiposUsuario.Cliente, (int)BusinessVariables.EnumTiposUsuario.Proveedor }; results = new DashboardAdministrador(); results.UsuariosRegistrados = db.Usuario.Count(c => userFilters.Contains(c.IdTipoUsuario)); results.UsuariosActivos = db.Usuario.Count(c => userFilters.Contains(c.IdTipoUsuario) && c.Habilitado && c.Activo); results.TicketsCreados = db.Ticket.Count(); results.Operadores = db.Usuario.Count(c => c.IdTipoUsuario == (int)BusinessVariables.EnumTiposUsuario.Agentes && c.Habilitado && c.Activo); DataTable dtTickets = new DataTable("dt"); dtTickets.Columns.Add(new DataColumn("Id", typeof(int))); dtTickets.Columns.Add(new DataColumn("Descripcion", typeof(string))); dtTickets.Columns.Add(new DataColumn("Color", typeof(string))); dtTickets.Columns.Add(new DataColumn("Total", typeof(decimal))); foreach (GraficoConteo datos in db.Ticket.Join(db.Canal, ticket => ticket.IdCanal, canal => canal.Id, (ticket, canals) => new { ticket, canals }).GroupBy(g => g.canals).Select(s => new GraficoConteo { Id = s.Key.Id, Descripcion = s.Key.Descripcion, Color = s.Key.ColorGrafico, Total = s.Count() }).ToList()) { dtTickets.Rows.Add(datos.Id, datos.Descripcion, datos.Color, datos.Total); } results.GraficoTicketsCreadosCanal = dtTickets; DataTable dtUsuarios = new DataTable("dt"); dtUsuarios.Columns.Add(new DataColumn("Id", typeof(int))); dtUsuarios.Columns.Add(new DataColumn("Descripcion", typeof(string))); dtUsuarios.Columns.Add(new DataColumn("Color", typeof(string))); dtUsuarios.Columns.Add(new DataColumn("Total", typeof(decimal))); foreach (GraficoConteo datos in db.Usuario.Join(db.TipoUsuario, users => users.IdTipoUsuario, tipoUsuario => tipoUsuario.Id, (users, tipoUsuario) => new { users, tipoUsuario }).Where(w => userFilters.Contains(w.users.IdTipoUsuario)).GroupBy(g => g.tipoUsuario).Select(s => new GraficoConteo { Id = s.Key.Id, Descripcion = s.Key.Descripcion, Color = s.Key.Id == (int)BusinessVariables.EnumTiposUsuario.Cliente ? "#B5E6A1" : s.Key.Id == (int)BusinessVariables.EnumTiposUsuario.Proveedor ? "#FFF0B3" : "#80D9FF", Total = s.Count() }).ToList()) { dtUsuarios.Rows.Add(datos.Id, datos.Descripcion, datos.Color, datos.Total); } results.GraficoUsuariosRegistrados = dtUsuarios; DataTable dtAlmacenamiento = new DataTable("dt"); dtAlmacenamiento.Columns.Add(new DataColumn("Ocupado", typeof(double))); dtAlmacenamiento.Columns.Add(new DataColumn("Libre", typeof(double))); long maxSize = 10024; //string queryString = "SELECT DataBaseName = DB_NAME(database_id), \n" + // "LogSize = CAST(SUM(CASE WHEN type_desc = 'LOG' THEN size END) * 8 / 1024 AS DECIMAL(8,2)), \n" + // "RowSize_mb = CAST(SUM(CASE WHEN type_desc = 'ROWS' THEN size END) * 8 / 1024 AS DECIMAL(8,2)), \n" + // "TotalSize_mb = CAST(SUM(size) * 8 / 1024 AS DECIMAL(8,2)) \n" + // "FROM sys.master_files \n" + // "WHERE database_id = DB_ID() GROUP BY database_id"; string queryString = "select name DataBaseName, \n" + "(SELECT cast((size*8)/1024 as decimal) \n" + "FROM sys.database_files \n" + "where type_desc = 'LOG') LogSize, \n" + "cast((size*8)/1024 as decimal) RowSize_mb, \n" + "(SELECT cast((size*8)/1024 as decimal) \n" + "FROM sys.database_files \n" + "where type_desc = 'LOG') + cast((size*8)/1024 as decimal) TotalSize_mb \n" + "FROM sys.database_files \n" + "where type_desc = 'ROWS'"; //string queryString = "SELECT file_id, name, type_desc, physical_name, size, max_size \n" + // "FROM sys.database_files" ; SqlDataAdapter adapter = new SqlDataAdapter(queryString, connection); DataSet ds = new DataSet(); adapter.Fill(ds, "Almacenamiento"); DirectoryInfo dInfo = new DirectoryInfo(BusinessVariables.Directorios.RepositorioRepositorio); long sizeOfDirBytes = BusinessFile.DirectorySize(dInfo, true); double sizeOfDirKb = ((double)sizeOfDirBytes) / 1024; double sizeOfDirMb = sizeOfDirKb / 1024; double sizeOfDirGb = sizeOfDirMb / 1024; double totalSize = Math.Round(double.Parse((ds.Tables[0].Rows[0][3].ToString())) + sizeOfDirMb, 2); //if (totalSize > 1024) // totalSize = totalSize / 1024; dtAlmacenamiento.Rows.Add(Math.Round(totalSize, 0, MidpointRounding.ToEven), Math.Round(maxSize - totalSize, 0, MidpointRounding.ToEven)); results.TotalArchivos = Directory.GetFiles(dInfo.FullName, "*.*", SearchOption.AllDirectories).Length; results.GraficoAlmacenamiento = dtAlmacenamiento; results.Categorias = db.Area.Count(); results.Articulos = db.InformacionConsulta.Count(); results.Formularios = db.Mascara.Count(); results.Catalogos = db.Catalogos.Count(c => !c.Sistema); results.OperadorRol = db.Rol.Where(w => w.Id != (int)BusinessVariables.EnumRoles.AccesoCentroSoporte) .Join(db.RolTipoUsuario, rol => rol.Id, roltipousuario => roltipousuario.IdRol, (rol, roltipousuario) => new { r = rol, rtu = roltipousuario }) .Join(db.UsuarioRol, roltu => roltu.rtu.Id, usuariorol => usuariorol.IdRolTipoUsuario, (roltipousuario, usuariorol) => new { rtu = roltipousuario, ur = usuariorol }) .GroupJoin(db.Usuario.Where(w => w.IdTipoUsuario == (int)BusinessVariables.EnumTiposUsuario.Agentes), ur => ur.ur.IdUsuario, users => users.Id, (usuariorol, usuarios) => new { ur = usuariorol, u = usuarios }) .Select(s => new { s.ur.rtu.r }) .GroupBy(g => g.r) .Select(s => new GraficoConteo { Id = s.Key.Id, Descripcion = s.Key.Descripcion, Total = s.Count() }).ToList(); results.Organizacion = db.Organizacion.Count(); results.Ubicacion = db.Ubicacion.Count(); results.Puestos = db.Puesto.Count(); results.Grupos = db.GrupoUsuario.Count(); results.Horarios = db.Horario.Count(); results.Feriados = db.DiasFeriados.Count(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(results); }
public IResponse <NoValue> CreateXlsxFile(List <LitecoinBlockModel> list, long jobId) { var response = new Response <NoValue>(); try { using (var excel = new ExcelPackage()) { var stopwatch = Stopwatch.StartNew(); excel.Workbook.Worksheets.Add("tx"); excel.Workbook.Worksheets.Add("txIn"); excel.Workbook.Worksheets.Add("txOut"); var worksheetTx = excel.Workbook.Worksheets["tx"]; worksheetTx.SetValue("A1", "BlockNumber"); worksheetTx.SetValue("B1", "txHash"); worksheetTx.SetValue("C1", "Timestamp"); worksheetTx.SetValue("D1", "TotalOutValue"); worksheetTx.Row(1).Style.Font.Bold = true; var worksheetTxIn = excel.Workbook.Worksheets["txIn"]; worksheetTxIn.SetValue("A1", "txHash"); worksheetTxIn.SetValue("B1", "Address"); worksheetTxIn.Row(1).Style.Font.Bold = true; var worksheetTxOut = excel.Workbook.Worksheets["txOut"]; worksheetTxOut.SetValue("A1", "txHash"); worksheetTxOut.SetValue("B1", "Address"); worksheetTxOut.SetValue("C1", "Value"); worksheetTxOut.Row(1).Style.Font.Bold = true; int rowCounterTx = 2; int rowCounterTxIn = 2; int rowCounterTxOut = 2; foreach (var block in list) { foreach (var transaction in block.TransactionList) { worksheetTx.SetValue(rowCounterTx, 1, block.BlockNumber); worksheetTx.SetValue(rowCounterTx, 2, transaction.TransactionHash); worksheetTx.SetValue(rowCounterTx, 3, block.Time); worksheetTx.SetValue(rowCounterTx, 4, transaction.TotalOutValue); foreach (var txIn in transaction.TransactionInputs) { worksheetTxIn.SetValue(rowCounterTxIn, 1, transaction.TransactionHash); worksheetTxIn.SetValue(rowCounterTxIn, 2, txIn.Address); rowCounterTxIn++; } foreach (var txOut in transaction.TransactionOutputs) { worksheetTxOut.SetValue(rowCounterTxOut, 1, transaction.TransactionHash); worksheetTxOut.SetValue(rowCounterTxOut, 2, txOut.Address); worksheetTxOut.SetValue(rowCounterTxOut, 3, txOut.Value); rowCounterTxOut++; } rowCounterTx++; } } worksheetTx.Column(3).Style.Numberformat.Format = "yyyy-mm-dd hh:mm:ss"; worksheetTx.Cells[worksheetTx.Dimension.Address].AutoFitColumns(); worksheetTxIn.Cells[worksheetTxIn.Dimension.Address].AutoFitColumns(); worksheetTxOut.Cells[worksheetTxOut.Dimension.Address].AutoFitColumns(); var excelFileByteContent = excel.GetAsByteArray(); var businessFile = new BusinessFile { File = excelFileByteContent, JobTimelineId = jobId }; _entity.BusinessFile.Add(businessFile); _entity.SaveChanges(); stopwatch.Stop(); _logger.Information($"BusinessAdapterService.CreateXlsxFile(list: {list.Count}, jobId: {jobId}). Time elapsed: {stopwatch.Elapsed.TotalSeconds} seconds."); } } catch (Exception ex) { _logger.Information($"BusinessAdapterService.CreateXlsxFile(list: {list.Count}, jobId: {jobId}"); _logger.Error(ex.Message); response.Status = StatusEnum.Error; response.Message = ex.Message; } return(response); }
public InformacionConsulta ActualizarInformacionConsulta(int idInformacionConsulta, InformacionConsulta informacion, List <string> documentosDescarga) { DataBaseModelContext db = new DataBaseModelContext(); try { if (db.InformacionConsulta.Any(a => a.Descripcion == informacion.Descripcion && a.Id != idInformacionConsulta)) { throw new Exception("Este Artículo ya existe."); } db.ContextOptions.LazyLoadingEnabled = true; InformacionConsulta info = db.InformacionConsulta.SingleOrDefault(s => s.Id == idInformacionConsulta); if (info == null) { return(null); } info.Descripcion = informacion.Descripcion.Trim(); info.IdUsuarioModifico = informacion.IdUsuarioAlta; info.FechaModificacion = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture); info.Habilitado = true; info.InformacionConsultaDatos.First().Datos = informacion.InformacionConsultaDatos.First().Datos; info.InformacionConsultaDatos.First().Busqueda = informacion.InformacionConsultaDatos.First().Busqueda; info.InformacionConsultaDatos.First().Tags = informacion.InformacionConsultaDatos.First().Tags; info.InformacionConsultaDatos.First().Habilitado = informacion.InformacionConsultaDatos.First().Habilitado; List <InformacionConsultaDocumentos> documentosEliminar = new List <InformacionConsultaDocumentos>(); List <string> archivosNuevos = new List <string>(); foreach (InformacionConsultaDocumentos doctoExist in info.InformacionConsultaDocumentos) { //if (!documentosDescarga.Any(a => a.Contains(doctoExist.Archivo) || (info.Id + a).Contains(doctoExist.Archivo))) //{ documentosEliminar.Add(doctoExist); //} } foreach (string doctoNuevo in documentosDescarga) { if (!info.InformacionConsultaDocumentos.Any(a => a.Archivo == doctoNuevo)) { info.InformacionConsultaDocumentos.Add(new InformacionConsultaDocumentos { Archivo = info.Id + doctoNuevo, FechaAlta = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"), "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture), IdTipoDocumento = ObtenerTipoDocumento(doctoNuevo), IdUsuarioAlta = informacion.IdUsuarioAlta }); archivosNuevos.Add(doctoNuevo); } else { documentosEliminar.RemoveAll(r => r.Archivo == doctoNuevo); } } foreach (InformacionConsultaDocumentos documentos in documentosEliminar) { db.InformacionConsultaDocumentos.DeleteObject(documentos); } db.SaveChanges(); foreach (InformacionConsultaDocumentos documentos in documentosEliminar) { BusinessFile.EliminarArchivo(BusinessVariables.Directorios.RepositorioTemporalInformacionConsulta, documentos.Archivo); BusinessFile.EliminarArchivo(BusinessVariables.Directorios.RepositorioInformacionConsulta, documentos.Archivo); } BusinessFile.MoverTemporales(BusinessVariables.Directorios.RepositorioTemporalInformacionConsulta, BusinessVariables.Directorios.RepositorioInformacionConsulta, documentosDescarga); BusinessFile.RenombrarArchivosConsulta(archivosNuevos, info.Id); } catch (Exception ex) { throw new Exception(ex.Message); } finally { db.Dispose(); } return(informacion); }
public async Task <HttpResponseMessage> CommonUploadProcess(bool isSingle, string fileType, string relID, string fileName) { var defaultUploadFilesUrl = System.Web.HttpContext.Current.Server.MapPath(HttpContext.Current.Request["folder"] + "\\"); var imgaeRecord = new BusinessImage(); var fileRecord = new BusinessFile(); var mainID = Guid.NewGuid(); switch (fileType) { case "commonFile": mainID = fileRecord.ID; defaultUploadFilesUrl += System.Configuration.ConfigurationManager.AppSettings["DefaultCommonFileUploadUrl"]; break; case "imageFile": mainID = imgaeRecord.ID; defaultUploadFilesUrl += System.Configuration.ConfigurationManager.AppSettings["DefaultCommonImageUploadUrl"]; break; default: mainID = fileRecord.ID; defaultUploadFilesUrl += System.Configuration.ConfigurationManager.AppSettings["DefaultCommonUploadUrl"]; break; } if (!Directory.Exists(defaultUploadFilesUrl)) { Directory.CreateDirectory(defaultUploadFilesUrl); } if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } CustomMultipartFormDataStreamProvider provider = new CustomMultipartFormDataStreamProvider(defaultUploadFilesUrl, mainID + "_"); //mainID + "_" var initialFileName = fileName.ToLower(); var fileSize = (long)Request.Content.Headers.ContentLength; var tempFileName = provider.TempFileName; if (tempFileName != null) { initialFileName = tempFileName; } List <string> files = new List <string>(); if (initialFileName.ToLower() == fileName.ToLower()) { try { //await _ProcessUploadFile(provider, files, fileType, imgaeRecord, fileRecord, defaultUploadFilesUrl, mainID, relID, fileSize); await Request.Content.ReadAsMultipartAsync(provider); foreach (MultipartFileData file in provider.FileData) { files.Add(Path.GetFileName(file.LocalFileName)); #region 持久化关系处理 var localFileName = Path.GetFileName(file.LocalFileName).ToLower(); var saveFileSuffix = Path.GetExtension(file.LocalFileName).ToLower(); var saveFileName = localFileName.Substring((mainID + "_").Length, localFileName.Length - (mainID + "_").Length - saveFileSuffix.Length); switch (fileType) { case "imageFile": imgaeRecord.Name = saveFileName; imgaeRecord.UploadPath = defaultUploadFilesUrl; imgaeRecord.Description = "图形文件"; imgaeRecord.OriginalFileName = localFileName; imgaeRecord.UploadFileSuffix = saveFileSuffix; imgaeRecord.UploadedTime = DateTime.Now; imgaeRecord.FileSize = (long)fileSize; imgaeRecord.RelevanceObjectID = Guid.Parse(relID); _ImageService.SaveSingleWithUniquenessRelevanceID(imgaeRecord); break; default: fileRecord.Name = saveFileName; fileRecord.UploadPath = defaultUploadFilesUrl; fileRecord.Description = "普通文件"; fileRecord.OriginalFileName = localFileName; fileRecord.UploadFileSuffix = saveFileSuffix; fileRecord.AttachmentTimeUploaded = DateTime.Now; fileRecord.FileSize = (long)fileSize; fileRecord.RelevanceObjectID = Guid.Parse(relID); _FileService.SaveSingleWithUniquenessRelevanceID(fileRecord); break; } #endregion } return(Request.CreateResponse(HttpStatusCode.OK, files)); } catch (System.Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e)); } } else { return(Request.CreateResponse(HttpStatusCode.OK, files)); } }