Exemple #1
0
        public async Task <SdiResponse> SendAsync(ElectronicInvoice invoice)
        {
            var invoiceXmlDoc       = XmlManipulator.Serialize(invoice);
            var signedInvoiceXmlDoc = XmlSigner.Sign(invoiceXmlDoc, SignatureCertificate);

            var signedInvoiceXml   = signedInvoiceXmlDoc.OuterXml;
            var signedInvoiceBytes = Encoding.UTF8.GetBytes(signedInvoiceXml);

            var messageBody = new ReceiveFile
            {
                Content  = signedInvoiceBytes,
                FileName = GetSignedInvoiceFileName(invoice)
            };

            var response = await SoapClient.SendAsync <ReceiveFile, ReceiveFileResponse>(messageBody, operation : "http://www.fatturapa.it/SdIRiceviFile/RiceviFile");

            if (response.ErrorSpecified)
            {
                return(new SdiResponse(GetSdiError(response.Error)));
            }

            return(new SdiResponse(new SdiFileInfo(
                                       receivedUtc: response.ReceivedOn,
                                       sdiIdentifier: response.SdiIdentification
                                       )));
        }
Exemple #2
0
        /// <summary>
        /// 启动文件接收系统
        /// </summary>
        /// <param name="receiveMust">IFileReceiveMust</param>
        /// <returns>IFileReceive</returns>
        public static IFileReceive StartFileReceive(IFileReceiveMust receiveMust)
        {
            if (fileReceive != null)
            {
                throw new Exception("已经启动了文件接收系统;");
            }
            fileReceive = new ReceiveFile(receiveMust);
            IFileReceive IfileReceive = fileReceive;

            return(IfileReceive);
        }
Exemple #3
0
        private void main_Test()
        {
            //this.runServer();
            //do
            //{
            //    Thread.Sleep(500);
            //} while (!serverStarted);

            string pathSource = @"D:\XamlTest\MindSamples.rar";
            string pathNew    = @"D:\XamlTest\MindSamplesBack.rar";

            //65321 是服务端的端口
            String[] args1 = new String[] { "127.0.0.1", "65321", pathSource, pathNew };
            ReceiveFile.Main_Receive(args1);
        }
Exemple #4
0
        /// <summary>
        /// 删除记录
        /// </summary>
        /// <returns></returns>
        public ActionResult DeleteData()
        {
            string res = "";

            if (Request["DeleteItem"] == null)
            {
                res = "参数错误!";
            }
            else
            {
                string      item     = Request["DeleteItem"].ToString();
                ReceiveFile itemLine = JsonConvert.DeserializeObject <ReceiveFile>(item);
                res = ReceiveFileService.DeleteEntity(itemLine) ? "删除成功" : "删除失败";
            }
            return(Content(res));
        }
Exemple #5
0
        /// <summary>
        /// 添加和修改
        /// </summary>
        /// <returns></returns>
        public ActionResult SaveData()
        {
            bool        result    = false;
            string      dataitem  = Request["ReceiveFile"];
            string      savetype  = Request["savetype"].ToString().Trim();
            ReceiveFile model_lgt = JsonConvert.DeserializeObject <ReceiveFile>(dataitem);

            if (savetype == "add")
            {
                ReceiveFileService.AddEntity(model_lgt);
                result = true;
            }
            else if (savetype == "edit")
            {
                result = ReceiveFileService.EditEntity(model_lgt);
            }
            return(Content(result.ToString()));
        }
Exemple #6
0
 void OnReceiveFile(string filePath, bool active = true)
 {
     lastFilePath  = filePath;
     isLastDesktop = filePath.Contains(desktopPath);
     ReceiveFile?.Invoke(filePath, active);
 }
        private void this_EventInternal(String vFunction)
        {
            switch (vFunction.ToUpper())
            {
            case "CLICK":
                Click.InvokeEvent(this, new EventArgs());
                break;

            case "SENDFILE":
            {
                Tick Tick = Tick.GetTick();
                try
                {
                    //string vFileName = Client.Page.Request["qqfile"];

                    String filename;

                    if (Tick.Page.Request.Files.AllKeys.Length > 0)
                    {
                        filename = HttpUtility.UrlDecode(Tick.Page.Request.Files[0].FileName);
                    }
                    else
                    {
                        filename = HttpUtility.UrlDecode(Tick.Page.Request.Headers["X-File-Name"]);
                    }



                    bool Permitido = true;
                    if (ReceiveFile.InvokeEvent != null)
                    {
                        Permitido = ReceiveFile.InvokeEvent(filename);
                    }


                    if (Permitido)
                    {
                        try
                        {
                            if (!Directory.Exists(PathSaveFiles))
                            {
                                Directory.CreateDirectory(PathSaveFiles);
                            }
                            if (File.Exists(Path.Combine(PathSaveFiles, Path.GetFileName(filename))))
                            {
                                File.Delete(Path.Combine(PathSaveFiles, Path.GetFileName(filename)));
                            }

                            if (Tick.Page.Request.Files.AllKeys.Length > 0)     // IE
                            {
                                HttpPostedFile file = Tick.Page.Request.Files[0];
                                file.SaveAs(Path.Combine(PathSaveFiles, Path.GetFileName(filename)));
                            }
                            else     // Outros
                            {
                                using (Stream inputStream = HttpContext.Current.Request.InputStream)
                                {
                                    using (FileStream fileStream = new FileStream(Path.Combine(PathSaveFiles, Path.GetFileName(filename)), FileMode.OpenOrCreate))
                                    {
                                        inputStream.CopyTo(fileStream);
                                        fileStream.Close();
                                    }
                                }
                            }

                            Tick.Script.CallObject(this);
                            Tick.Script.Send("vObj.ResponseUploadJson({success:true, name:\"" + AraTools.StringToStringJS(filename) + "\"});");

                            try
                            {
                                if (ReceiveFileComplite != null)
                                {
                                    ReceiveFileComplite.InvokeEvent(Path.GetFileName(filename));
                                }
                            }
                            catch { }
                            // Codigo para receber arquivo
                        }
                        catch (Exception err)
                        {
                            this.TickScriptCall();
                            Tick.Script.Send("vObj.ResponseUploadJson({'error': 'Falha ao receber arquivo. " + AraTools.StringToStringJS(err.Message) + "'});");
                        }
                    }
                    else
                    {
                        this.TickScriptCall();
                        Tick.Script.Send("vObj.ResponseUploadJson({'error': 'Arquivo não permitido'});");
                    }
                }
                catch (Exception err)
                {
                    this.TickScriptCall();
                    Tick.Script.Send("vObj.ResponseUploadJson({'error': 'Falha generica ao receber arquivo. " + AraTools.StringToStringJS(err.Message) + "'});");
                }
            }
            break;
            }
        }