Exemple #1
0
        private async Task <docType_ns_VSKSkyrslaSvar> SendToRSK(
            List <VatSumOperationReport> vatSumOperationReports)
        {
            docType_ns_VSKSkyrslaSvar response = null;

            try
            {
                var    client       = new VskClient(txtKennitala.Text, txtPassword.Text);
                long[] longsOrdered = vatSumOperationReports.OrderBy(o => o._Line)
                                      .Select(i => (long)Math.Round(i._Amount != 0 ? i._Amount : i._AmountBase != 0 ? i._AmountBase : 0))
                                      .ToArray();
                response = await client.SkilaVSKSkyrsluAsync(
                    kennitala : txtKennitala.Text,
                    vskNumer : txtVatNo.Text,
                    toDate : ToDate,
                    velta24 : longsOrdered[0],
                    velta11 : longsOrdered[1],
                    velta0 : longsOrdered[2],
                    ut24 : longsOrdered[3],
                    ut11 : longsOrdered[4],
                    inn24 : longsOrdered[5],
                    inn11 : longsOrdered[6]
                    );
            }
            catch (MessageSecurityException)
            {
                UnicontaMessageBox.Show("Rangt notendanafn eða lykilorð", "Villa"); // Wrong user/pass
            }
            catch (Exception e)
            {
                UnicontaMessageBox.Show(e, "Villa");
            }

            return(response);
        }
Exemple #2
0
        private async Task <ErrorCodes> SavePdfFileToVouchers(
            CrudAPI crudApi,
            docType_ns_VSKSkyrslaSvar reply)
        {
            var errorCode = ErrorCodes.NoSucces;

            byte[] docBytes = reply.PDFKvittun;
            var    vc       = new VouchersClient
            {
                _Data         = docBytes,
                Fileextension = FileextensionsTypes.PDF,
                Text          = "VSK skil",
                _Amount       = reply.NidurstadaSkila.Fjarhaedir.TilGreidslu ?? 0,
                _Content      = ContentTypes.Documents,
            };
            var success = false;

            while (!success)
            {
                errorCode = await crudApi.Insert(vc);

                success = errorCode == ErrorCodes.Succes;
                if (!success)
                {
                    UnicontaMessageBox.Show(
                        Localization.GetLocalization(Uniconta.Common.Language.Is).Lookup(errorCode.ToString()) + "\nReyna aftur?", // Try again?
                        "Villa við vistun",                                                                                        // Error while saving
                        messageBoxImage: MessageBoxImage.Error,
                        messageBoxButton: MessageBoxButton.YesNo
                        );
                }
            }
            return(errorCode);
        }
Exemple #3
0
        public async Task <docType_ns_VSKSkyrslaSvar> SkilaVSKSkyrsluAsync(string kennitala, string vskNumer, DateTime toDate, long velta24 = 0, long velta11 = 0, long velta0 = 0, long ut24 = 0, long ut11 = 0, long inn24 = 0, long inn11 = 0)
        {
            var request = new docType_ns_VSKSkyrsla();
            docType_ns_VSKSkyrslaSvar svar = null;

            request.Kennitala   = kennitala;
            request.VSKNumer    = vskNumer;
            request.Ar          = toDate.Year.ToString();
            request.Timabil     = $"{toDate.Month * 4:D2}";
            request.KerfiUtgafa = VersionID;
            request.ReiknaAlag  = true;
            List <Tuple <TegundFaerslu, long> > tuplesList = new List <Tuple <TegundFaerslu, long> >();

            tuplesList.Add(new Tuple <TegundFaerslu, long>(TegundFaerslu.VeltaAnVSK24, velta24));
            tuplesList.Add(new Tuple <TegundFaerslu, long>(TegundFaerslu.VeltaAnVSK11, velta11));
            tuplesList.Add(new Tuple <TegundFaerslu, long>(TegundFaerslu.UndantheginVelta0, velta0));
            tuplesList.Add(new Tuple <TegundFaerslu, long>(TegundFaerslu.Utskattur24, ut24));
            tuplesList.Add(new Tuple <TegundFaerslu, long>(TegundFaerslu.Utskattur11, ut11));
            tuplesList.Add(new Tuple <TegundFaerslu, long>(TegundFaerslu.Innskattur24, inn24));
            tuplesList.Add(new Tuple <TegundFaerslu, long>(TegundFaerslu.Innskattur11, inn11));
            List <docType_ns_Faersla> faerslaList = tuplesList.Where(o => o.Item2 != 0).Select(tuple => PackDocNsFaersla(tuple.Item1, tuple.Item2)).ToList();

            request.Faerslur = faerslaList.SkipWhile(o => o == null).ToArray();
            SkilaVSKSkyrsluResponse response = await Client.SkilaVSKSkyrsluAsync(request);

            svar = response?.SkilaVSKSkyrsluSvar?.Svar;
            if (svar != null && response.SkilaVSKSkyrsluSvar?.Svar?.NidurstadaSkila != null)
            {
                UnicontaMessageBox.Show("Aðgerð tókst", "Skila til RSK");
            }
            else if (response.SkilaVSKSkyrsluSvar != null)
            {
                MessageBoxResult mbResult = MessageBoxResult.No;
                if (response?.SkilaVSKSkyrsluSvar?.status.code == 999)
                {
                    mbResult = UnicontaMessageBox.Show(
                        response.SkilaVSKSkyrsluSvar.status.message + "\n\nLeiðrétta fyrri skýrslu?",
                        "Villa " + response.SkilaVSKSkyrsluSvar.status.code,
                        MessageBoxButton.YesNo
                        );
                }
                else
                {
                    UnicontaMessageBox.Show(
                        response.SkilaVSKSkyrsluSvar.status.message,
                        "Villa " + response.SkilaVSKSkyrsluSvar.status.code
                        );
                }

                if (mbResult != MessageBoxResult.Yes)
                {
                    return(svar);
                }
                var correctionResponse = await Client.LeidrettaVSKSkyrsluAsync(request);

                svar = correctionResponse?.LeidrettaVSKSkyrsluSvar?.Svar;
                if (svar != null && correctionResponse.LeidrettaVSKSkyrsluSvar.Svar?.NidurstadaSkila != null)
                {
                    UnicontaMessageBox.Show("Aðgerð tókst", "Skila til RSK");
                }
                else
                {
                    UnicontaMessageBox.Show(
                        correctionResponse.LeidrettaVSKSkyrsluSvar.status.message,
                        "Villa " + correctionResponse.LeidrettaVSKSkyrsluSvar.status.code
                        );
                }
            }
            return(svar);
        }