/// <summary> /// </summary> /// <param name="files"></param> /// <param name="path"> </param> /// <returns></returns> public async Task <IList <FileModel> > SaveAsync(IEnumerable <HttpPostedFileBase> files, string path = null) { var fileList = new List <FileModel>(); if (files == null) { return(fileList); } foreach (var file in files) { if (path == null) { path = FileConst.ImagesWebPath; } var extension = Path.GetExtension(file.FileName); var size = 0; var name = SequentialGuidGenerator.NewSequentialGuid() + extension; var pathToSave = Path.Combine(path, name); file.SaveAs(pathToSave); var fileSaved = new FileModel() { Id = SequentialGuidGenerator.NewSequentialGuid(), Name = name, Type = FileConst.FileType, Extension = extension, Size = size, Path = path }; fileList.Add(fileSaved); } return(fileList); }
/// <summary> /// /// </summary> /// <param name="file"></param> /// <param name="path"></param> /// <returns></returns> public async Task <FileModel> SaveFromUploaderAsync(HttpPostedFileBase file, string path = null) { // Check if (file == null) { return(null); } // Process var extension = Path.GetExtension(file.FileName); var id = SequentialGuidGenerator.NewSequentialGuid(); var name = id + extension; var webpath = path != null?System.Web.HttpContext.Current.Server.MapPath(FileConst.UploadPath.PlusWord(path)) : System.Web.HttpContext.Current.Server.MapPath(FileConst.UploadPath); var web = await ConvertToByteArrayAsync(file); // var waterMarked = ImageManager.AddWaterMark(thumb, "Arezoo"); var result = await CreateFileAsync(web, name, webpath); var thumbPath = path != null?System.Web.HttpContext.Current.Server.MapPath(FileConst.ThumbPath.PlusWord(path)) : System.Web.HttpContext.Current.Server.MapPath(FileConst.ThumbPath); var thumbFile = await ConvertToByteArrayAsync(file); var resized = thumbFile.ResizeImageFile(100, 100); var thumbResult = await CreateFileAsync(resized, name, thumbPath); // Result return(thumbResult != null ? thumbResult : null); }
public Group() { GroupRoles = new List <GroupRole>(); GroupChangeLogs = new List <GroupChangeLog>(); Users = new List <User>(); Id = SequentialGuidGenerator.NewSequentialGuid(); }
public override object ToDbValue(Type fieldType, object value) { if (value is Guid && value.Equals(Guid.Empty)) { var newGuid = SequentialGuidGenerator.NewSequentialGuid(SequentialGuidType.SequentialAtEnd); return(newGuid); } return(base.ToDbValue(fieldType, value)); }
public void TestMethod1() { SequentialGuidGenerator generatror = SequentialGuidGenerator.Instance; int i = 0; Random rand = new Random(new Guid().GetHashCode()); while (i < 10) { var r = rand.Next(3); Console.WriteLine(r); Console.WriteLine(generatror.NewSequentialGuid()); Thread.Sleep(r); i++; } }
private void UpdateAuditFields(Guid auditUserId) { var auditUserIp = HttpContext.Current.Request.GetIp(); var auditUserAgent = HttpContext.Current.Request.GetBrowser(); var auditDate = DateTime.Now; foreach (var entry in this.ChangeTracker.Entries <BaseEntity>()) { // Note: You must add a reference to assembly : System.Data.Entity switch (entry.State) { case EntityState.Added: entry.Entity.Id = SequentialGuidGenerator.NewSequentialGuid(); entry.Entity.CreatedOn = auditDate; entry.Entity.CreatedById = auditUserId; entry.Entity.ModifiedOn = auditDate; entry.Entity.Action = AuditAction.Create; entry.Entity.ModifiedById = auditUserId; entry.Entity.CreatorIp = auditUserIp; entry.Entity.ModifierIp = auditUserIp; entry.Entity.CreatorAgent = auditUserAgent; entry.Entity.ModifierAgent = auditUserAgent; entry.Entity.Version = 1; break; case EntityState.Modified: entry.Entity.ModifiedOn = auditDate; entry.Entity.ModifiedById = auditUserId; entry.Entity.ModifierIp = auditUserIp; entry.Entity.ModifierAgent = auditUserAgent; entry.Entity.Version = ++entry.Entity.Version; entry.Entity.Action = entry.Entity.IsDeleted ? AuditAction.SoftDelete : AuditAction.Update; break; case EntityState.Detached: break; case EntityState.Unchanged: break; case EntityState.Deleted: break; default: throw new ArgumentOutOfRangeException(); } } }
/// <summary> /// /// </summary> /// <param name="entry"></param> private static void UpdateFieldsForAdded(DbEntityEntry <BaseEntity> entry) { //var auditUserIp = HttpContext.Current.Request.GetIp(); //var auditUserAgent = HttpContext.Current.Request.GetBrowser(); var auditDate = DateTime.Now; if (entry.Entity.Id == Guid.Empty) { entry.Entity.Id = SequentialGuidGenerator.NewSequentialGuid(); } // entry.Entity.CreatedOn = auditDate; // entry.Entity.ModifiedOn = auditDate; //entry.Entity.Audit = AuditType.Create; //entry.Entity.CreatorIp = auditUserIp; //entry.Entity.ModifierIp = auditUserIp; //entry.Entity.CreatorAgent = auditUserAgent; //entry.Entity.ModifierAgent = auditUserAgent; //entry.Entity.Version = 1; }
public async Task <IList <FileModel> > SaveAttachmentAsync(IEnumerable <HttpPostedFileBase> files, string path = null) { var fileList = new List <FileModel>(); if (files == null) { return(fileList); } foreach (var file in files) { var validationFormat = await _attachmentManager.AttachmentValidator.GetFormatAsync(file); var validationSize = await _attachmentManager.AttachmentValidator.GetSizeAsync(file); if (validationFormat != null) { throw new ArgumentNullException(nameof(validationFormat)); } if (validationSize != null) { throw new ArgumentNullException(nameof(validationSize)); } if (path == null) { path = FileConst.AttachmentPath; } var fileSaved = new FileModel { Id = SequentialGuidGenerator.NewSequentialGuid(), Name = SequentialGuidGenerator.NewSequentialGuid() + Path.GetExtension(file.FileName), Type = FileConst.FileType, Extension = Path.GetExtension(file.FileName), Size = file.ContentLength, Path = path }; var byteFile = await ConvertToByteArrayAsync(file); await CreateFileAsync(byteFile, fileSaved.Name, path); fileList.Add(fileSaved); } return(fileList); }
public ActionResult EnviarMailRecuperarPassword(ForgotPasswordViewModel model) { var email = model.Email; if (string.IsNullOrWhiteSpace(email)) { ViewBag.Error = "Por favor complete el email"; return(View("ForgotPassword", model)); } ApplicationDbContext db = new ApplicationDbContext(); UserManager <ApplicationUser> um = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext())); var user = um.FindByEmail(email); if (user != null) { try { user.Token = SequentialGuidGenerator.NewSequentialGuid(SequentialGuidType.SequentialAtEnd); user.TokenFechaVencimiento = DateTime.Now.AddDays(1); um.Update(user); dynamic em = new Email("EnviarMailRecuperarPassWord"); em.To = email; em.Nombre = user.Name; em.Link = WebConfigurationManager.AppSettings["Core"] + WebConfigurationManager.AppSettings["RecuperarPasswordLink"].Replace("[[token]]", user.Token.ToString()).Replace("[[usuarioId]]", user.Id.ToString()).Replace("&", "&"); em.Send(); } catch (Exception ex) { ViewBag.Error = "Hubo un error al enviar el email"; return(View("ForgotPassword", model)); } } else { ViewBag.Error = "El mail no se corresponde con ningun usuario"; return(View("ForgotPassword", model)); } ViewBag.Success = true; return(View("ForgotPassword", model)); }
public void MainTest() { Trace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffffff")); SnowflakeIdWorker idWorker = new SnowflakeIdWorker(0, 0); for (int i = 0; i < 1000; i++) { Trace.WriteLine(string.Format("{0} {1}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffffff"), idWorker.NextId())); } Trace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffffff")); //SequentialGuidGenerator,效率低于SnowflakeIdWorker for (int i = 0; i < 1000; i++) { var id = SequentialGuidGenerator.NewSequentialGuid(SequentialGuidType.SequentialAsString); Trace.WriteLine(string.Format("{0} {1}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffffff"), id)); } Trace.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffffff")); }
public static void SetAuditableEntiTypeopertyValues( this ChangeTracker changeTracker, IHttpContextAccessor httpContextAccessor, Guid?ionicUserId = null) { var httpContext = httpContextAccessor?.HttpContext; var userAgent = httpContext?.Request?.Headers["User-Agent"].ToString(); var userIp = httpContext?.Connection?.RemoteIpAddress?.ToString(); if (string.IsNullOrEmpty(userIp)) { userIp = "::1"; } var now = DateTimeOffset.UtcNow.IranStandardTimeNow(); var userId = ionicUserId ?? GetUserId(httpContext); var modifiedEntries = changeTracker.Entries() .Where(x => x.State == EntityState.Modified); foreach (var modifiedEntry in modifiedEntries) { SetEntityEntryValue <DateTimeOffset?>(modifiedEntry, ModifiedDateTimeOn, now); SetEntityEntryValue <string>(modifiedEntry, ModifiedByIp, userIp); SetEntityEntryValue <Guid?>(modifiedEntry, ModifiedByUserId, userId); } var addedEntries = changeTracker.Entries() .Where(x => x.State == EntityState.Added); foreach (var addedEntry in addedEntries) { SetEntityEntryValue <DateTimeOffset?>(addedEntry, CreatedDateTimeOn, now); SetEntityEntryValue <string>(addedEntry, CreatedByIp, userIp); SetEntityEntryValue <string>(addedEntry, CreatorIp, userIp); SetEntityEntryValue <string>(addedEntry, CreatorIdentityIp, userIp); SetEntityEntryValue <Guid?>(addedEntry, CreatedByUserId, userId); SetEntityEntryValue <Guid?>(addedEntry, CreatorIdentityId, userId); SetEntityEntryValue <Guid?>(addedEntry, CreatorId, userId); SetEntityEntryValue <Guid>(addedEntry, Id, SequentialGuidGenerator.NewSequentialGuid()); } }
public ActionResult RecuperarPassword(string usuarioid = null, Guid?token = null) { if (User.Identity.IsAuthenticated && usuarioid == null && token == null) { var user = UserManager.FindById(User.Identity.GetUserId()); user.Token = SequentialGuidGenerator.NewSequentialGuid(SequentialGuidType.SequentialAtEnd); user.TokenFechaVencimiento = DateTime.Now.AddDays(5); UserManager.Update(user); var model = new RecuperarPasswordViewModel(); model.Token = user.Token; model.UsuarioId = user.Id; return(View(model)); } else { var model = new RecuperarPasswordViewModel(); model.Token = token.Value; model.UsuarioId = usuarioid; return(View(model)); } }
public JsonResult EnviarMailRecuperarPassWord() { string mail = System.Web.HttpContext.Current.Request.Form["mail"]; // string mail = Request.QueryString["mail"].ToString(); UserManager <ApplicationUser> um = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext())); var user = um.FindByEmail(mail); //var repositorio = new Repositorio<Supervisor>(db); //var user = repositorio.TraerTodos().SingleOrDefault(a => a.Usuario.UserName == mail); if (user != null) { ViewBag.To = mail; ViewBag.Subject = "Recuperar Usuario"; string link = WebConfigurationManager.AppSettings["Core"] + WebConfigurationManager.AppSettings["RecuperarPasswordLink"]; var newToken = SequentialGuidGenerator.NewSequentialGuid(SequentialGuidType.SequentialAtEnd); user.TokenFechaVencimiento = DateTime.Today.AddDays(7); user.Token = newToken; um.Update(user); try { dynamic email = new Email("EnviarMailRecuperarPassWord"); email.Link = link.Replace("[[token]]", newToken.ToString().ToUpper()).Replace("[[usuarioId]]", user.Id); email.Subject = "Recuperar Usuario"; email.To = mail; email.Send(); } catch (Exception ex) { return(Json("Error: no se ha podido enviar el mail con los pasos a seguir. Intente más tarde.", JsonRequestBehavior.AllowGet)); } return(Json("Se ha enviado un email a su casilla de email con los pasos a seguir", JsonRequestBehavior.AllowGet)); } return(null); }
public string Generate(DbType dbType) { Guid guid; switch (dbType) { case DbType.SQLServer: guid = SequentialGuidGenerator.NewSequentialGuid(SequentialGuidType.SequentialAtEnd); break; default: case DbType.SQLite: case DbType.MySQL: case DbType.PostgreSQL: guid = SequentialGuidGenerator.NewSequentialGuid(SequentialGuidType.SequentialAsString); break; case DbType.Oracle: guid = SequentialGuidGenerator.NewSequentialGuid(SequentialGuidType.SequentialAsBinary); break; } return(guid.ToString("N")); }
/// <summary> /// create one instance of <see cref="Notification"/> /// </summary> public Notification() { Id = SequentialGuidGenerator.NewSequentialGuid(); ReceivedOn = DateTime.Now; }
/// <summary> /// create one instance of <see cref="Attachment"/> /// </summary> protected Attachment() { Id = SequentialGuidGenerator.NewSequentialGuid(); AttachedOn = DateTime.Now; }
/// <summary> /// create one instance of <see cref="Conversation"/> /// </summary> public Conversation() { Id = SequentialGuidGenerator.NewSequentialGuid(); SentOn = DateTime.Now; }
/// <summary> /// 生成有序的唯一ID /// </summary> /// <param name="sequentialGuidType">有序GUID类型</param> /// <returns></returns> public static Guid GenerateSequentialGuid( SequentialGuidType sequentialGuidType = SequentialGuidType.SequentialAsString) { return(SequentialGuidGenerator.NewSequentialGuid(sequentialGuidType)); }
/// <summary> /// create one instance of <see cref="Message"/> /// </summary> public Message() { Id = SequentialGuidGenerator.NewSequentialGuid(); SentOn = DateTime.Now; }
/// <summary> /// create one instance of <see cref="VideoGalleryFile"/> /// </summary> public VideoGalleryFile() { VideoGalleryFileId = SequentialGuidGenerator.NewSequentialGuid(); }
/// <summary> /// create one instance of <see cref="BlogDraft"/> /// </summary> public BlogDraft() { Id = SequentialGuidGenerator.NewSequentialGuid(); }
/// <summary> /// create one instance of <see cref="Contact" /> /// </summary> public Contact() { ContactId = SequentialGuidGenerator.NewSequentialGuid(); }
/// <summary> /// create one instance of <see cref="Favorite"/> /// </summary> public Favorite() { Id = SequentialGuidGenerator.NewSequentialGuid(); CreatedOn = DateTime.Now; }
/// <summary> /// </summary> /// <param name="auditUserId"></param> private void UpdateAuditFields(Guid auditUserId) { var auditUserIp = HttpContext.Current.Request.GetIp(); var auditUserAgent = HttpContext.Current.Request.GetBrowser(); var auditDate = DateTime.Now; foreach (var entry in ChangeTracker.Entries <BaseEntity>()) { // Note: You must add a reference to assembly : System.Data.Entity switch (entry.State) { case EntityState.Added: if (entry.Entity.Id == Guid.Empty) { entry.Entity.Id = SequentialGuidGenerator.NewSequentialGuid(); } //entry.Entity.CreatedById = auditUserId; //entry.Entity.ModifiedById = auditUserId; UpdateFieldsForAdded(entry); break; case EntityState.Modified: //entry.Entity.ModifiedById = auditUserId; UpdateFieldsForModified(entry); break; case EntityState.Detached: break; case EntityState.Unchanged: break; case EntityState.Deleted: break; default: throw new ArgumentOutOfRangeException(); } } foreach (var entry in ChangeTracker.Entries <Role>()) { // Note: You must add a reference to assembly : System.Data.Entity switch (entry.State) { case EntityState.Added: if (entry.Entity.Id == Guid.Empty) { entry.Entity.Id = SequentialGuidGenerator.NewSequentialGuid(); } entry.Entity.CreatedOn = auditDate; entry.Entity.CreatedById = auditUserId; entry.Entity.ModifiedOn = auditDate; entry.Entity.Audit = AuditType.Create; // entry.Entity.ModifiedById = auditUserId; entry.Entity.CreatorIp = auditUserIp; entry.Entity.ModifierIp = auditUserIp; entry.Entity.CreatorAgent = auditUserAgent; entry.Entity.ModifierAgent = auditUserAgent; entry.Entity.Version = 1; break; case EntityState.Modified: entry.Entity.ModifiedOn = auditDate; // entry.Entity.ModifiedById = auditUserId; entry.Entity.ModifierIp = auditUserIp; entry.Entity.ModifierAgent = auditUserAgent; entry.Entity.Version = ++entry.Entity.Version; entry.Entity.Audit = entry.Entity.IsDelete.GetValueOrDefault() ? AuditType.SoftDelete : AuditType.Edit; break; case EntityState.Detached: break; case EntityState.Unchanged: break; case EntityState.Deleted: break; default: throw new ArgumentOutOfRangeException(); } } }
/// <summary> /// Create One Instance Of <see cref="AuditLog"/> /// </summary> public AuditLog() { Id = SequentialGuidGenerator.NewSequentialGuid(); OperatedOn = DateTime.Now; }
public Equipment() { Id = SequentialGuidGenerator.NewSequentialGuid(); AssignOn = DateTime.Now; }
/// <summary> /// create one instance of <see cref="ProfileFile"/> /// </summary> public ProfileFile() { ProfileFileId = SequentialGuidGenerator.NewSequentialGuid(); }
/// <summary> /// create one instance of <see cref="ArticleFile"/> /// </summary> public ArticleFile() { ArticleFileId = SequentialGuidGenerator.NewSequentialGuid(); }
/// <summary> /// 获取有序的唯一ID。 /// </summary> /// <returns></returns> public static Guid GenerateComb(SequentialGuidType sequentialGuidType = SequentialGuidType.SequentialAtEnd) { return(SequentialGuidGenerator.NewSequentialGuid(sequentialGuidType)); }
/// <summary> /// create one instance of <see cref="PortfolioFile"/> /// </summary> public PortfolioFile() { PortfolioFileId = SequentialGuidGenerator.NewSequentialGuid(); }