Пример #1
0
        public int InsertPaziente(Pazi data)
        {
            int affetcedRows = -1;

            string tabName = "PAZI";

            affetcedRows = DBSQL.InsertOperation(GRConnectionString, tabName, data);

            return(affetcedRows);
        }
Пример #2
0
        public Pazi GetPazienteByFilter(string nome, string cognome, string cf, DateTime dataNascita)
        {
            Pazi data = null;

            string tabName = "PAZI";

            Dictionary <string, DBSQL.QueryCondition> conditions = new Dictionary <string, DBSQL.QueryCondition>();

            conditions.Add("nome", new DBSQL.QueryCondition {
                Key   = "PAZINOME",
                Op    = DBSQL.Op.Equal,
                Conj  = DBSQL.Conj.And,
                Value = nome
            });
            conditions.Add("cognome", new DBSQL.QueryCondition
            {
                Key   = "PAZICOGN",
                Op    = DBSQL.Op.Equal,
                Conj  = DBSQL.Conj.And,
                Value = cognome
            });
            conditions.Add("codicefiscale", new DBSQL.QueryCondition
            {
                Key   = "COFI",
                Op    = DBSQL.Op.Equal,
                Conj  = DBSQL.Conj.And,
                Value = cf
            });
            conditions.Add("datanascita", new DBSQL.QueryCondition
            {
                Key   = "DATA",
                Op    = DBSQL.Op.Equal,
                Conj  = DBSQL.Conj.None,
                Value = dataNascita
            });

            DataTable data_ = DBSQL.SelectOperation(GRConnectionString, tabName, conditions);

            log.Info(string.Format("Query Executed! Retrieved {0} records!", data_.Rows.Count));

            if (data_ != null)
            {
                if (data_.Rows.Count == 1)
                {
                    data = PaziMapper.DataRowToVO(data_.Rows[0]);
                    log.Info(string.Format("{0} Records mapped to {1}", 1, typeof(Pazi).ToString()));
                }
            }

            return(data);
        }
Пример #3
0
        static void Main(string[] args)
        {
            Stopwatch tw = new Stopwatch();

            tw.Start();

            string provenienza = "RISPrivati";

            log.Info("Starting procedure...");

            DataAccessLayer.DAL dal = new DataAccessLayer.DAL();

            try
            {
                //1. Lettura Tabella dove presente lo stato della richiesta
                //List<RISMirth> rissM = dal.GetRISMirthAll();
                //List<Guid> mirthg = rissM.Select(p=>p.)
                //2. Lettura Vista Gro -- select * from [eurosanita].[VW_EsamiRadiologiciRISCasilino] -- where IDRichiesta non è preso in carico

                //3. Verifica Anagrafica Paziente
                List <RISCentral> rissC = new List <RISCentral>(); // Fittizio
                foreach (RISCentral risC in rissC)
                {
                    string   name    = risC.Nome;
                    string   surname = risC.Cognome;
                    string   cf      = risC.CodiceFiscale;
                    DateTime?birth   = risC.DataNascita;
                    if (name != null && surname != null && birth != null && cf != null)
                    {
                        Pazi paz = dal.GetPazienteByFilter(name, surname, cf, birth.Value);
                        if (paz == null)
                        {
                            //4. In caso non esista, creare il pazeinte in GR
                            Pazi nuovoPaziente = new Pazi();
                            nuovoPaziente.PAZINOME = risC.Nome;
                            nuovoPaziente.PAZICOGN = risC.Cognome;
                            nuovoPaziente.PAZICOFI = risC.CodiceFiscale;
                            nuovoPaziente.PAZIDATA = risC.DataNascita;
                            int written = dal.InsertPaziente(nuovoPaziente);
                            if (written != 1)
                            {
                                //ERROR! FATAL
                                continue;
                            }

                            //5. Creare il mappning in IdentityMapping
                            IdentityMapping nuovoMapping = new IdentityMapping();
                            nuovoMapping.idext       = risC.IdPaziente.ToString();
                            nuovoMapping.provenienza = provenienza;
                            written = dal.InsertIdentityMapping(nuovoMapping);
                            if (written != 1)
                            {
                                //ERROR! FATAL
                                continue;
                            }
                        }
                        else
                        {
                            // L'anagrafica esiste in GR. Bisogna controllare se esite in IdentintyMapping, se no bisogna crearla
                            int             IDPazienteCentral = risC.IdPaziente.Value;
                            int             IDPazienteGR      = paz.PAZIIDID.Value;
                            IdentityMapping mapping           = dal.GetIdentityMappingByPK(IDPazienteGR, IDPazienteCentral.ToString());
                            if (mapping == null)
                            {
                                IdentityMapping nuovoMapping = new IdentityMapping();
                                nuovoMapping.idext       = IDPazienteCentral.ToString();
                                nuovoMapping.provenienza = provenienza;
                                int written = dal.InsertIdentityMapping(nuovoMapping);
                                if (written != 1)
                                {
                                    //ERROR! FATAL
                                    continue;
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
            }

            tw.Stop();
            log.Info(string.Format("Procedure Completed! Elapsed time {0}", GeneralPurposeLib.LibString.TimeSpanToTimeHmsms(tw.Elapsed)));
        }