/// <summary> /// Sisteme e-fatura gönderir /// </summary> /// <returns>Sisteme gönderilen faturanın bilgileri </returns> public SendUBLResponseType[] FaturaGonder(TextModel m, ArrayList sslList, BaseInvoiceUBL fatura) { var createdUBL = fatura.BaseUBL; // Fatura UBL i oluşturulur UBLBaseSerializer serializer = new InvoiceSerializer(); // UBL XML e dönüştürülür var strFatura = serializer.GetXmlAsString(createdUBL); // XML byte tipinden string tipine dönüştürülür byte[] zipliFile = ZipUtility.CompressFile(Encoding.UTF8.GetBytes(strFatura), createdUBL.UUID.Value); // XML ziplenir ServicePointManager.SecurityProtocol = TlsSetting.TlsSet(sslList); // TLS/SSL ayarları WebServisAdresDegistir(); using (new OperationContextScope(WsClient.InnerChannel)) { if (WebOperationContext.Current != null) { WebOperationContext.Current.OutgoingRequest.Headers.Add(HttpRequestHeader.Authorization, Authorization.GetAuthorization(m.Kullanici, m.Sifre)); } var req = new sendUBLRequest { VKN_TCKN = m.VknTckn, //tckn veya vkn SenderIdentifier = m.GbEtiketi, //gönderici birim etiketi ReceiverIdentifier = m.PkEtiketi, //alıcı posta kutusu DocType = "INVOICE", //gönderilen döküman tipi. zarf, fatura vs. DocData = zipliFile //içinde xml dosyası olan zip lenen dosya. }; return(WsClient.sendUBL(req)); } }
/// <summary> /// Sisteme uygulama yanıtı gönderir /// </summary> /// <returns>Sisteme gönderilen uygulama yanıtının bilgileri</returns> public SendUBLResponseType[] UygulamaYanitiGonder(TextModel m, string gelenFaturaID, ArrayList sslList) { ApplicationResponseUBL applicationResponse = new ApplicationResponseUBL(); var createdUBL = applicationResponse.CreateApplicationResponse(m.VknTckn, gelenFaturaID, m.IssueDate); // Uygulama yanıtı UBL i oluşturulur UBLBaseSerializer serializer = new InvoiceSerializer(); // UBL XML e dönüştürülür var strUygulamaYaniti = serializer.GetXmlAsString(createdUBL); // XML byte tipinden string tipine dönüştürülür byte[] zipliFile = ZipUtility.CompressFile(Encoding.UTF8.GetBytes(strUygulamaYaniti), createdUBL.UUID.Value); // XML ziplenir ServicePointManager.SecurityProtocol = TlsSetting.TlsSet(sslList); // TLS/SSL ayarları WebServisAdresDegistir(); using (new OperationContextScope(WsClient.InnerChannel)) { if (WebOperationContext.Current != null) { WebOperationContext.Current.OutgoingRequest.Headers.Add(HttpRequestHeader.Authorization, Authorization.GetAuthorization(m.Kullanici, m.Sifre)); } var req = new sendUBLRequest { SenderIdentifier = m.PkEtiketi, //uygulama yanıtı gönderici birim etiketi ReceiverIdentifier = m.GbEtiketi, //uygulama yanıtı alıcı posta kutusu VKN_TCKN = m.VknTckn, // tckn veya vkn DocType = "APP_RESP", //gönderilen döküman tipi DocData = zipliFile //gönderilen uygulama yanıtının ziplenmiş byte datası }; return(WsClient.sendUBL(req)); } }
public static string writeDiscInvoiceConvertUblToXml(InvoiceType createdUBL, string invoiceType) { //olusturulan xmli diske kaydediyor string xmlPath = ""; if (invoiceType == nameof(EI.Invoice.Invoices)) { xmlPath = invoiceFolderDraftPath + createdUBL.ID.Value + "." + nameof(EI.DocumentType.XML); } else if (invoiceType == nameof(EI.Invoice.ArchiveInvoices)) { xmlPath = archiveFolderPath + createdUBL.ID.Value + "." + nameof(EI.DocumentType.XML); } createInboxIfDoesNotExist(Path.GetDirectoryName(xmlPath)); //dosya yolu yoksa olustur using (FileStream stream = new FileStream(xmlPath, FileMode.Create)) { XmlSerializer xmlSerializer = new XmlSerializer(createdUBL.GetType()); xmlSerializer.Serialize(stream, createdUBL, InvoiceSerializer.GetXmlSerializerNamespace()); } return(xmlPath); //// ////xmli strıng durunde return edıyoruz contentını dondurmek ıcın asagıdakı kodu acarız //using (StringWriter textWriter = new StringWriter()) //{ // XmlSerializer xmlSerializer = new XmlSerializer(createdUBL.GetType()); // xmlSerializer.Serialize(textWriter, createdUBL, InvoiceSerializer.GetXmlSerializerNamespace()); // return textWriter.ToString(); //} }
public JsonResult Edit(InvoiceViewModel invoice) { var addInvoice = new Invoice() { id = invoice.Id, company_id = invoice.CompanyId, number = invoice.Number, date = Convert.ToDateTime(invoice.Date), fields = InvoiceSerializer.SerializeFields(invoice.Fields), totalSum = invoice.TotalSum, totalTaxSum = invoice.TotalTaxSum }; _db.Entry(addInvoice).State = EntityState.Modified; _db.SaveChanges(); return(Json(new InvoiceViewModel() { Id = addInvoice.id, Number = addInvoice.number, Date = addInvoice.date.ToString(), Fields = InvoiceSerializer.DeserializeFields(addInvoice.fields), CompanyId = addInvoice.company_id, TotalSum = addInvoice.totalSum, TotalTaxSum = addInvoice.totalTaxSum })); }
public JsonResult Create(InvoiceViewModel invoice) { var addInvoice = new Invoice() { company_id = invoice.CompanyId, number = invoice.Number ?? Guid.NewGuid().ToString(), date = Convert.ToDateTime(invoice.Date), fields = InvoiceSerializer.SerializeFields(invoice.Fields), totalSum = invoice.TotalSum, totalTaxSum = invoice.TotalTaxSum }; _db.Invoices.Add(addInvoice); _db.SaveChanges(); return(Json(new InvoiceViewModel() { Id = addInvoice.id, Number = addInvoice.number, Date = addInvoice.date.ToString(), Fields = InvoiceSerializer.DeserializeFields(addInvoice.fields), CompanyId = addInvoice.company_id, TotalSum = addInvoice.totalSum, TotalTaxSum = addInvoice.totalTaxSum, })); }
public JsonResult Detail(long?id) { if (id == null) { throw new Exception("Can not find id"); } var invoice = _db.Invoices.Find(id); if (invoice == null) { throw new Exception("Can not find the Invoice"); } return(Json(new InvoiceViewModel() { Id = invoice.id, Number = invoice.number, Fields = InvoiceSerializer.DeserializeFields(invoice.fields), CompanyId = invoice.company_id, CompanyName = invoice.Company.name, TotalSum = invoice.totalSum, TotalTaxSum = invoice.totalTaxSum, Date = invoice.date.ToString() }, JsonRequestBehavior.AllowGet)); }
public JsonResult Index() { var list = _db.Invoices.AsEnumerable().Select(invoice => new InvoiceViewModel() { Id = invoice.id, Number = invoice.number, Date = invoice.date.ToString(), Fields = InvoiceSerializer.DeserializeFields(invoice.fields), CompanyId = invoice.company_id, CompanyName = invoice.Company.name, TotalSum = invoice.totalSum, TotalTaxSum = invoice.totalTaxSum }).ToList(); return(Json(list, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Sisteme e-Arşiv fatura gönderir /// </summary> /// <returns>Sisteme gönderilen e-Arşiv faturanın bilgileri ve binary PDF datası</returns> public sendInvoiceResponseType EArsivGonder(TextModel m, BaseInvoiceUBL arsiv, ArrayList sslList) { var createdUBL = arsiv.BaseUBL; // e-Arşiv fatura UBL i oluşturulur UBLBaseSerializer serializer = new InvoiceSerializer(); // UBL XML e dönüştürülür var strFatura = serializer.GetXmlAsString(createdUBL); // XML byte tipinden string tipine dönüştürülür byte[] zipliFile = ZipUtility.CompressFile(Encoding.UTF8.GetBytes(strFatura), createdUBL.UUID.Value); // XML ziplenir string hash = GetHashInfo(zipliFile); // zipli dosyanın hash bilgisi alınır ServicePointManager.SecurityProtocol = TlsSetting.TlsSet(sslList); // TLS/SSL ayarları WebServisAdresDegistir(); using (new OperationContextScope(WsClient.InnerChannel)) { if (WebOperationContext.Current != null) { WebOperationContext.Current.OutgoingRequest.Headers.Add(HttpRequestHeader.Authorization, Authorization.GetAuthorization(m.Kullanici, m.Sifre)); } var req = new sendInvoiceRequest { sendInvoiceRequestType = new SendInvoiceRequestType { senderID = m.VknTckn, //gönderici VKN-TCKN receiverID = "2222222222", //alıcı VKN-TCKN fileName = createdUBL.UUID.Value, //dosya ismi binaryData = zipliFile, //gönderilecek fatura docType = "XML", //dosya tipi hash = hash, //dosyanın hash bilgisi customizationParams = new[] { new CustomizationParam { paramName = "BRANCH", //parametre ismi paramValue = m.Sube //şube adı opsiyoneldir. Gönderilmez ise varsayılan olarak "default" şube setlenir. } } } }; return(WsClient.sendInvoice(req.sendInvoiceRequestType)); } }
public static string writeDiscDespatchConvertUblToXml(DespatchAdviceType createdUBL) { //olusturulan xmli diske kaydediyor string xmlPath = FolderControl.createDespatchDocPath(createdUBL.ID.Value, nameof(EI.Direction.DRAFT), nameof(EI.DocumentType.XML)); createInboxIfDoesNotExist(Path.GetDirectoryName(xmlPath)); //dosya yolu yoksa olustur using (FileStream stream = new FileStream(xmlPath, FileMode.Create)) { XmlSerializer xmlSerializer = new XmlSerializer(createdUBL.GetType()); xmlSerializer.Serialize(stream, createdUBL, InvoiceSerializer.GetXmlSerializerNamespace()); } return(xmlPath); //// ////xmli strıng durunde return edıyoruz contentını dondurmek ıcın asagıdakı kodu acarız //using (StringWriter textWriter = new StringWriter()) //{ // XmlSerializer xmlSerializer = new XmlSerializer(createdUBL.GetType()); // xmlSerializer.Serialize(textWriter, createdUBL, InvoiceSerializer.GetXmlSerializerNamespace()); // return textWriter.ToString(); //} }