예제 #1
0
 public T Insert(T entity)
 {
     try
     {
         string id = DateTime.Now.Ticks.ToString();
         FileHelper.UploadFileInfo fileInfo = null;
         entity.GetType().GetProperty("id")?.SetValue(entity, id);
         entity.GetType().GetProperty("createdAt")?.SetValue(entity, DateTime.Now);
         entity.GetType().GetProperty("updatedAt")?.SetValue(entity, null);
         entity.GetType().GetProperty("deletedAt")?.SetValue(entity, null);
         if (entity.GetType().GetProperty("file")?.GetValue(entity) != null)
         {
             fileInfo = FileHelper.setFilePath(
                 (IFormFile)entity.GetType().GetProperty("file")?.GetValue(entity),
                 (string)entity.GetType().GetProperty("filePath")?.GetValue(entity),
                 (string)entity.GetType().GetProperty("id")?.GetValue(entity)
                 );
             entity.GetType().GetProperty("filePath").SetValue(entity, fileInfo.filePath);
         }
         con.Insert(entity);
         if (fileInfo != null)
         {
             FileHelper.uploadFileAsync(fileInfo);
         }
         return(entity);
     }
     catch { throw; }
 }
예제 #2
0
 public T Update(T entity)
 {
     try
     {
         string id = (string)entity.GetType().GetProperty("id")?.GetValue(entity);
         FileHelper.UploadFileInfo fileInfo = null;
         T data = Get(id);
         foreach (PropertyInfo propertyInfo in data.GetType().GetProperties())
         {
             if (propertyInfo.PropertyType == typeof(IFormFile) || propertyInfo.Name == "createdAt")
             {
                 continue;
             }
             var source = entity.GetType().GetProperty(propertyInfo.Name)?.GetValue(entity);
             var target = propertyInfo.GetValue(data);
             if (source != null && (source != target))
             {
                 propertyInfo?.SetValue(data, source);
             }
         }
         data.GetType().GetProperty("updatedAt")?.SetValue(data, DateTime.Now);
         data.GetType().GetProperty("deletedAt")?.SetValue(data, null);
         if (entity.GetType().GetProperty("file")?.GetValue(entity) != null)
         {
             fileInfo = FileHelper.setFilePath(
                 (IFormFile)entity.GetType().GetProperty("file")?.GetValue(entity),
                 (string)entity.GetType().GetProperty("filePath")?.GetValue(entity),
                 (string)entity.GetType().GetProperty("id")?.GetValue(entity)
                 );
             data.GetType().GetProperty("filePath").SetValue(data, fileInfo.filePath);
         }
         con.Update(data);
         if (fileInfo != null)
         {
             FileHelper.uploadFileAsync(fileInfo);
         }
         return(data);
     }
     catch { throw; }
 }