示例#1
0
 public bool Open(string path)
 {
     if (!string.IsNullOrEmpty(path))
     {
         if (MiMFa_GetDetail.IsAbsoluteURL(path))
         {
             Browse(path);
             return(true);
         }
         else
         {
             string mime = "";
             try { mime = General.MiMFa_GetDetail.GetMimeFile(path).Split('/')[0].Trim().ToLower(); } catch { }
             if (mime == "image")
             {
                 ShowBrowser(MiMFa_IOService.TryDeserialize(File.ReadAllBytes(path)), true);
             }
             else if (mime == "text")
             {
                 ShowBrowser(MiMFa_StringService.ToHTML(MiMFa_IOService.FileToString(path)));
             }
             else if (mime == "")
             {
                 Clear();
             }
             else
             {
                 bool b = General.MiMFa_GetDetail.IsBinaryFile(path);
                 if (b)
                 {
                     string ext = System.IO.Path.GetExtension(path).ToLower();
                     if (ext == ".pdf" ||
                         ext.StartsWith(".doc") ||
                         ext.StartsWith(".xls")
                         )
                     {
                         OpenBrowser(path);
                     }
                     else
                     {
                         OpenMediaPlayer(path);
                     }
                 }
                 else
                 {
                     ShowBrowser(MiMFa_IOService.FileToString(path));
                 }
                 return(true);
             }
         }
     }
     else
     {
         Clear();
     }
     return(false);
 }
示例#2
0
        public List <T> Sort(List <T> inputList, ConstraintCollection constraints, params object[] conditions)
        {
            if (Shaked)
            {
                inputList = MiMFa_CollectionService.Shake(inputList);
            }
            List <KeyValuePair <T, InferenceCollection> > lold = new List <KeyValuePair <T, InferenceCollection> >();

            for (int i = 0; i < inputList.Count; i++)
            {
                lold.Add(new KeyValuePair <T, InferenceCollection>(inputList[i], new InferenceCollection()));
            }
            constraints.Sort();
            Constraint constraint = null;
            Type       t          = inputList.First().GetType();

            FieldInfo[]    fi = null;
            PropertyInfo[] pi = null;
            if (SendT)
            {
                for (int index = 0; index < constraints.Count; index++)
                {
                    for (int i = 0; i < inputList.Count; i++)
                    {
                        lold[i].Value.Add(constraints[index].Solver(inputList[i], conditions));
                    }
                }
            }
            else
            {
                for (int index = 0; index < constraints.Count; index++)
                {
                    constraint = constraints[index];
                    fi         = MiMFa_GetDetail.GetFields(inputList.First(), constraint.Name, false);
                    if (fi.Length > 0)
                    {
                        for (int i = 0; i < inputList.Count; i++)
                        {
                            lold[i].Value.Add(constraint.Solver(fi.First().GetValue(inputList[i]), conditions));
                        }
                    }
                    else
                    {
                        pi = MiMFa_GetDetail.GetProperties(inputList.First(), constraint.Name, false);
                        if (pi.Length > 0)
                        {
                            for (int i = 0; i < inputList.Count; i++)
                            {
                                lold[i].Value.Add(constraint.Solver(pi.First().GetValue(inputList[i]), conditions));
                            }
                        }
                    }
                }
            }
            lold = Sort(lold);
            return(AllowanceMember(lold));
        }
示例#3
0
        public virtual String Done(byte[] arg)
        {
            if (arg == null)
            {
                return("");
            }
            string ext = "data";

            try { ext = MiMFa_GetDetail.GetMimeObject(arg).Split('/').Last().Trim().Split(' ').First(); } catch { }
            string address = TempDirectory + DateTime.Now.Ticks + "." + ext; System.IO.File.WriteAllBytes(address, arg);

            Process.Start(address);
            return(null);
        }
示例#4
0
 public void SetData(object obj)
 {
     if (obj != null && obj is byte[])
     {
         Data = (byte[])obj;
     }
     else if (GetDataType() == MiMFa_SocketPacketDataType.Image && MiMFa_GetDetail.IsBitmap(obj))
     {
         Data = General.MiMFa_Convert.ToByteArray((Bitmap)obj);
     }
     else
     {
         Data = obj;
     }
 }
示例#5
0
        public override String Done(byte[] arg)
        {
            if (arg == null)
            {
                return("");
            }
            string ext = "data";

            try { ext = MiMFa_GetDetail.GetMimeObject(arg).Split('/').Last().Trim().Split(' ').First(); } catch { }
            string address = TempDirectory + DateTime.Now.Ticks + "." + ((ext == "unknown")?"mp4": ext);

            System.IO.File.WriteAllBytes(address, arg);
            return("<button src='" + address + "' class='AutoBTN' >" + Done("Download") + "</button>");
            //return @"<a href='" + address+"' class='AutoBTN' >" + Done("Download") + "</a>";
        }
示例#6
0
 public void SetAttach(object obj)
 {
     if (obj != null && obj is byte[])
     {
         Attach = (byte[])obj;
     }
     else if (MiMFa_GetDetail.IsBitmap(obj))
     {
         Attach = General.MiMFa_Convert.ToByteArray((Bitmap)obj);
     }
     else
     {
         Attach = obj;
     }
 }
示例#7
0
        private object DoneByMime(object arg)
        {
            string ext = MiMFa_GetDetail.GetMimeObject(arg).Split('/').First().Trim().ToLower();

            try
            {
                switch (ext)
                {
                case "image":
                    return(Done(Image.FromStream(new System.IO.MemoryStream(MiMFa_IOService.Serialize(arg)))));

                default:
                    return(arg);
                }
            }
            catch { return(arg); }
        }
示例#8
0
 public virtual List <string> volumesmodel()
 {
     return(MiMFa_GetDetail.VolumesModel());
 }
示例#9
0
 private IPAddress ipv6()
 {
     return(MiMFa_GetDetail.GetInternalIPv6());
 }
示例#10
0
 public virtual PhysicalAddress mac()
 {
     return(MiMFa_GetDetail.GetMAC());
 }
示例#11
0
 public virtual List <string> motherboardsserial()
 {
     return(MiMFa_GetDetail.MotherBoardsSerial());
 }
示例#12
0
 public virtual string motherboardserial()
 {
     return(MiMFa_GetDetail.MotherBoardSerial());
 }
示例#13
0
 private List <IPAddress> ips()
 {
     return(MiMFa_GetDetail.GetInternalIPs());
 }
示例#14
0
 public virtual List <string> volumesserial()
 {
     return(MiMFa_GetDetail.VolumesSerial());
 }
示例#15
0
 public virtual string volumeserial()
 {
     return(MiMFa_GetDetail.VolumeSerial());
 }
示例#16
0
 public virtual List <string> processorsserial()
 {
     return(MiMFa_GetDetail.ProcessorsSerial());
 }
示例#17
0
 public virtual string processorserial()
 {
     return(MiMFa_GetDetail.ProcessorSerial());
 }
示例#18
0
 public virtual List <PhysicalAddress> macs()
 {
     return(MiMFa_GetDetail.GetMACs());
 }
示例#19
0
 public virtual List <uint> volumespartitions()
 {
     return(MiMFa_GetDetail.VolumesPartitions());
 }
示例#20
0
 private string hostname()
 {
     return(MiMFa_GetDetail.GetHostName());
 }