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); }
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); }
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); }