상속: Asset
예제 #1
0
파일: m5.aspx.cs 프로젝트: scaperow/-Web
    protected void Page_Load(object sender, EventArgs e)
    {
        if ("Act".IsRequest())
        {
            switch ("Act".RequestStr().ToUpper())
            {
            case "ITEM":
                Response.Write(JsonConvert.SerializeObject(BLOB.Items("2")));
                Response.End();
                break;

            case "FACTORY":
                Response.Write(JsonConvert.SerializeObject(BLOB.Factory("ItemID".RequestStr())));
                Response.End();
                break;

            case "MODEL":
                Response.Write(JsonConvert.SerializeObject(BLOB.Model("ItemID".RequestStr())));
                Response.End();
                break;

            case "CHART":
                Chart();
                break;

            case "LIST":
                List();
                break;
            }
        }
    }
예제 #2
0
파일: Blob.cs 프로젝트: behoyh/invert-api
        public async Task <Response <long> > SaveBlob(string basePath, byte[] blob, BlobType type)
        {
            if (!Directory.Exists(basePath))
            {
                Directory.CreateDirectory(basePath);
            }

            var name = Guid.NewGuid() + "." + type.ToString();

            var filepath = basePath + name;

            File.WriteAllBytes(filepath, blob);

            var model = new BLOB()
            {
                ACTIVE    = true,
                PATH      = filepath,
                NAME      = name,
                BLOB_TYPE = type,
                CREATED   = DateTime.Now,
                MODIFIED  = DateTime.Now
            };

            return(await _insertBlob.UploadBlobAsync(model));
        }
예제 #3
0
파일: HNTKY.aspx.cs 프로젝트: scaperow/-Web
    protected void Page_Load(object sender, EventArgs e)
    {
        if ("Act".IsRequest())
        {
            switch ("Act".RequestStr().ToUpper())
            {
            case "ATTR":
                //
                ItemCollection Items = BLOB.Attr("ItemID".RequestStr());

                try
                {
                    Items.Remove("安定性");
                    Items.Remove("烧失量");
                    Items.Remove("胶砂流动度");
                    Items.Remove("三氧化硫含量");
                    Items.Remove("氯离子含量");
                    Items.Remove("碱含量");
                    Items.Remove("游离氧化钙含量");
                    Items.Add(new Item()
                    {
                        ItemName = "用量", BindField = "YLL", StandardBindField = ""
                    });
                }
                catch { }
                Response.Write(JsonConvert.SerializeObject(Items));
                Response.End();
                break;

            case "CHART":
                Chart();
                break;
            }
        }
    }
예제 #4
0
    public void Chart()
    {
        DataTable DT = BLOB.TonByFact("ID".RequestStr(),
                                      "StartDate".RequestStr(), "EndDate".RequestStr()
                                      );

        string[] colors = { "#FF0F00", "#FF6600", "#FF9E01", "#FCD202", "#F8FF01", "#B0DE09", "#04D215", "#0D8ECF", "#0D52D1", "#2A0CD0", "#8A0CCF", "#CD0D74", "#754DEB", "#DDDDDD", "#999999", "#333333", "#000000" };

        DT.Columns.Add("color");
        int i = 0;

        foreach (DataRow Dr in DT.Rows)
        {
            if (i == colors.Length)
            {
                i = 0;
            }
            Dr["color"] = colors[i];
            i++;
        }


        Response.Write(JsonConvert.SerializeObject(DT));
        Response.End();
    }
예제 #5
0
파일: m5.aspx.cs 프로젝트: scaperow/-Web
    public void Chart()
    {
        int RecordCount = 0;

        DataTable DT = BLOB.SamplingAnalysis(out RecordCount, 1, 100000,
                                             "StartDate".RequestStr(), "EndDate".RequestStr(),
                                             SelectedTestRoomCodes, "Item".RequestStr(), "Factory".RequestStr(), "Model".RequestStr(), "Person".RequestStr());

        Response.Write(JsonConvert.SerializeObject(DT));
        Response.End();
    }
예제 #6
0
파일: m5.aspx.cs 프로젝트: scaperow/-Web
    public void List()
    {
        int RecordCount = 0;

        DataTable DT = BLOB.SamplingAnalysis(out RecordCount, "page".RequestStr().Toint(), "rows".RequestStr().Toint(),
                                             "StartDate".RequestStr(), "EndDate".RequestStr(),
                                             SelectedTestRoomCodes, "Item".RequestStr(), "Factory".RequestStr(), "Model".RequestStr(), "Person".RequestStr());

        string Json = JsonConvert.SerializeObject(DT);

        Json = "{\"rows\":" + Json + ",\"total\":" + RecordCount + "}";

        Response.Write(Json);
        Response.End();
    }
예제 #7
0
        void DoStop()
        {
            Debug.WriteLine("BluetoothListener Stop");

            if (handle != IntPtr.Zero)
            {
                WSAQUERYSET qs = new WSAQUERYSET();
                qs.dwSize      = Marshal.SizeOf(qs);
                qs.dwNameSpace = NativeMethods.NS_BTH;
                var blob       = new BLOB();
                var setService = new BTH_SET_SERVICE();
                blob.size = (2 * IntPtr.Size) + (7 * 4);
                setService.pRecordHandle = Marshal.AllocHGlobal(4);
                Marshal.WriteIntPtr(setService.pRecordHandle, handle);
                setService.pSdpVersion = Marshal.AllocHGlobal(4);
                Marshal.WriteInt32(setService.pSdpVersion, 1);

                blob.blobData = Marshal.AllocHGlobal(blob.size);
                Marshal.StructureToPtr(setService, blob.blobData, false);

                qs.lpBlob = Marshal.AllocHGlobal(Marshal.SizeOf(blob));
                Marshal.StructureToPtr(blob, qs.lpBlob, false);

                /*qs.lpBlob = new BLOB();
                 * qs.lpBlob.blobData = new BTH_SET_SERVICE();
                 * qs.lpBlob.size = Marshal.SizeOf(qs.lpBlob.blobData);
                 * qs.lpBlob.blobData.pRecordHandle = handle;
                 * qs.lpBlob.blobData.pSdpVersion = 1;*/
                int result = NativeMethods.WSASetService(ref qs, WSAESETSERVICEOP.RNRSERVICE_DELETE, 0);
                handle = IntPtr.Zero;
                if (result == -1)
                {
                    int werr = Marshal.GetLastWin32Error();
                    throw new SocketException(werr);
                }
            }

            if (NativeMethods.IsRunningOnMono())
            {
                ((Win32Socket)socket).Close();
            }
            else
            {
                socket.Close();
            }

            socket = null;
        }
예제 #8
0
        public async Task <Response <long> > UploadBlobAsync(BLOB message)
        {
            int result = 0;

            using (var context = DbContextFactory.GetContext(_connectionString))
            {
                result = await context.InsertAsync(message);
            }

            if (result < 0)
            {
                return(new Response <long>("Insert Message Failed."));
            }

            return(new Response <long>(result));
        }
예제 #9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if ("Act".IsRequest())
        {
            switch ("Act".RequestStr().ToUpper())
            {
            case "ATTR":
                Response.Write(JsonConvert.SerializeObject(BLOB.Attr("ItemID".RequestStr())));
                Response.End();
                break;

            case "CHART":
                Chart();
                break;
            }
        }
    }
예제 #10
0
 private void SetStruct <T>(T?value, VarEnum ve) where T : struct
 {
     Clear();
     VarType = ve;
     if (value.HasValue)
     {
         var type = typeof(T);
         if (type == typeof(IntPtr))
         {
             _ptr = (IntPtr)(object)value.Value;
         }
         else if (type == typeof(bool))
         {
             _ptr = (IntPtr)(ushort)((bool)(object)value.Value ? -1 : 0);
         }
         else if (value.Value.GetType().IsPrimitive)
         {
             unsafe
             {
                 fixed(void *ptr = &_ulong) Marshal.StructureToPtr(value.Value, new IntPtr(ptr), true);
             }
         }
         else if (type == typeof(FILETIME))
         {
             _ft = (FILETIME)(object)value.Value;
         }
         else if (type == typeof(BLOB))
         {
             _blob = (BLOB)(object)value.Value;
         }
         else if (type == typeof(decimal))
         {
             SetDecimal((decimal)(object)value.Value);
         }
         else
         {
             _ptr = value.Value.StructureToPtr();
         }
     }
     else
     {
         vt |= (ushort)VarEnum.VT_BYREF;
     }
 }
예제 #11
0
    /// <summary>
    /// 厂家 监测指标 合格率
    /// </summary>
    /// <param name="StartDate"></param>
    /// <param name="EndDate"></param>
    /// <param name="TestRoom"></param>
    /// <param name="Item"></param>
    /// <param name="Factory"></param>
    /// <param name="Attribute"></param>
    /// <returns></returns>
    public static DataTable FactoryQualified(
        string StartDate, string EndDate,
        string TestRoom,
        string Item, string Factory, string Attribute)
    {
        string Where = "  ";

        Where += string.IsNullOrEmpty(StartDate) ? " " : " AND BGRQ >='" + StartDate + "' ";
        Where += string.IsNullOrEmpty(EndDate) ? " " : "  AND BGRQ <='" + DateTime.Parse(EndDate).AddDays(1).ToString("yyyy-MM-dd") + "' ";
        Where += string.IsNullOrEmpty(TestRoom) ? " " : " AND  TestRoomCode in(" + TestRoom + ") ";
        Where += string.IsNullOrEmpty(Item) ? " " : "  AND sys_TJ_MainData.ItemID ='" + Item + "' ";
        Where += string.IsNullOrEmpty(Factory) ? " " : "  AND FactoryID in(" + Factory + ") ";

        //
        ItemCollection Attr = BLOB.Attribute(Item);

        Where += " AND (" + Attribute + " <> '' AND " + Attribute + " is not null ) ";

        return(null);
    }
예제 #12
0
파일: HNTKY.aspx.cs 프로젝트: scaperow/-Web
    public void Chart()
    {
        string As = "AS".RequestStr();

        string StartDate = "StartDate".RequestStr();
        string EndDate   = "EndDate".RequestStr();

        string Json = string.Empty;


        DataSet Ds = BLOB.HNTQD("YCItem".RequestStr(), "QDDJ".RequestStr(), "Attr".RequestStr(), "YLL".RequestStr(), "YLLOffset".RequestStr(), StartDate, EndDate, SelectedTestRoomCodes);

        Json += "{";
        Json += "\"D1\":" + Newtonsoft.Json.JsonConvert.SerializeObject(Ds.Tables[0]);
        Json += ",\"D2\":" + Newtonsoft.Json.JsonConvert.SerializeObject(Ds.Tables[1]);
        Json += "}";

        Response.Write(Json);
        Response.End();
    }
예제 #13
0
        public void blob_detect()
        {
            Bitmap      image = this.scanned_image;
            BlobCounter blob  = new BlobCounter();

            blob.FilterBlobs = false;

            int blob_ht_width = 30;

            blob.MinHeight = blob_ht_width;
            blob.MinWidth  = blob_ht_width;
            blob.ProcessImage(image);

            Blob[]             b            = blob.GetObjectsInformation();
            SimpleShapeChecker shapeChecker = new SimpleShapeChecker();

            /*blob_counter.Text = b.Length.ToString();
             * Graphics g = Graphics.FromImage(image2);
             * Pen yellowPen = new Pen(Color.Yellow, 5);
             * Pen redPen = new Pen(Color.Red, 5);
             * Pen greenPen = new Pen(Color.Green, 5);
             * int b_counter = 0;
             */
            for (int i = 0, n = b.Length; i < n; i++)
            {
                List <IntPoint> edgePoints = blob.GetBlobsEdgePoints(b[i]);
                List <IntPoint> edges      = new List <IntPoint>();
                AForge.Point    center;
                float           radius;

                if (shapeChecker.IsCircle(edgePoints, out center, out radius))
                {
                    if (b[i].Fullness * 100 >= 40 && b[i].Fullness * 100 < 100 && radius > 10)
                    {
                        Coordinate coor = new Coordinate(center.X, center.Y);
                        BLOB       blb  = new BLOB(coor, radius);
                        useful.Add(blb);
                    }
                }
            }
        }
        /// <exclude/>
        /// <summary>
        /// Add a SDP record.
        /// </summary>
        /// -
        /// <param name="sdpRecord">An array of <see cref="T:System.Byte"/>
        /// containing the complete SDP record.
        /// </param>
        /// <param name="cod">A <see cref="T:InTheHand.Net.Bluetooth.ServiceClass"/>
        /// containing any bits to set in the devices Class of Device value.
        /// </param>
        /// -
        /// <returns>A handle representing the record, pass to
        /// <see cref="RemoveService"/> to remote the record.
        /// </returns>
        public static IntPtr SetService(byte[] sdpRecord, ServiceClass cod)
        {
            BTHNS_SETBLOB blob = new BTHNS_SETBLOB(sdpRecord);

            //added for XP - adds class of device bits
#if WinXP
            blob.CodService = (uint)cod;
#endif

            WSAQUERYSET qs = new WSAQUERYSET
            {
                dwSize      = WqsOffset.StructLength_60,
                dwNameSpace = WqsOffset.NsBth_16
            };
            System.Diagnostics.Debug.Assert(Marshal.SizeOf(qs) == qs.dwSize, "WSAQUERYSET SizeOf == dwSize");
            GCHandle hBlob = GCHandle.Alloc(blob.ToByteArray(), GCHandleType.Pinned);

            BLOB b = new BLOB(blob.Length, hBlob.AddrOfPinnedObject());

            GCHandle hb = GCHandle.Alloc(b, GCHandleType.Pinned);

            qs.lpBlob = hb.AddrOfPinnedObject();

            try
            {
                int hresult = NativeMethods.WSASetService(ref qs, WSAESETSERVICEOP.RNRSERVICE_REGISTER, 0);
                ThrowSocketExceptionForHR(hresult);
            }
            finally
            {
                hb.Free();
                hBlob.Free();
            }

            IntPtr handle = blob.Handle;
            blob.Dispose();

            return(handle);
        }
        /// <exclude/>
        /// <summary>
        /// Remove a SDP record as added by <see cref="SetService"/>.
        /// </summary>
        /// <param name="handle">The handle.
        /// </param>
        /// <param name="sdpRecord">The raw record, presumably not actually used by the stack.
        /// </param>
        public static void RemoveService(IntPtr handle, byte[] sdpRecord)
        {
            BTHNS_SETBLOB blob = new BTHNS_SETBLOB(sdpRecord)
            {
                Handle = handle
            };

            WSAQUERYSET qs = new WSAQUERYSET
            {
                dwSize      = WqsOffset.StructLength_60,
                dwNameSpace = WqsOffset.NsBth_16
            };

            System.Diagnostics.Debug.Assert(Marshal.SizeOf(qs) == qs.dwSize, "WSAQUERYSET SizeOf == dwSize");

            GCHandle hBlob = GCHandle.Alloc(blob.ToByteArray(), GCHandleType.Pinned);

            BLOB b = new BLOB(blob.Length, hBlob.AddrOfPinnedObject());

            GCHandle hb = GCHandle.Alloc(b, GCHandleType.Pinned);

            qs.lpBlob = hb.AddrOfPinnedObject();

            try
            {
                int hresult = NativeMethods.WSASetService(ref qs, WSAESETSERVICEOP.RNRSERVICE_DELETE, 0);
                ThrowSocketExceptionForHR(hresult);
            }
            finally
            {
                hb.Free();
                hBlob.Free();

                //release blob and associated GCHandles
                blob.Dispose();
            }
        }
    public void Chart()
    {
        int RecordCount = 0;

        string M = "M".RequestStr();

        M = M.IsNullOrEmpty() ? "" : M.Replace("月份", "");

        string StartDate = M + "-1";
        string EndDate   = (M + "-1").ToDateTime().AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd");

        if (!"StartDate".RequestStr().IsNullOrEmpty() && !"EndDate".RequestStr().IsNullOrEmpty())
        {
            StartDate = "StartDate".RequestStr();
            EndDate   = "EndDate".RequestStr();
        }

        DataTable DT = BLOB.DataAnalysis(out RecordCount, 1, 100000,
                                         StartDate, EndDate,
                                         SelectedTestRoomCodes, "Item".RequestStr(), "Factory".RequestStr(), "Attr".RequestStr(), "AttrName".RequestStr(), "Model".RequestStr());

        Response.Write(JsonConvert.SerializeObject(DT));
        Response.End();
    }
예제 #17
0
        public BLOB etr_forms(bool Archive, string Author, string Creator, bool Nahled, string Producer, string Subject, string Title, string Type, BLOB docIN, out string error, out string stavOUT)
        {
            BLOB outBlob = new BLOB();

            if (logovani)
            {
                XmlDocument xmlSoapRequest = new XmlDocument();

                // Get raw request body
                using (Stream receiveStream = HttpContext.Current.Request.InputStream)
                {
                    receiveStream.Position = 0;
                    using (StreamReader readStream =
                               new StreamReader(receiveStream, System.Text.Encoding.UTF8))
                    {
                        xmlSoapRequest.Load(readStream);
                    }

                    xmlSoapRequest.Save(@"C:\Sluzby\602\etr_forms_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xml");
                }
            }

            try
            {
                WS602Info = Database.getWS602Info();
            }
            catch (Exception ddd)
            {
                stavOUT = "FALSE";
                error   = ddd.Message;

                return(outBlob);
            }

            if (WS602Info.URL == "")
            {
                stavOUT = "FALSE";
                error   = "Není vyplněna URL adresa pro webovou službu Software602 LTD!";
                return(outBlob);
            }

            if (WS602Info.Certifikat == "")
            {
                //stavOUT = "FALSE";
                //error = "Není cesta k podepisujícímu systémovému certifikátu (značce / pečeti)!";
                //return outBlob;
            }


            stavOUT = "";
            error   = "";

            ConvertOptions ConvertOptions = new ConvertOptions();

            if (Archive)
            {
                ConvertOptions.PdfFormat = PdfFormat.PDF_A_2b;
                //ConvertOptions.PdfFormat = PdfFormat.PDF;
                //podepíšu:

                ConvertOptions.AddSignature = true;
                ConvertOptions.Signature    = new PdfSignature();

                /*if (Database.getSetting("aplikace_provozovatel") == "VS")
                 * {
                 *  ConvertOptions.Signature.CertificateID = WS602Info.Certifikat;
                 * }
                 * else
                 * {
                 *  ConvertOptions.Signature.CertificateID = "PEMfile:" + WS602Info.Certifikat;
                 * }*/

                ConvertOptions.Signature.CertificateID = WS602Info.Certifikat;

                ConvertOptions.Signature.AddTimeStamp = true;
            }
            else
            {
                ConvertOptions.PdfFormat = PdfFormat.PDF;
            }

            service.Url = WS602Info.URL;

            try
            {
                vysledek = service.ConvertFileEx(docIN.binaryData, "test." + Type, ConvertOptions, "", out output, out report, out error);
            }
            catch (Exception ddd)
            {
                error = ddd.Message;
            }

            if (vysledek == 0)
            {
                outBlob.binaryData  = output;
                outBlob.contentType = "application/pdf";
            }
            else
            {
                error = report;
            }

            return(outBlob);
        }
예제 #18
0
        bool IKeyManagementDriver.LoadAsymmetricKey(int session, IntPtr keyData, int keyDataLen, KeyType keyType, out int hKey)
        {
            bool bRet = false;

            byte []    key;
            BLOB       blob   = new BLOB();
            BLOBHEADER header = new BLOBHEADER();

            hKey = -1;

            try
            {
                SessionData ctx = ((SessionDriver)this.Hal.Session).GetSessionCtx(session);

                Marshal.PtrToStructure(keyData, blob);

                //Debug.Print("   KeySize: " + blob.size.ToString());
                //Debug.Print("   Header:  " + blob.pBlobData.ToString());

                key = new byte[blob.size];

                Marshal.Copy(blob.pBlobData, key, 0, (int)blob.size);

                //for (int i = 0; i < (int)key.Length; i+=8)
                //{
                //    string tmp = "";
                //    for (int q = i; (q - i < 8) && q < blob.size; q++)
                //    {
                //        tmp += string.Format("{0:x2} ", key[q]);
                //    }

                //    Debug.Print(tmp);
                //}

                Marshal.PtrToStructure(blob.pBlobData, header);

                //Debug.Print("   Type:  " + header.bType.ToString());
                //Debug.Print("   Ver :  " + header.bVersion.ToString());
                //Debug.Print("   Res :  " + header.reserved.ToString());
                //Debug.Print("   Alg :  " + header.alg_id.ToString());


                if (header.bType == 7 || header.bType == 6)
                {
                    if ((header.alg_id & (7 << 9)) == (2 << 9))
                    {
                        RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

                        //for (int i = 0; i < key.Length; i++)
                        //{
                        //    Debug.Write(string.Format("0x{0:X02}, ", key[i]));
                        //}

                        //RSAParameters rp = new RSAParameters();
                        //rp.Modulus = new byte[1];
                        //for (int i = 0; i < rp.Modulus.Length; i++) rp.Modulus[i] = 19;
                        //rp.Exponent = new byte[] { 91 };
                        //rsa.ImportParameters(rp);
                        //byte[] blb = rsa.ExportCspBlob(false);
                        //Debug.Print(blb[0].ToString());

                        rsa.ImportCspBlob(key);

                        hKey = ctx.ObjectCtx.AddObject(CryptokiObjectType.Key, new KeyData(key, rsa));

                        bRet = true;
                    }
                    else if (header.alg_id == 0x2200)
                    {
                        DSACryptoServiceProvider dsa = new DSACryptoServiceProvider();

                        dsa.ImportCspBlob(key);

                        hKey = ctx.ObjectCtx.AddObject(CryptokiObjectType.Key, new KeyData(key, dsa));

                        bRet = true;
                    }
                }
            }
            catch (Exception e)
            {
                Debug.Print("   " + e.ToString());
                return(false);
            }

            return(bRet);
            // throw new NotImplementedException();
        }
예제 #19
0
        void DoStart()
        {
            if (handle != IntPtr.Zero)
            {
                throw new InvalidOperationException();
            }

            endPoint = new BluetoothEndPoint(BluetoothAddress.None, serviceUuid);

            if (NativeMethods.IsRunningOnMono())
            {
                socket = new Win32Socket();
                ((Win32Socket)socket).Bind(endPoint);
                Debug.WriteLine(socket.IsBound);
                ((Win32Socket)socket).Listen(1);
                // get endpoint with channel
                endPoint = ((Win32Socket)socket).LocalEndPoint as BluetoothEndPoint;
            }
            else
            {
                socket = new Socket(BluetoothClient.AddressFamilyBluetooth, SocketType.Stream, BluetoothProtocolType.RFComm);
                socket.Bind(endPoint);
                Debug.WriteLine(socket.IsBound);
                socket.Listen(1);
                // get endpoint with channel
                endPoint = socket.LocalEndPoint as BluetoothEndPoint;
            }

            var socketAddressBytes = endPoint.Serialize().ToByteArray();


            WSAQUERYSET qs = new WSAQUERYSET();

            qs.dwSize      = Marshal.SizeOf(qs);
            qs.dwNameSpace = NativeMethods.NS_BTH;
            //var uuidh = GCHandle.Alloc(serviceUuid, GCHandleType.Pinned);
            //qs.lpServiceClassId = uuidh.AddrOfPinnedObject();
            //qs.lpszServiceInstanceName = ServiceName;

            qs.dwNumberOfCsAddrs = 1;

            var csa = new CSADDR_INFO
            {
                lpLocalSockaddr      = Marshal.AllocHGlobal(NativeMethods.BluetoothSocketAddressLength),
                iLocalSockaddrLength = NativeMethods.BluetoothSocketAddressLength,
                iSocketType          = SocketType.Stream,
                iProtocol            = NativeMethods.PROTOCOL_RFCOMM
            };

            Marshal.Copy(socketAddressBytes, 0, csa.lpLocalSockaddr, NativeMethods.BluetoothSocketAddressLength);

            IntPtr pcsa = Marshal.AllocHGlobal(Marshal.SizeOf(csa));

            Marshal.StructureToPtr(csa, pcsa, false);
            qs.lpcsaBuffer = pcsa;

            var blob     = new BLOB();
            var blobData = new BTH_SET_SERVICE();
            int sdpVer   = 1;

            blobData.pSdpVersion = Marshal.AllocHGlobal(IntPtr.Size);
            Marshal.WriteInt32(blobData.pSdpVersion, sdpVer);
            blobData.pRecordHandle = Marshal.AllocHGlobal(IntPtr.Size);
            Marshal.WriteIntPtr(blobData.pRecordHandle, 0, IntPtr.Zero);
            blobData.fCodService = ServiceClass;

            if (ServiceRecord == null)
            {
                ServiceRecordBuilder builder = new ServiceRecordBuilder();
                builder.AddServiceClass(serviceUuid);
                builder.ProtocolType = BluetoothProtocolDescriptorType.Rfcomm;

                if (!string.IsNullOrEmpty(ServiceName))
                {
                    builder.ServiceName = ServiceName;
                }

                ServiceRecord = builder.ServiceRecord;
            }
            ServiceRecordHelper.SetRfcommChannelNumber(ServiceRecord, socketAddressBytes[26]);

            byte[] rawBytes = ServiceRecord.ToByteArray();
            blobData.ulRecordLength = (uint)rawBytes.Length;
            int structSize = (2 * IntPtr.Size) + (7 * 4);

            blob.size     = structSize + rawBytes.Length;
            blob.blobData = Marshal.AllocHGlobal(blob.size);
            Marshal.StructureToPtr(blobData, blob.blobData, false);
            Marshal.Copy(rawBytes, 0, IntPtr.Add(blob.blobData, structSize), rawBytes.Length);

            var blobh = GCHandle.Alloc(blob, GCHandleType.Pinned);

            qs.lpBlob = blobh.AddrOfPinnedObject();

            try
            {
                int result = NativeMethods.WSASetService(ref qs, WSAESETSERVICEOP.RNRSERVICE_REGISTER, 0);

                var newstruct = Marshal.PtrToStructure <BTH_SET_SERVICE>(blob.blobData);
                handle = Marshal.ReadIntPtr(newstruct.pRecordHandle);
                if (result == -1)
                {
                    int werr = Marshal.GetLastWin32Error();
                    throw new SocketException(werr);
                }
            }
            finally
            {
                Marshal.FreeHGlobal(csa.lpLocalSockaddr);
                Marshal.FreeHGlobal(qs.lpcsaBuffer);

                Marshal.FreeHGlobal(blobData.pSdpVersion);
                Marshal.FreeHGlobal(blobData.pRecordHandle);

                Marshal.FreeHGlobal(blob.blobData);
                blobh.Free();
            }
        }
예제 #20
0
        public BLOB Add_watermark(BLOB DocIn, string Watermark_text_1, string Watermark_text_2, out string err_txt)
        {
            if (logovani)
            {
                XmlDocument xmlSoapRequest = new XmlDocument();

                // Get raw request body
                using (Stream receiveStream = HttpContext.Current.Request.InputStream)
                {
                    receiveStream.Position = 0;
                    using (StreamReader readStream =
                               new StreamReader(receiveStream, System.Text.Encoding.UTF8))
                    {
                        xmlSoapRequest.Load(readStream);
                    }

                    xmlSoapRequest.Save(@"C:\Sluzby\602\Add_watermark_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xml");
                }
            }

            BLOB outBlob = new BLOB();

            try
            {
                WS602Info = Database.getWS602Info();
            }
            catch (Exception ddd)
            {
                err_txt = ddd.Message;
                return(outBlob);
            }

            if (WS602Info.URL == "")
            {
                err_txt = "Není vyplněna URL adresa pro webovou službu Software602 LTD!";
                return(outBlob);
            }

            if (WS602Info.Certifikat == "")
            {
                //err_txt = "Není cesta k podepisujícímu systémovému certifikátu (značce / pečeti)!";
                //return outBlob;
            }

            //public BLOB invoke() {

            err_txt = "";
            ConvertOptions ConvertOptions = new ConvertOptions();

            ConvertOptions.PdfFormat    = PdfFormat.PDF;
            ConvertOptions.AddWatermark = true;

            ConvertOptions.Watermark          = new PdfWatermark();
            ConvertOptions.Watermark.Angle    = 1;
            ConvertOptions.Watermark.FontSize = 20;
            ConvertOptions.Watermark.Text     = Watermark_text_1 + Environment.NewLine + Watermark_text_2;

            service.Url = WS602Info.URL;

            try
            {
                vysledek = service.ConvertFileEx(DocIn.binaryData, "test.rtf", ConvertOptions, "", out output, out report, out error);
            }
            catch (Exception ddd)
            {
                err_txt = ddd.Message;
                return(outBlob);
            }

            if (vysledek == 0)
            {
                outBlob.binaryData  = output;
                outBlob.contentType = "application/pdf";
            }
            else
            {
                err_txt = error;
                return(outBlob);
            }

            //pridani vodoznaku
            return(outBlob);
        }
예제 #21
0
        //-------------------------------------------------------------------------
        // Function: GetLocalCloudName
        //
        // Purpose:  Retrieve first available local cloud name
        //
        // Arguments:
        //   cchCloudNameSize[in]: number of characters in pwzCloudName
        //                         (usually MAX_CLOUD_NAME)
        //   pwzCloudName [out]  : location to which cloud name will be copied
        //
        // Returns:  HRESULT
        //
        internal static HRESULT GetLocalCloudName(out string pwzCloudName)
        {
            HRESULT hr = HRESULT.S_OK;

            pwzCloudName = null;
            SafeHGlobalStruct <WSAQUERYSET> pResults = new SafeHGlobalStruct <WSAQUERYSET>(IntPtr.Zero);

            // Fill out information for WSA query
            var CloudInfo = new PNRPCLOUDINFO
            {
                dwSize = (uint)Marshal.SizeOf <PNRPCLOUDINFO>(),
                Cloud  = new PNRP_CLOUD_ID {
                    Scope = PNRP_SCOPE.PNRP_LINK_LOCAL_SCOPE
                }
            };

            using var pCloudInfo = new PinnedObject(CloudInfo);
            var blPnrpData = new BLOB
            {
                cbSize    = CloudInfo.dwSize,
                pBlobData = pCloudInfo
            };

            using var pGuid = new PinnedObject(SVCID_PNRPCLOUD);
            using var pBlob = new PinnedObject(blPnrpData);
            var querySet = new WSAQUERYSET
            {
                dwSize           = (uint)Marshal.SizeOf <WSAQUERYSET>(),
                dwNameSpace      = NS.NS_PNRPCLOUD,
                lpServiceClassId = (IntPtr)pGuid,
                lpBlob           = pBlob
            };

            var iErr = WSALookupServiceBegin(querySet, LUP.LUP_RETURN_NAME, out var hLookup);

            if (iErr.Failed)
            {
                return(iErr.ToHRESULT());
            }
            else
            {
                var  tempResultSet = new SafeHGlobalStruct <WSAQUERYSET>();
                uint dwResultSize  = tempResultSet.Size;

                // Get size of results
                iErr = WSALookupServiceNext(hLookup, 0, ref dwResultSize, tempResultSet);

                if (iErr.Failed)
                {
                    var dwErr = WSAGetLastError();

                    if (dwErr == 10014 /*WSAEFAULT*/)
                    {
                        // allocate space for results
                        pResults = new SafeHGlobalStruct <WSAQUERYSET>(dwResultSize);
                        if (pResults.IsInvalid)
                        {
                            hr = WSAGetLastError().ToHRESULT();
                        }
                    }
                    else
                    {
                        hr = dwErr.ToHRESULT();
                    }
                }
            }

            if (hr.Succeeded)
            {
                // retrieve the local cloud information
                uint dwResultSize = pResults.Size;
                iErr = WSALookupServiceNext(hLookup, 0, ref dwResultSize, pResults);
                if (iErr.Failed)
                {
                    hr = WSAGetLastError().ToHRESULT();
                }
            }

            // Copy the cloud name (if applicable) and scope ID
            if (hr.Succeeded)
            {
                pwzCloudName = pResults.Value.lpszServiceInstanceName;
                if (hr.Failed)
                {
                    DisplayHrError("Failed to copy cloud name", hr);
                }
            }

            if (!hLookup.IsNull)
            {
                WSALookupServiceEnd(hLookup);
            }

            pResults.Dispose();
            return(hr);
        }
예제 #22
0
    /// <summary>
    /// 施工部位的原材料使用情况
    /// </summary>
    /// <param name="RecordCount"></param>
    /// <param name="PageIndex"></param>
    /// <param name="PageSize"></param>
    /// <param name="StartDate"></param>
    /// <param name="EndDate"></param>
    /// <param name="TestRoom"></param>
    /// <param name="Item"></param>
    /// <returns></returns>
    public static DataTable ItemPosition(out int RecordCount, int PageIndex, int PageSize,
                                         string StartDate, string EndDate,
                                         string TestRoom,
                                         string Item
                                         )
    {
        #region SQL

        string Sql = @" 
                        DECLARE @Page int
                        DECLARE @PageSize int
                        SET @Page = {1}
                        SET @PageSize = {2}
                        SET NOCOUNT ON
                        DECLARE @TempTable TABLE (IndexId int identity, _keyID varchar(200))
                        INSERT INTO @TempTable
                        (
	                        _keyID
                        )
                        select sys_TJ_MainData.DataID from [dbo].[sys_TJ_MainData] 
                          join [dbo].[sys_TJ_Item_Module] on [dbo].[sys_TJ_MainData].ModuleID = [dbo].[sys_TJ_Item_Module].ModuleID
                          WHERE 1=1 
                          {0} 
 

                        SELECT 
                          sys_TJ_MainData.FactoryName as '生产厂家', 
                          sys_TJ_Item.ItemName as '原材',
                          {3} as '型号',
                          sys_TJ_MainData.SGBW as '工程部位',
                          sys_TJ_MainData.BGRQ as '报告日期',
                          sys_TJ_MainData.BGBH as '报告编号'
                           from  sys_TJ_MainData
                          JOIN sys_TJ_Item_Module on sys_TJ_MainData.ModuleID = sys_TJ_Item_Module.ModuleID 
                          Join sys_TJ_Item on sys_TJ_Item.ItemID = sys_TJ_Item_Module.ItemID
                        INNER JOIN @TempTable t ON sys_TJ_MainData.DataID = t._keyID
                        WHERE t.IndexId BETWEEN ((@Page - 1) * @PageSize + 1) AND (@Page * @PageSize)
                         {0}        
                        Order By  BGRQ Desc

                        DECLARE @C int
                        select @C= count(DataID) from [dbo].[sys_TJ_MainData] 
                          join [dbo].[sys_TJ_Item_Module] on [dbo].[sys_TJ_MainData].ModuleID = [dbo].[sys_TJ_Item_Module].ModuleID
                          where 1=1 
                          {0}
                        select @C 
                        ";


        #endregion


        string Where = "  ";

        Where += string.IsNullOrEmpty(StartDate) ? " " : " AND BGRQ >='" + StartDate + "' ";
        Where += string.IsNullOrEmpty(EndDate) ? " " : "  AND BGRQ <='" + DateTime.Parse(EndDate).AddDays(1).ToShortDateString() + "' ";
        Where += string.IsNullOrEmpty(TestRoom) ? " " : " AND  TestRoomCode in(" + TestRoom + ") ";
        Where += string.IsNullOrEmpty(Item) ? " " : "  AND sys_TJ_MainData.ItemID ='" + Item + "' ";

        ItemCollection Attr = BLOB.Attribute(Item);

        Sql = string.Format(Sql,
                            Where,
                            PageIndex,
                            PageSize,
                            Attr.ContainsKey("型号") ? Attr["型号"].BindField : " ' ' "
                            );
        Attr.Clear();
        Attr        = null;
        RecordCount = 0;
        BLL_Document BLL = new BLL_Document();
        DataSet      Ds  = BLL.GetDataSet(Sql);
        RecordCount = int.Parse(Ds.Tables[1].Rows[0][0].ToString());
        return(Ds.Tables[0]);
    }
예제 #23
0
    /// <summary>
    /// 采集分析
    /// </summary>
    /// <param name="RecordCount"></param>
    /// <param name="PageIndex"></param>
    /// <param name="PageSize"></param>
    /// <param name="StartDate"></param>
    /// <param name="EndDate"></param>
    /// <param name="TestRoom"></param>
    /// <param name="Item"></param>
    /// <param name="Factory"></param>
    /// <param name="Model"></param>
    /// <param name="Person"></param>
    /// <returns></returns>
    public static DataTable SamplingAnalysis(out int RecordCount, int PageIndex, int PageSize,
                                             string StartDate, string EndDate,
                                             string TestRoom,
                                             string Item, string Factory, string Model, string Person
                                             )
    {
        #region SQL
        string Sort = " ORDER BY BGRQ DESC ";

        if (PageSize > 10000)
        {
            Sort = "  ORDER BY BGRQ ASC  ";
        }

        string Clomun = @"
                        t1.description+' '+ sys_tree.description as  description, 
                        BGBH,
                        CONVERT(char(10),bgrq,23) as BGRQ , 
                        sys_TJ_Item.ItemName as 'YC',
                        FactoryName ,
                        sys_Module.Name as 'MName',
                        
                        {1} ,
                        {2} as C,
                        {3} as P
                        ,biz_machinelist.col_norm_c6 as XH
                        ";
        //{0} as XH ,
        string From = @" sys_TJ_MainData  
                        join sys_TJ_Item on sys_TJ_Item.ItemID = sys_TJ_MainData.ItemID
                        left outer join sys_tree on sys_tree.NodeCode = sys_TJ_MainData.testroomcode
                        left outer join sys_tree as t1 on t1.NodeCode = left(sys_TJ_MainData.testroomcode,8)
                        left outer join sys_Module on sys_Module.ID = sys_TJ_MainData.ModuleID
                        left outer join  biz_machinelist on biz_machinelist.scpt = {0}
                       ";

        string Where = "  ";

        Where += string.IsNullOrEmpty(StartDate) ? " " : " AND BGRQ >='" + StartDate + "' ";
        Where += string.IsNullOrEmpty(EndDate) ? " " : "  AND BGRQ <='" + DateTime.Parse(EndDate).AddDays(1).ToString("yyyy-MM-dd") + "' ";
        Where += string.IsNullOrEmpty(TestRoom) ? " " : " AND  TestRoomCode in(" + TestRoom + ") ";
        Where += string.IsNullOrEmpty(Item) ? " " : "  AND sys_TJ_MainData.ItemID ='" + Item + "' ";
        Where += string.IsNullOrEmpty(Factory) ? " " : "  AND FactoryID ='" + Factory + "' ";

        ItemCollection Attr = BLOB.Attribute(Item);
        Where += string.IsNullOrEmpty(Model) ? " " : Attr["设备型号"] == null ? "" : "  AND  " + Attr["设备型号"].BindField + "  = '" + Model + "' ";
        Where += string.IsNullOrEmpty(Person) ? " " : Attr["试验员"] == null ? "" : "  AND  " + Attr["试验员"].BindField + "  = '" + Person + "' ";


        string Temp = string.Empty;
        int    cc   = 1;
        foreach (Item K in Attr)
        {
            if ((K.ItemName.IndexOf("抗拉") > -1) || K.ItemName.IndexOf("强度值") > -1)
            {
                Temp += Temp.IsNullOrEmpty() ? K.BindField + " as  Val" + cc : "  ," + K.BindField + " as  Val" + cc;
                cc++;
            }
        }

        Clomun = string.Format(Clomun,
                               Attr.ContainsKey("设备型号") ? Attr["设备型号"].BindField : " ' '",
                               !Temp.IsNullOrEmpty() ? Temp : " ' '",
                               Attr.ContainsKey("代表数量") ? Attr["代表数量"].BindField : " ' '",
                               Attr.ContainsKey("试验人员") ? Attr["试验人员"].BindField : " ' '"
                               );

        From = string.Format(From, Attr.ContainsKey("设备型号") ? Attr["设备型号"].BindField : " ' '");
        #endregion

        Attr.Clear();
        Attr        = null;
        RecordCount = 0;

        string Sql = Expand.SqlPage(PageIndex, PageSize, "DataID", From, Where, Sort, Clomun);

        DataSet Ds = GetDataSet(Sql);

        if (Ds.Tables.Count < 1)
        {
            return(new DataTable());
        }
        RecordCount = int.Parse(Ds.Tables[1].Rows[0][0].ToString());



        return(Ds.Tables[0]);
    }
예제 #24
0
            private void SetValue(object value, VarEnum vEnum = VarEnum.VT_EMPTY)
            {
                if (vEnum == VarEnum.VT_EMPTY)
                {
                    vEnum = GetVarEnum(value?.GetType());
                }
                Clear();
                VarType = vEnum;

                // Finished if NULL or EMPTY
                if (vt <= 1)
                {
                    return;
                }

                // Handle SAFEARRAY
                if (_vt.IsFlagSet(IntVarEnum.VT_ARRAY))
                {
                    SetSafeArray((object[])value);
                    return;
                }

                // Handle BYREF null value
                if (_vt.IsFlagSet(IntVarEnum.VT_BYREF) && value == null)
                {
                    return;
                }

                // Handle case where element type is put in w/o specifying VECTOR
                if (value != null && value.GetType().IsArray)
                {
                    VarType |= VarEnum.VT_VECTOR;
                }

                switch (VarType)
                {
                case VarEnum.VT_I1:
                case VarEnum.VT_BYREF | VarEnum.VT_I1:
                    SetStruct((sbyte?)value, VarType);
                    break;

                case VarEnum.VT_UI1:
                case VarEnum.VT_BYREF | VarEnum.VT_UI1:
                    SetStruct((byte?)value, VarType);
                    break;

                case VarEnum.VT_I2:
                case VarEnum.VT_BYREF | VarEnum.VT_I2:
                    SetStruct((short?)value, VarType);
                    break;

                case VarEnum.VT_UI2:
                case VarEnum.VT_BYREF | VarEnum.VT_UI2:
                    SetStruct((ushort?)value, VarType);
                    break;

                case VarEnum.VT_I4:
                case VarEnum.VT_INT:
                case VarEnum.VT_BYREF | VarEnum.VT_I4:
                case VarEnum.VT_BYREF | VarEnum.VT_INT:
                    SetStruct((int?)value, VarType);
                    break;

                case VarEnum.VT_UI4:
                case VarEnum.VT_UINT:
                case VarEnum.VT_BYREF | VarEnum.VT_UI4:
                case VarEnum.VT_BYREF | VarEnum.VT_UINT:
                    SetStruct((uint?)value, VarType);
                    break;

                case VarEnum.VT_I8:
                case VarEnum.VT_BYREF | VarEnum.VT_I8:
                    SetStruct((long?)value, VarType);
                    break;

                case VarEnum.VT_UI8:
                case VarEnum.VT_BYREF | VarEnum.VT_UI8:
                    SetStruct((ulong?)value, VarType);
                    break;

                case VarEnum.VT_R4:
                case VarEnum.VT_BYREF | VarEnum.VT_R4:
                    SetStruct((float?)value, VarType);
                    break;

                case VarEnum.VT_R8:
                case VarEnum.VT_BYREF | VarEnum.VT_R8:
                    SetStruct((double?)value, VarType);
                    break;

                case VarEnum.VT_BOOL:
                case VarEnum.VT_BYREF | VarEnum.VT_BOOL:
                    SetStruct((bool?)value, VarType);
                    break;

                case VarEnum.VT_ERROR:
                case VarEnum.VT_BYREF | VarEnum.VT_ERROR:
                {
                    uint?i;
                    if (value is Win32Error)
                    {
                        i = (uint?)(int)(Win32Error)value;
                    }
                    else
                    {
                        i = (uint)Convert.ChangeType(value, typeof(uint));
                    }
                    SetStruct(i, VarType);
                }
                break;

                case VarEnum.VT_HRESULT:
                case VarEnum.VT_BYREF | VarEnum.VT_HRESULT:
                {
                    uint?i;
                    if (value is HRESULT)
                    {
                        i = (uint?)(int)(HRESULT)value;
                    }
                    else
                    {
                        i = (uint)Convert.ChangeType(value, typeof(uint));
                    }
                    SetStruct(i, VarType);
                }
                break;

                case VarEnum.VT_CY:
                case VarEnum.VT_BYREF | VarEnum.VT_CY:
                {
                    ulong?i;
                    if (value is decimal)
                    {
                        i = (ulong?)decimal.ToOACurrency((decimal)value);
                    }
                    else
                    {
                        i = (ulong)Convert.ChangeType(value, typeof(ulong));
                    }
                    SetStruct(i, VarType);
                }
                break;

                case VarEnum.VT_DATE:
                case VarEnum.VT_BYREF | VarEnum.VT_DATE:
                {
                    double?d  = null;
                    var    dt = value as DateTime?;
                    if (dt != null)
                    {
                        d = dt.Value.ToOADate();
                    }
                    var ft = value as FILETIME?;
                    if (ft != null)
                    {
                        d = ft.Value.ToDateTime().ToOADate();
                    }
                    if (d == null)
                    {
                        d = (double)Convert.ChangeType(value, typeof(double));
                    }
                    SetStruct(d, VarType);
                }
                break;

                case VarEnum.VT_FILETIME:
                {
                    FILETIME?ft;
                    var      dt = value as DateTime?;
                    if (dt != null)
                    {
                        ft = dt.Value.ToFileTimeStruct();
                    }
                    else
                    {
                        ft = value as FILETIME? ?? MakeFILETIME((ulong)Convert.ChangeType(value, typeof(ulong)));
                    }
                    _ft = ft.GetValueOrDefault();
                }
                break;

                case VarEnum.VT_CLSID:
                    SetStruct((Guid?)value, VarType);
                    break;

                case VarEnum.VT_CF:
                    SetStruct((CLIPDATA?)value, VarType);
                    break;

                case VarEnum.VT_BLOB:
                case VarEnum.VT_BLOB_OBJECT:
                    _blob = (BLOB)value;
                    break;

                case VarEnum.VT_BSTR:
                case VarEnum.VT_BYREF | VarEnum.VT_BSTR:
                    if (value is IntPtr)
                    {
                        SetStruct((IntPtr?)value, VarType);
                    }
                    else
                    {
                        SetString(value?.ToString(), VarType);
                    }
                    break;

                case VarEnum.VT_LPSTR:
                case VarEnum.VT_LPWSTR:
                    SetString(value?.ToString(), VarType);
                    break;

                case VarEnum.VT_UNKNOWN:
                case VarEnum.VT_BYREF | VarEnum.VT_UNKNOWN:
                {
                    var p = value as IntPtr? ?? Marshal.GetIUnknownForObject(value);
                    SetStruct <IntPtr>(p, VarType);
                }
                break;

                case VarEnum.VT_DISPATCH:
                case VarEnum.VT_BYREF | VarEnum.VT_DISPATCH:
                {
                    var p = value as IntPtr? ?? Marshal.GetIDispatchForObject(value);
                    SetStruct <IntPtr>(p, VarType);
                }
                break;

                case VarEnum.VT_STREAM:
                case VarEnum.VT_STREAMED_OBJECT:
                    SetStruct <IntPtr>(Marshal.GetComInterfaceForObject(value, typeof(IStream)), VarType);
                    break;

                case VarEnum.VT_STORAGE:
                case VarEnum.VT_STORED_OBJECT:
                    SetStruct <IntPtr>(Marshal.GetComInterfaceForObject(value, typeof(IStorage)), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_I1:
                    SetVector(ConvertToEnum <sbyte>(value), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_UI1:
                    SetVector(ConvertToEnum <byte>(value), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_I2:
                    SetVector(ConvertToEnum <short>(value), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_UI2:
                    SetVector(ConvertToEnum <ushort>(value), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_I4:
                case VarEnum.VT_VECTOR | VarEnum.VT_INT:
                    SetVector(ConvertToEnum <int>(value), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_UI4:
                case VarEnum.VT_VECTOR | VarEnum.VT_UINT:
                    SetVector(ConvertToEnum <uint>(value), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_I8:
                    SetVector(ConvertToEnum <long>(value), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_UI8:
                    SetVector(ConvertToEnum <ulong>(value), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_R4:
                    SetVector(ConvertToEnum <float>(value), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_R8:
                    SetVector(ConvertToEnum <double>(value), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_BOOL:
                    SetVector(ConvertToEnum <bool>(value).Select(b => (ushort)(b ? -1 : 0)), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_ERROR:
                {
                    var ee = (value as IEnumerable <Win32Error>)?.Select(w => (uint)(int)w) ?? ConvertToEnum <uint>(value);
                    SetVector(ee, VarType);
                }
                break;

                case VarEnum.VT_VECTOR | VarEnum.VT_HRESULT:
                {
                    var ee = (value as IEnumerable <HRESULT>)?.Select(w => (uint)(int)w) ?? ConvertToEnum <uint>(value);
                    SetVector(ee, VarType);
                }
                break;

                case VarEnum.VT_VECTOR | VarEnum.VT_CY:
                {
                    var ecy = (value as IEnumerable <decimal>)?.Select(d => (ulong)decimal.ToOACurrency(d)) ??
                              ConvertToEnum <ulong>(value);
                    SetVector(ecy, VarType);
                }
                break;

                case VarEnum.VT_VECTOR | VarEnum.VT_DATE:
                {
                    var ed = (value as IEnumerable <DateTime>)?.Select(d => d.ToOADate()) ??
                             (value as IEnumerable <FILETIME>)?.Select(ft => ft.ToDateTime().ToOADate()) ??
                             ConvertToEnum <double>(value);
                    SetVector(ed, VarType);
                }
                break;

                case VarEnum.VT_VECTOR | VarEnum.VT_FILETIME:
                {
                    var ed = value as IEnumerable <FILETIME> ??
                             (value as IEnumerable <DateTime>)?.Select(d => d.ToFileTimeStruct()) ??
                             ConvertToEnum <ulong>(value)?.Select(MakeFILETIME);
                    SetVector(ed, VarType);
                }
                break;

                case VarEnum.VT_VECTOR | VarEnum.VT_CLSID:
                    SetVector(ConvertToEnum <Guid>(value), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_CF:
                    SetVector(ConvertToEnum <CLIPDATA>(value), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_BSTR:
                {
                    var ep = value as IEnumerable <IntPtr>;
                    if (ep != null)
                    {
                        SetVector(ep, VarType);
                    }
                    else
                    {
                        SetStringVector(ConvertToEnum <string>(value), VarType);
                    }
                }
                break;

                case VarEnum.VT_VECTOR | VarEnum.VT_LPSTR:
                case VarEnum.VT_VECTOR | VarEnum.VT_LPWSTR:
                    SetStringVector(ConvertToEnum <string>(value), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_VARIANT:
                    SetVector(ConvertToEnum <PROPVARIANT>(value), VarType);
                    break;

                case VarEnum.VT_VECTOR | VarEnum.VT_DECIMAL:
                    SetVector(ConvertToEnum <decimal>(value), VarType);
                    break;

                case VarEnum.VT_BYREF | VarEnum.VT_DECIMAL:
                    SetDecimal((decimal?)value);
                    break;

                case VarEnum.VT_BYREF | VarEnum.VT_VARIANT:
                    _ptr = this.StructureToPtr();
                    break;

                case VarEnum.VT_VOID:
                case VarEnum.VT_PTR:
                case VarEnum.VT_USERDEFINED:
                case VarEnum.VT_RECORD:
                    _ptr = (IntPtr)value;
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }
예제 #25
0
    /// <summary>
    /// 试验检测数据分析
    /// </summary>
    /// <param name="RecordCount"></param>
    /// <param name="PageIndex"></param>
    /// <param name="PageSize"></param>
    /// <param name="StartDate">起始日期</param>
    /// <param name="EndDate">结束日期</param>
    /// <param name="TestRoom">试验室</param>
    /// <param name="Item">原材</param>
    /// <param name="Factory">厂家</param>
    /// <param name="Attribute">检测指标</param>
    /// <param name="Model">型号</param>
    /// <returns></returns>
    public static DataTable DataAnalysis(out int RecordCount, int PageIndex, int PageSize,
                                         string StartDate, string EndDate,
                                         string TestRoom,
                                         string Item, string Factory, string Attribute, string AttributeName, string Model
                                         )
    {
        #region SQL
        string Sort = " ORDER BY BGRQ DESC ";

        if (PageSize > 10000)
        {
            Sort = "  ORDER BY BGRQ ASC  ";
        }

        string Clomun = @"
                        sys_tree.description , 
                        BGBH,DataID,
                        CONVERT(char(10),bgrq,23) as BGRQ , 
                        sys_TJ_Item.ItemName as 'YC',
                        FactoryName ,
                        sys_Module.Name as 'MName',
                        {0} as XH ,
                        sys_TJ_StandardValue.StandardValue as ZVal,
                        {1} as Val,
                        '' as BVal
                        ";

        string From = @" sys_TJ_MainData  
                        join sys_TJ_Item on sys_TJ_Item.ItemID = sys_TJ_MainData.ItemID
                        left outer join sys_tree on sys_tree.NodeCode = sys_TJ_MainData.testroomcode
                        left outer join sys_Module on sys_Module.ID = sys_TJ_MainData.ModuleID
                        left outer join sys_TJ_StandardValue on sys_TJ_StandardValue.ItemID = sys_TJ_MainData.ItemID
                        AND (sys_TJ_StandardValue.Model = {0} OR '/' = sys_TJ_StandardValue.Model  )
                        AND sys_TJ_StandardValue.ItemName = '{1}'
                        AND sys_TJ_StandardValue.ModuleID =  sys_TJ_MainData.ModuleID";

        string Where = "  ";

        Where += string.IsNullOrEmpty(StartDate) ? " " : " AND BGRQ >='" + StartDate + "' ";
        Where += string.IsNullOrEmpty(EndDate) ? " " : "  AND BGRQ <='" + DateTime.Parse(EndDate).AddDays(1).ToString("yyyy-MM-dd") + "' ";
        Where += string.IsNullOrEmpty(TestRoom) ? " " : " AND  TestRoomCode in(" + TestRoom + ") ";
        Where += string.IsNullOrEmpty(Item) ? " " : "  AND sys_TJ_MainData.ItemID ='" + Item + "' ";
        Where += string.IsNullOrEmpty(Factory) ? " " : "  AND FactoryID ='" + Factory + "' ";

        ItemCollection Attr = BLOB.Attribute(Item);
        Where += string.IsNullOrEmpty(Model) ? " " : Attr["型号"] == null ? "" : "  AND  " + Attr["型号"].BindField + "  = '" + Model + "' ";
        Where += " AND (" + Attribute + " <> '' AND " + Attribute + " is not null ) ";

        Clomun = string.Format(Clomun, Attr.ContainsKey("型号") ? Attr["型号"].BindField : " ' '", Attribute);

        From = string.Format(From, Attr.ContainsKey("型号") ? Attr["型号"].BindField : " ' '", AttributeName);

        #endregion

        Attr.Clear();
        Attr        = null;
        RecordCount = 0;

        string Sql = Expand.SqlPage(PageIndex, PageSize, "DataID", From, Where, Sort, Clomun);

        DataSet Ds = GetDataSet(Sql);



        if (Ds.Tables.Count < 1)
        {
            return(new DataTable());
        }
        RecordCount = int.Parse(Ds.Tables[1].Rows[0][0].ToString());


        foreach (DataRow Dr in Ds.Tables[0].Rows)
        {
            Dr["BVal"] = StandardDeviation(Dr["ZVal"].ToString(), Dr["Val"].ToString());
        }

        return(Ds.Tables[0]);
    }
예제 #26
0
        public AssemblerResult konverze_DA(BLOB docIN_form, BLOB docIN_orig, string text_1, string text_2, string text_3, int tisk_prosty, [System.Xml.Serialization.XmlIgnoreAttribute()] bool tisk_prostySpecified, string typ, out string StatusKod, out string StatusText, out BLOB docOUT, out int muj_vystup)
        {
            if (logovani)
            {
                XmlDocument xmlSoapRequest = new XmlDocument();

                // Get raw request body
                using (Stream receiveStream = HttpContext.Current.Request.InputStream)
                {
                    receiveStream.Position = 0;
                    using (StreamReader readStream =
                               new StreamReader(receiveStream, System.Text.Encoding.UTF8))
                    {
                        xmlSoapRequest.Load(readStream);
                    }

                    xmlSoapRequest.Save(@"C:\Sluzby\602\konverze_DA_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xml");
                }
            }

            //public BLOB invoke() {
            AssemblerResult outAsembler = new AssemblerResult();

            StatusText = "";
            docOUT     = new BLOB();
            muj_vystup = 0;
            StatusKod  = "0000";

            BLOB outBlob = new BLOB();

            try
            {
                WS602Info = Database.getWS602Info();
            }
            catch (Exception ddd)
            {
                StatusText = ddd.Message;
                StatusKod  = "1111";
                return(outAsembler);
            }

            if (WS602Info.URL == "")
            {
                StatusText = "Není vyplněna URL adresa pro webovou službu Software602 LTD!";
                StatusKod  = "2222";
                return(outAsembler);
            }

            if (WS602Info.Certifikat == "")
            {
                //StatusText = "Není cesta k podepisujícímu systémovému certifikátu (značce / pečeti)!";
                //StatusKod = "3333";
                //return outAsembler;
            }

            ConvertOptions ConvertOptions = new ConvertOptions();

            //dokumentu převedu do PDF
            //Je li tisk prosty, tak se přidá hlavička a patička
            //není li tisk, tak se vystup spoji se šablonou
            //Render_PDF_From_XML:<druh>A-D-69</druh> - actipn_upload_to_db.asp
            //Render_PDF_From_XML:<druh>D-A-69</druh> - prevedeni_dle_69
            //Render_PDF_From_XML:<druh>D-zmena-69</druh> - prevod_formatu

            if (tisk_prosty == 1)
            {
                //přidám k tomu hlavicku a paticku

                HF_Options hlavicka = new HF_Options();
                HF_Options paticka  = new HF_Options();
                //hlavicka.

                hlavicka.HorizontalAlignment = HorizontalPosition.Center;
                hlavicka.Mode = PlacementMode.AllPages;
                hlavicka.VerticalAlignment = VerticalPosition.Top;
                hlavicka.Text     = text_1 + "\n" + text_2 + "\n" + text_3;
                hlavicka.FontSize = 8;

                paticka.HorizontalAlignment = HorizontalPosition.Center;
                paticka.Mode = PlacementMode.AllPages;
                paticka.VerticalAlignment = VerticalPosition.Bottom;
                paticka.Text     = text_1 + "\n" + text_2 + "\n" + text_3;
                paticka.FontSize = 8;

                ConvertOptions.Header = hlavicka;
                ConvertOptions.Footer = paticka;

                ConvertOptions.PdfFormat = PdfFormat.PDF;

                //ConvertOptions.


                service.Url = WS602Info.URL;

                try
                {
                    vysledek = service.ConvertFileEx(docIN_orig.binaryData, "test." + typ, ConvertOptions, "", out output, out report, out error);
                }
                catch (Exception ddd)
                {
                    StatusText = ddd.Message;
                    StatusKod  = "4444";
                    return(outAsembler);
                }
            }
            else
            {
                List <ConcatFile> pole = new List <ConcatFile>();

                ConcatOptions conOptions = new ConcatOptions();

                ConcatFile source = new ConcatFile();
                ConcatFile att    = new ConcatFile();

                source.Data = docIN_orig.binaryData;
                source.Name = "original." + typ;

                att.Data = docIN_form.binaryData;
                att.Name = "sablona.rtf";

                pole.Add(source);
                pole.Add(att);


                ConvertOptions.PdfFormat = PdfFormat.PDF;

                //ConvertOptions.


                service.Url = WS602Info.URL;

                try
                {
                    vysledek = service.Concat(pole.ToArray(), conOptions, ConvertOptions, out output, out report);
                }
                catch (Exception ddd)
                {
                    StatusText = ddd.Message;
                    StatusKod  = "4555";
                    return(outAsembler);
                }
            }

            error = "";

            OperationContext context = OperationContext.Current;

            if (context != null && context.RequestContext != null)
            {
                //Message msg = context.RequestContext.RequestMessage;

                //string reqXML = msg.ToString();
            }

            if (vysledek == 0)
            {
                List <mapItem> itmMap = new List <mapItem>();
                mapItem        itmmm  = new mapItem();

                BLOB ret = new BLOB();
                ret.contentType = "application/pdf";
                ret.binaryData  = output;

                List <mapItem> atributes = new List <mapItem>();

                mapItem attmmm = new mapItem();
                attmmm.key   = (string)"basename";
                attmmm.value = (string)"DocumentOUT.pdf";
                atributes.Add(attmmm);

                attmmm.key   = (string)"basename";
                attmmm.value = (string)"DocumentOUT.pdf";
                atributes.Add(attmmm);

                attmmm.key   = (string)"file";
                attmmm.value = (string)"DocumentOUT.pdf";
                atributes.Add(attmmm);

                attmmm.key   = (string)"wsfilename";
                attmmm.value = (string)"DocumentOUT.pdf";
                atributes.Add(attmmm);

                attmmm.key   = (string)"ADOBE_SAVE_MODE_ATTRIBUTE";
                attmmm.value = (string)"INCREMENTAL";
                atributes.Add(attmmm);


                ret.attributes = atributes.ToArray();


                itmmm.key   = (string)"DocumentOUT";
                itmmm.value = (BLOB)ret;
                //itmmm.
                itmMap.Add(itmmm);
                outAsembler.documents = itmMap.ToArray();
            }
            else
            {
                StatusText = report;
                StatusKod  = "5555";
                return(outAsembler);
            }

            return(outAsembler);
        }
예제 #27
0
        //[WebMethod]
        public string test2()
        {
            List <ConcatFile> pole = new List <ConcatFile>();

            ConcatOptions conOptions = new ConcatOptions();
            //[] seynam; = new ConcatFile[]();


            ConcatFile source = new ConcatFile();
            ConcatFile att    = new ConcatFile();

            source.Data = System.IO.File.ReadAllBytes(@"C:\Users\mz311858\Documents\VSinventura.pdf");;
            source.Name = "VSinventura.pdf";

            att.Data = System.IO.File.ReadAllBytes(@"E:\Sdělení soudu o odvolání.TXT");;
            att.Name = "Sdělení soudu o odvolání.TXT";

            pole.Add(source);
            pole.Add(att);

            string StatusText = "";

            //public BLOB invoke() {
            AssemblerResult outAsembler = new AssemblerResult();

            BLOB outBlob = new BLOB();

            ConvertOptions ConvertOptions = new ConvertOptions();

            //dokumentu převedu do PDF
            //Je li tisk prosty, tak se přidá hlavička a patička
            //není li tisk, tak se vystup spoji se šablonou
            //Render_PDF_From_XML:<druh>A-D-69</druh> - actipn_upload_to_db.asp
            //Render_PDF_From_XML:<druh>D-A-69</druh> - prevedeni_dle_69
            //Render_PDF_From_XML:<druh>D-zmena-69</druh> - prevod_formatu


            //stavOUT = "";
            error = "";

            ConvertOptions.PdfFormat = PdfFormat.PDF;

            //ConvertOptions.


            service.Url = "http://10.85.68.11:8081/ltd/ltd.asmx";

            try
            {
                vysledek = service.Concat(pole.ToArray(), conOptions, ConvertOptions, out output, out report);
            }
            catch (Exception ddd)
            {
                StatusText = ddd.Message;
                return(StatusText);
            }

            OperationContext context = OperationContext.Current;

            if (context != null && context.RequestContext != null)
            {
                //Message msg = context.RequestContext.RequestMessage;

                //string reqXML = msg.ToString();
            }

            if (vysledek == 0)
            {
                System.IO.File.WriteAllBytes(@"e:\602_out_1.pdf", output);
            }
            else
            {
                StatusText = report;

                return(StatusText);
            }

            return(StatusText);
        }
예제 #28
0
        public BLOB etr_konverze_pdfa(BLOB docIN, int forms, [System.Xml.Serialization.XmlIgnoreAttribute()] bool formsSpecified, int podepsat, [System.Xml.Serialization.XmlIgnoreAttribute()] bool podepsatSpecified, string podpis_pole, TSPOptionSpec razitko, string typ, Credential znacka, out string StatusText, out string StatusKod, out BLOB docOUT, out bool isPDF, out BLOB log)
        {
            BLOB outBlob = new BLOB();

            if (podepsatSpecified == false)
            {
                podepsat = 1;
            }


            if (logovani)
            {
                XmlDocument xmlSoapRequest = new XmlDocument();

                // Get raw request body
                using (Stream receiveStream = HttpContext.Current.Request.InputStream)
                {
                    receiveStream.Position = 0;
                    using (StreamReader readStream =
                               new StreamReader(receiveStream, System.Text.Encoding.UTF8))
                    {
                        xmlSoapRequest.Load(readStream);
                    }

                    xmlSoapRequest.Save(@"C:\Sluzby\602\etr_konverze_pdfa_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xml");
                }
            }

            //WS_Adobe_Gen.etr_konverze_pdfa.BLOB outBlob = new WS_Adobe_Gen.etr_konverze_pdfa.BLOB();

            docOUT = new BLOB();
            log    = new BLOB();
            isPDF  = true;

            try
            {
                WS602Info = Database.getWS602Info();
            }
            catch (Exception ddd)
            {
                StatusText = ddd.Message;
                StatusKod  = "1111";
                return(outBlob);
            }

            if (WS602Info.URL == "")
            {
                StatusText = "Není vyplněna URL adresa pro webovou službu Software602 LTD!";
                StatusKod  = "2222";
                return(outBlob);
            }

            if (WS602Info.Certifikat == "")
            {
                //StatusText = "Není cesta k podepisujícímu systémovému certifikátu (značce / pečeti)!";
                //StatusKod = "3333";
                //return outBlob;
            }

            StatusText = "";
            StatusKod  = "0000";
            ConvertOptions ConvertOptions = new ConvertOptions();

            ConvertOptions.PdfFormat = PdfFormat.PDF_A_2b;


            if (podepsat == 1)
            {
                ConvertOptions.AddSignature = true;
                ConvertOptions.Signature    = new PdfSignature();

                /*if (Database.getSetting("aplikace_provozovatel") == "VS")
                 * {
                 *  ConvertOptions.Signature.CertificateID = WS602Info.Certifikat;
                 * }
                 * else
                 * {
                 *  ConvertOptions.Signature.CertificateID = "PEMfile:" + WS602Info.Certifikat;
                 * }
                 */

                ConvertOptions.Signature.CertificateID = WS602Info.Certifikat;

                ConvertOptions.Signature.AddTimeStamp = true;
            }

            service.Url = WS602Info.URL;

            try
            {
                vysledek = service.ConvertFileEx(docIN.binaryData, "test." + typ, ConvertOptions, "", out output, out report, out error);
            }
            catch (Exception ddd)
            {
                StatusText = ddd.Message + " [Service URL: " + service.Url + "]";
                StatusKod  = "4444";
                return(outBlob);
            }

            if (vysledek == 0)
            {
                outBlob.binaryData  = output;
                outBlob.contentType = "application/pdf";

                docOUT = outBlob;
            }
            else
            {
                StatusText = report;
                StatusKod  = "5555";
                return(outBlob);
            }

            return(outBlob);
        }
예제 #29
0
    public void Chart()
    {
        string As = "AS".RequestStr();

        string StartDate = "StartDate".RequestStr();
        string EndDate   = "EndDate".RequestStr();

        string Json = string.Empty;

        ItemCollection Items = BLOB.Attribute("Item".RequestStr());

        if (Items.ContainsKey("型号"))
        {
            DataSet Ds = BLOB.RawAttrByModel("Item".RequestStr(), "Attr".RequestStr(), "AttrName".RequestStr(), Items["型号"].BindField, "FID".RequestStr(), StartDate, EndDate);

            DataTable DT = Ds.Tables[0];
            DataTable TempTB;
            decimal   SumV  = 0;
            decimal   Count = 0;
            int       Max   = 0;
            int       Min   = 0;
            int       ii    = 0;

            #region  时间段
            string D3 = string.Empty;

            foreach (DataRow Dr in Ds.Tables[1].Rows)
            {
                DT.DefaultView.RowFilter = Items["型号"].BindField + "='" + Dr[0].ToString() + "'";
                TempTB = DT.DefaultView.ToTable();
                Count  = TempTB.Rows.Count;
                if (Count > 0)
                {
                    SumV = TempTB.Compute("sum(" + "Attr".RequestStr() + ")", "").Todecimal();
                    //平均值
                    SumV = Math.Round((SumV / Count).Todouble(), 2).Todecimal();

                    if (SumV == 0)
                    {
                        continue;
                    }

                    #region 标准差
                    double FC = 0;
                    foreach (DataRow DrFC in TempTB.Rows)
                    {
                        FC += Math.Pow((DrFC[1].Todouble() - SumV.Todouble()), 2);
                    }

                    FC = Math.Sqrt((FC / Count.Todouble()).Todouble()).Todouble();
                    FC = Math.Round(FC, 2);
                    #endregion

                    #region 变异系数

                    double BY = (FC / SumV.Todouble()).Todouble() * 100;
                    BY = Math.Round(BY, 2);
                    #endregion
                    D3 += D3.IsNullOrEmpty() ? "" : ",";
                    D3 += "{\"tit\":\"" + Dr[0].ToString() + "\",\"SV\":\"" + SumV + "\", \"FC\":\"" + FC + "\", \"BY\":\"" + BY + "\",\"ZVal\":\"" + TempTB.Rows[0]["StandardValue"].ToString() + "\"}";
                }
            }
            SumV   = 0;
            Count  = 0;
            TempTB = null;

            D3 = "[" + D3 + "]";
            #endregion

            #region  月份计算



            List <DateTime> Months = new List <DateTime>();

            DateTime StD = StartDate.ToDateTime();

            while (StD <= EndDate.ToDateTime())
            {
                Months.Add(StD);
                StD = StD.AddMonths(1);
            }
            int i = 0;
            foreach (DateTime nDT in Months)
            {
                #region
                Json += i == 0 ? "" : ",";
                Json += "{";
                Json += "\"M\":\"" + nDT.ToString("yyyy-MM") + "月份\"";

                foreach (DataRow Dr in Ds.Tables[1].Rows)
                {
                    DT.DefaultView.RowFilter = Items["型号"].BindField + "='" + Dr[0].ToString() + "' AND bgrq>='" + nDT.ToString("yyyy-MM-dd") + "-1' AND bgrq <='" + nDT.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd") + "'";
                    TempTB = DT.DefaultView.ToTable();
                    Count  = TempTB.Rows.Count;

                    if (Count > 0)
                    {
                        SumV = TempTB.Compute("sum(" + "Attr".RequestStr() + ")", "").Todecimal();
                        //平均值
                        SumV = Math.Round((SumV / Count).Todouble(), 2).Todecimal();


                        if (SumV == 0)
                        {
                            continue;
                        }

                        #region 标准差
                        double FC = 0;
                        foreach (DataRow DrFC in TempTB.Rows)
                        {
                            FC += Math.Pow((DrFC[1].Todouble() - SumV.Todouble()), 2);
                        }

                        FC = Math.Sqrt((FC / Count.Todouble()).Todouble()).Todouble();
                        FC = Math.Round(FC, 2);
                        #endregion

                        #region 变异系数

                        double BY = (FC / SumV.Todouble()).Todouble() * 100;
                        BY = Math.Round(BY, 2);
                        #endregion

                        Json += ",\"" + Dr[0].ToString() + "\":\"" + SumV + "\"";//bullet
                        Json += ",\"" + Dr[0].ToString() + "-FC\":\"" + FC + "\"";
                        Json += ",\"" + Dr[0].ToString() + "-BY\":\"" + BY + "%\"";

                        if (ii == 0)
                        {
                            Max = (int)SumV + 1;
                            Min = (int)SumV - 1;
                            ii++;
                        }
                        Max = (int)SumV >= Max ? (int)SumV + 1 : Max;
                        Min = (int)SumV <= Min ? (int)SumV - 1 : Min;
                    }
                }

                Json += "}";

                #endregion
                i++;
            }



            #endregion

            string Ms = string.Empty;
            foreach (DataRow Dr in Ds.Tables[1].Rows)
            {
                if (!Dr[0].ToString().IsNullOrEmpty())
                {
                    Ms += Ms.IsNullOrEmpty() ? "\"" + Dr[0].ToString() + "\"" : ",\"" + Dr[0].ToString() + "\"";
                }
            }

            Json = "{\"D1\":[" + Json + "],\"D2\":[" + Ms + "],\"Max\":" + Max + ",\"Min\":" + Min + ",\"D3\":" + D3 + "}";

            Response.Write(Json);
        }
        Response.End();
    }
예제 #30
0
        //[WebMethod]
        public string test1()
        {
            byte[] xx_file_con = System.IO.File.ReadAllBytes(@"C:\Users\mz311858\Documents\VSinventura.pdf");
            string StatusText  = "";
            string text_1      = "Prostý převod dokumentu z digitální do analogové podoby";
            string text_2      = "Vyhotovil: 30.01.2019 09:26:00 Martin Zvonek";
            string text_3      = "";

            int tisk_prosty = 1;

            //public BLOB invoke() {
            AssemblerResult outAsembler = new AssemblerResult();

            BLOB outBlob = new BLOB();

            ConvertOptions ConvertOptions = new ConvertOptions();

            //dokumentu převedu do PDF
            //Je li tisk prosty, tak se přidá hlavička a patička
            //není li tisk, tak se vystup spoji se šablonou
            //Render_PDF_From_XML:<druh>A-D-69</druh> - actipn_upload_to_db.asp
            //Render_PDF_From_XML:<druh>D-A-69</druh> - prevedeni_dle_69
            //Render_PDF_From_XML:<druh>D-zmena-69</druh> - prevod_formatu

            if (tisk_prosty == 1)
            {
                //přidám k tomu hlavicku a paticku

                HF_Options hlavicka = new HF_Options();
                HF_Options paticka  = new HF_Options();
                //hlavicka.

                hlavicka.HorizontalAlignment = HorizontalPosition.Center;
                hlavicka.Mode = PlacementMode.AllPages;
                hlavicka.VerticalAlignment = VerticalPosition.Top;
                hlavicka.Text     = text_1 + "\n" + text_2 + "\n" + text_3;
                hlavicka.FontSize = 8;

                paticka.HorizontalAlignment = HorizontalPosition.Center;
                paticka.Mode = PlacementMode.AllPages;
                paticka.VerticalAlignment = VerticalPosition.Bottom;
                paticka.Text          = text_1 + "\n" + text_2 + "\n" + text_3;
                paticka.FontSize      = 9;
                ConvertOptions.Header = hlavicka;
                ConvertOptions.Footer = paticka;
            }
            else
            {
                //provedu sloučení
                //docIN_orig - hlavni
                //docIN_form - přilepuju tuto šablonu
                //ConvertOptions.EnableMerge = true;
                //ConvertOptions.Merge = new PdfMerge();
                //ConvertOptions.Merge.Mode = MergeMode.End;
            }


            //stavOUT = "";
            error = "";

            ConvertOptions.PdfFormat = PdfFormat.PDF;

            //ConvertOptions.


            service.Url = "http://10.85.68.11:8081/ltd/ltd.asmx";

            try
            {
                vysledek = service.ConvertFileEx(xx_file_con, "VSinventura.pdf", ConvertOptions, "", out output, out report, out error);
            }
            catch (Exception ddd)
            {
                StatusText = ddd.Message;
                return(StatusText);
            }

            OperationContext context = OperationContext.Current;

            if (context != null && context.RequestContext != null)
            {
                //Message msg = context.RequestContext.RequestMessage;

                //string reqXML = msg.ToString();
            }

            if (vysledek == 0)
            {
                System.IO.File.WriteAllBytes(@"e:\602_out.pdf", output);
            }
            else
            {
                StatusText = report;

                return(StatusText);
            }

            return(StatusText);
        }