Пример #1
0
        private static EAAuth GetAuthClient(string findCertificateByValue, bool isDevelopment)
        {
            EAAuth tokenClient = null;

            try
            {
                var cert = GetCertificate(findCertificateByValue);
                tokenClient = new EAAuth(isDevelopment ? "https://tstearchps.posta.si/WEBAUTH/Token" : "https://earchps.posta.si/WEBAUTH/Token", cert);
            }
            catch (Exception ex)
            {
                log.Error(ex, $"AUTH ERROR: {ex.Message}");
            }
            return(tokenClient);
        }
Пример #2
0
        private static Guid SendDocument(EAAuth tokenClient, bool isDevelopment, FileInfo fi, string Naziv, string Koda, string NazivDobavitelja, string SifraDobavitelja,
                                         string DavcnaStevilkaDobavitelja, string StevilkaRacuna, DateTime DatumIzdajeRacuna, int Leto, string Node)
        {
            var client = GetClient(tokenClient, isDevelopment);
            var token  = tokenClient.GetBearerToken();
            var nodes  = client.GetAllNodes(token);
            var node   = nodes.Where(n => n.Code == Node).FirstOrDefault();

            if (node == null)
            {
                throw new Exception("didn't find node using Node parameter");
            }

            var metas = client.GetCustomMetadataTypes(tokenClient.GetBearerToken());

            var aMetadata = new Metadata();

            aMetadata.NodeGuid             = node.NodeGuid;
            aMetadata.FileName             = fi.Name.Substring(0, fi.Name.Length - fi.Extension.Length);
            aMetadata.FileExtension        = fi.Extension;
            aMetadata.DigitalSignatureType = PS.EA.SDK.Enums.DigitalSignatureType.None;

            aMetadata.CreatedDate     = DatumIzdajeRacuna;
            aMetadata.Title           = Koda;
            aMetadata.Code            = Koda;
            aMetadata.Receiver        = NazivDobavitelja;
            aMetadata.CustomMetadatas = new List <CustomMetadata>();

            foreach (var md in metas)
            {
                CustomMetadata aMd = null;
                if (md.Label == "Šifra partnerja")
                {
                    aMd = new CustomMetadata {
                        CustomMetadataType = new CustomMetadataType {
                            CustomMetadataTypeGuid = md.CustomMetadataTypeGuid
                        }, Value = SifraDobavitelja
                    };
                }
                if (md.Label == "Davčna številka partnerja")
                {
                    aMd = new CustomMetadata {
                        CustomMetadataType = new CustomMetadataType {
                            CustomMetadataTypeGuid = md.CustomMetadataTypeGuid
                        }, Value = DavcnaStevilkaDobavitelja
                    };
                }
                if (md.Label == "Številka računa")
                {
                    aMd = new CustomMetadata {
                        CustomMetadataType = new CustomMetadataType {
                            CustomMetadataTypeGuid = md.CustomMetadataTypeGuid
                        }, Value = StevilkaRacuna
                    };
                }
                if (md.Label == "Datum izdaje računa")
                {
                    aMd = new CustomMetadata {
                        CustomMetadataType = new CustomMetadataType {
                            CustomMetadataTypeGuid = md.CustomMetadataTypeGuid
                        }, Value = DatumIzdajeRacuna.ToString("yyyy-MM-ddThh:mm:ss")
                    };
                }
                if (md.Label == "Leto")
                {
                    aMd = new CustomMetadata {
                        CustomMetadataType = new CustomMetadataType {
                            CustomMetadataTypeGuid = md.CustomMetadataTypeGuid
                        }, Value = Leto.ToString()
                    };
                }
                if (aMd != null)
                {
                    aMetadata.CustomMetadatas.Add(aMd);
                }
            }

            byte[] bytes = File.ReadAllBytes(fi.FullName);
            return(client.AddDocument(token, bytes, aMetadata));
        }
Пример #3
0
 private static EAClient GetClient(EAAuth tokenClient, bool isDevelopment)
 {
     return(new EAClient(isDevelopment ? "https://tstearchps.posta.si/WEBAPI/api" : "https://earchps.posta.si/WEBAPI/api"));
 }