public Boolean SetVisita(MexalVisita _visita, out string message) { if (this.client.ERRORE == "Errore: il server SHAKER potrebbe non essere in esecuzione. Eseguire la riconnessione") { this.client.AVVIACONNESSIONE(); } Pot.DataLayer.GestioneLookUp lkp = new Pot.DataLayer.GestioneLookUp(); if (String.IsNullOrWhiteSpace(lkp.GetCodicePratica(_visita.CodicePratica))) { message = "Pratica non Esistente!"; return(false); } message = String.Empty; try { string numFT = String.Empty; string serieFT = String.Empty; string dataFT = String.Empty; string numNC = String.Empty; string serieNC = String.Empty; string dataNC = String.Empty; switch (_visita.Esito) { case "OK": this.client.AZZVARSYS(2); this.client.PNDRE_S = DateTime.Now.ToString("yyyyMMdd"); this.client.PNCAU_S = System.Configuration.ConfigurationManager.AppSettings["CausalePNAperturaMedico"]; this.client.PNNDO = lkp.GetProgressivo("GrAntDebMedici"); this.client.PNDDO_S = DateTime.Now.ToString("yyyyMMdd"); this.client.PNTDE_S = System.Configuration.ConfigurationManager.AppSettings["PrefissoDescrizionePagamentoClienteMedico"] + _visita.CodicePratica; this.client.PNCTO_S[1] = System.Configuration.ConfigurationManager.AppSettings["ContoDepositoMedici"]; this.client.PNDES_S[1] = System.Configuration.ConfigurationManager.AppSettings["PrefissoDescrizionePagamentoClienteMedico"] + _visita.CodicePratica; this.client.PNIMP[1] = double.Parse(20.ToString()); this.client.PNCCR[1] = Double.Parse(System.Configuration.ConfigurationManager.AppSettings["CentrodiCosto"]); this.client.PNCTO_S[2] = System.Configuration.ConfigurationManager.AppSettings["ContoPagamentoMedici"]; this.client.PNDES_S[2] = System.Configuration.ConfigurationManager.AppSettings["PrefissoDescrizionePagamentoClienteMedico"] + _visita.CodicePratica; this.client.PNIMP[2] = double.Parse((0 - 20).ToString()); this.client.PNCCR[2] = Double.Parse(System.Configuration.ConfigurationManager.AppSettings["CentrodiCosto"]); this.client.PUTPN(); this.ResetVariabili(2); this.client.PNDRE_S = DateTime.Now.ToString("yyyyMMdd"); this.client.PNCAU_S = System.Configuration.ConfigurationManager.AppSettings["CausalePNAperturaMedico"]; this.client.PNNDO = lkp.GetProgressivo("GrDebitoMedico"); this.client.PNDDO_S = DateTime.Now.ToString("yyyyMMdd"); //this.client.PNSTP_S[1] = "B"; this.client.PNPAG = 12; this.client.PNTDE_S = System.Configuration.ConfigurationManager.AppSettings["PrefissoDescrizioneGrAnticipoDebitoMedici"] + _visita.CodicePratica; this.client.PNCTO_S[1] = System.Configuration.ConfigurationManager.AppSettings["ContoPagamentoMedici"]; this.client.PNDES_S[1] = System.Configuration.ConfigurationManager.AppSettings["PrefissoDescrizioneGrAnticipoDebitoMedici"] + _visita.CodicePratica; this.client.PNIMP[1] = double.Parse(20.ToString()); this.client.PNCCR[1] = Double.Parse(System.Configuration.ConfigurationManager.AppSettings["CentrodiCosto"]); this.client.PNCTO_S[2] = lkp.GetAnagrafica(_visita.CodiceMedico); this.client.PNDES_S[2] = System.Configuration.ConfigurationManager.AppSettings["PrefissoDescrizioneGrAnticipoDebitoMedici"] + _visita.CodicePratica; this.client.PNIMP[2] = double.Parse((0 - 20).ToString()); this.client.PNCCR[2] = Double.Parse(System.Configuration.ConfigurationManager.AppSettings["CentrodiCosto"]); this.client.PUTPN(); lkp.SetEsito(_visita.CodicePratica, _visita.Esito, _visita.CodiceMedico, this.client.PNNDO.ToString(), DateTime.Now.ToString("yyyyMMdd"), null, null, null, null); break; case "KO": //visita non passata, pago medico string numPag = String.Empty; this.client.AZZVARSYS(2); this.client.PNDRE_S = DateTime.Now.ToString("yyyyMMdd"); this.client.PNCAU_S = System.Configuration.ConfigurationManager.AppSettings["CausalePNAperturaMedico"]; this.client.PNNDO = lkp.GetProgressivo("GrAntDebMedici"); this.client.PNDDO_S = DateTime.Now.ToString("yyyyMMdd"); this.client.PNTDE_S = System.Configuration.ConfigurationManager.AppSettings["PrefissoDescrizionePagamentoClienteMedico"] + _visita.CodicePratica; this.client.PNCTO_S[1] = System.Configuration.ConfigurationManager.AppSettings["ContoDepositoMedici"]; this.client.PNDES_S[1] = System.Configuration.ConfigurationManager.AppSettings["PrefissoDescrizionePagamentoClienteMedico"] + _visita.CodicePratica; this.client.PNIMP[1] = double.Parse(20.ToString()); this.client.PNCCR[1] = Double.Parse(System.Configuration.ConfigurationManager.AppSettings["CentrodiCosto"]); this.client.PNCTO_S[2] = System.Configuration.ConfigurationManager.AppSettings["ContoPagamentoMedici"]; this.client.PNDES_S[2] = System.Configuration.ConfigurationManager.AppSettings["PrefissoDescrizionePagamentoClienteMedico"] + _visita.CodicePratica; this.client.PNIMP[2] = double.Parse((0 - 20).ToString()); this.client.PNCCR[2] = Double.Parse(System.Configuration.ConfigurationManager.AppSettings["CentrodiCosto"]); this.client.PUTPN(); this.ResetVariabili(2); this.client.PNDRE_S = DateTime.Now.ToString("yyyyMMdd"); this.client.PNCAU_S = System.Configuration.ConfigurationManager.AppSettings["CausalePNAperturaMedico"]; this.client.PNNDO = lkp.GetProgressivo("GrDebitoMedico"); this.client.PNDDO_S = DateTime.Now.ToString("yyyyMMdd"); //this.client.PNSTP_S[1] = "B"; this.client.PNPAG = 12; this.client.PNTDE_S = System.Configuration.ConfigurationManager.AppSettings["PrefissoDescrizioneGrAnticipoDebitoMedici"] + _visita.CodicePratica; this.client.PNCTO_S[1] = System.Configuration.ConfigurationManager.AppSettings["ContoPagamentoMedici"]; this.client.PNDES_S[1] = System.Configuration.ConfigurationManager.AppSettings["PrefissoDescrizioneGrAnticipoDebitoMedici"] + _visita.CodicePratica; this.client.PNIMP[1] = double.Parse(20.ToString()); this.client.PNCCR[1] = Double.Parse(System.Configuration.ConfigurationManager.AppSettings["CentrodiCosto"]); this.client.PNCTO_S[2] = lkp.GetAnagrafica(_visita.CodiceMedico); this.client.PNDES_S[2] = System.Configuration.ConfigurationManager.AppSettings["PrefissoDescrizioneGrAnticipoDebitoMedici"] + _visita.CodicePratica; this.client.PNIMP[2] = double.Parse((0 - 20).ToString()); this.client.PNCCR[2] = Double.Parse(System.Configuration.ConfigurationManager.AppSettings["CentrodiCosto"]); this.client.PUTPN(); numPag = this.client.PNNDO.ToString(); //emetto nota credito var pratica = lkp.GetPratica(_visita.CodicePratica); string ordine = System.Configuration.ConfigurationManager.AppSettings["TipoDocAperturaPratica"] + pratica.NumeroFattura.Substring(pratica.NumeroFattura.IndexOf('/') + 1) + "/" + pratica.NumeroFattura.Substring(0, pratica.NumeroFattura.IndexOf('/')); this.client.GETMM_EXT(ordine); this.client.MMSIG_S = "NC"; this.client.MMSER = Double.Parse(System.Configuration.ConfigurationManager.AppSettings["Sezionale"]); this.client.MMNUM = 0; this.client.MMDAT_S = DateTime.Now.ToString("yyyyMMdd"); Double Pagamento = 0; switch (pratica.TipoPagamento) { case 1: Pagamento = 1; break; case 4: Pagamento = 12; break; default: break; } this.client.MMPAG = Pagamento; for (int r = 1; r <= this.client.NMM; r++) { if (!new List <string>() { "A-SP0002", "A-SP0003", "A-SP0004" }.Any(s => s == this.client.MMART_S[r])) { this.client.MMTPR_S[r] = string.Empty; this.client.MMART_S[r] = string.Empty; this.client.MMDES_S[r] = string.Empty; this.client.MMQTA[r] = 0; this.client.MMALI_S[r] = string.Empty; this.client.MMPRZ[r] = 0; } } this.client.PUTMM(1); numNC = this.client.MMNUM.ToString(); serieNC = this.client.MMSER.ToString(); dataNC = this.client.MMDAT_S; if (!String.IsNullOrWhiteSpace(this.client.ERRMM_S)) { message = this.client.ERRMM_S; return(false); } lkp.SetEsito(_visita.CodicePratica, _visita.Esito, _visita.CodiceMedico, numPag, DateTime.Now.ToString("yyyyMMdd"), numNC, dataNC, null, null); break; case "MANCATA": lkp.SetEsito(_visita.CodicePratica, _visita.Esito, _visita.CodiceMedico, "0", DateTime.Now.ToString("yyyyMMdd"), numNC, dataNC, "0", "0"); message = "ANCORA NON GESTITO"; return(false); break; default: break; } return(true); } catch (Exception e) { message = e.Message; return(false); } }
public Boolean SetAnagrafica(MexalAnagrafica _anagrafica, out string message, Boolean _isMedico) { if (this.client.ERRORE == "Errore: il server SHAKER potrebbe non essere in esecuzione. Eseguire la riconnessione") { this.client.AVVIACONNESSIONE(); } Pot.DataLayer.GestioneLookUp lkp = new Pot.DataLayer.GestioneLookUp(); this.ResetVariabili(1); var result = lkp.GetAnagrafica(_anagrafica.CodiceRiferimento); if (!String.IsNullOrWhiteSpace(result)) { this.client.GETPC(result); } else if (String.IsNullOrWhiteSpace(_anagrafica.CodiceCliente)) { this.client.PCCOD_S = _anagrafica.Mastro + ".AUTO"; } else { this.client.PCCOD_S = _anagrafica.Mastro + "." + _anagrafica.CodiceCliente; } this.client.PCCAL_S = _anagrafica.CodiceRiferimento; this.client.PCDES_S = _anagrafica.Descrizione; this.client.PCNOM_S = _anagrafica.Nome; this.client.PCCOG_S = _anagrafica.Cognome; if (_anagrafica.DataNascita != null) { this.client.PCDTNASC_S = Convert.ToDateTime(_anagrafica.DataNascita).ToString("ggMMyyyy"); } //if (_anagrafica.Nazionalita != null) this.client.PCNAZ_S = "I"; //_anagrafica.Nazionalita; this.client.PCCFI_S = _anagrafica.CodiceFiscale; this.client.PCNPI_S = _anagrafica.PartitaIva; if (String.IsNullOrWhiteSpace(_anagrafica.Nome) && String.IsNullOrWhiteSpace(_anagrafica.PartitaIva)) { this.client.PCPFS_S = "N"; } else { this.client.PCPFS_S = "S"; } if (String.IsNullOrWhiteSpace(_anagrafica.PartitaIva)) { this.client.PCPRI_S = "S"; } else { this.client.PCPRI_S = "N"; } this.client.PCTEL_S = _anagrafica.Telefono; this.client.PCFAX_S = _anagrafica.Cellulare; this.client.PCINT1_S = _anagrafica.Email; this.client.PCINT_S = _anagrafica.Web; this.client.PCIND_S = _anagrafica.Indirizzo; this.client.PCLOC_S = _anagrafica.Localita; this.client.PCCAP_S = _anagrafica.Cap; this.client.PCPAE_S = _anagrafica.Stato; this.client.PCPRO_S = _anagrafica.Provincia; if (!String.IsNullOrWhiteSpace(_anagrafica.Iban)) { //IBAN this.client.PCCCB_S = _anagrafica.Iban.Substring(15); this.client.PCBBCIN_S = _anagrafica.Iban.Substring(4, 1); this.client.PCABI = Double.Parse(_anagrafica.Iban.Substring(5, 5)); this.client.PCCAB = Double.Parse(_anagrafica.Iban.Substring(10, 5)); this.client.PCIBPAE_S = _anagrafica.Iban.Substring(0, 2); this.client.PCIBCIN = Double.Parse(_anagrafica.Iban.Substring(2, 2)); this.client.PCIBAN_S = _anagrafica.Iban; this.client.PCBBAN_S = _anagrafica.Iban.Substring(4); } //STANDARD AZIENDALI this.client.PCLIS = _anagrafica.Listino; this.client.PCVAL = 1; this.client.PUTPC(); if (String.IsNullOrWhiteSpace(this.client.ERRPC_S)) { //registrazione mydb per codiceriferimento if (lkp.SetAnagrafica(_anagrafica.CodiceRiferimento, this.client.PCCOD_S, _isMedico)) { message = this.client.PCCOD_S; return(true); } else { message = "Errore Registrazione Tabella Lookup"; return(false); } } else { message = this.client.ERRPC_S; return(false); } }