public async Task <IActionResult> UndoMerge([FromBody] SchedaContatto scheda)
        {
            var    idUtente   = Request.Headers["IdUtente"];
            string codiceSede = Request.Headers["codiceSede"];
            var    command    = new UndoMergeSchedeNueCommand
            {
                CodiceSede = codiceSede,
                IdUtente   = idUtente,
                SchedaNue  = scheda
            };

            try
            {
                _undoMergeSchede.Handle(command);
                return(Ok());
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains(Costanti.UtenteNonAutorizzato))
                {
                    return(StatusCode(403, Costanti.UtenteNonAutorizzato));
                }
                return(BadRequest());
            }
        }
예제 #2
0
        public async Task <IActionResult> MergeSchede([FromBody] SchedaContatto scheda)
        {
            string idUtente = Request.Headers["IdUtente"];

            var command = new MergeSchedeNueCommand()
            {
                CodiceSede = Request.Headers["codiceSede"],
                IdUtente   = idUtente,
                SchedaNue  = scheda
            };

            try
            {
                _setMerge.Handle(command);
                return(Ok());
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains(Costanti.UtenteNonAutorizzato))
                {
                    return(StatusCode(403, new { message = Costanti.UtenteNonAutorizzato }));
                }
                return(BadRequest(new { message = ex.Message }));
            }
        }
예제 #3
0
 public void Undo(SchedaContatto scheda)
 {
     foreach (var schedaMergiata in scheda.Collegate)
     {
         _dbContext.SchedeContattoCollection.DeleteOne(Builders <SchedaContatto> .Filter.Eq(x => x.CodiceScheda, schedaMergiata.CodiceScheda));
     }
     _dbContext.SchedeContattoCollection.DeleteOne(Builders <SchedaContatto> .Filter.Eq(x => x.CodiceScheda, scheda.CodiceScheda));
 }
예제 #4
0
        public void Merge(SchedaContatto scheda, string codiceSede)
        {
            var filter = Builders <SchedaContatto> .Filter.Eq(s => s.CodiceScheda, scheda.CodiceScheda);

            var replaceOption = new ReplaceOptions();

            replaceOption.IsUpsert = true;

            _dbContext.SchedeContattoCollection.InsertOne(scheda);

            foreach (var schedaMergiata in scheda.Collegate)
            {
                var filterMerged = Builders <SchedaContatto> .Filter.Eq(s => s.CodiceScheda, schedaMergiata.CodiceScheda);

                _dbContext.SchedeContattoCollection.InsertOne(schedaMergiata);
            }
        }
예제 #5
0
        private List <SchedaContatto> MapListaSchedeFromOracle(List <ORASchedaContatto> listaSchedeOracle)
        {
            List <SchedaContatto> ListaSchede = new List <SchedaContatto>();

            foreach (var scheda in listaSchedeOracle)
            {
                var ClassificazioneEvento = scheda.NOTE_AREU.Split(';')[0].Split(':').Length > 2 ? "" : scheda.NOTE_AREU.Split(';')[0].Split(':')[1];
                var Categoria             = scheda.NOTE_AREU.Split(';')[0].Split(':').Length > 2 ? scheda.NOTE_AREU.Split(';')[0].Split(':')[2] : scheda.NOTE_AREU.Split(';')[1].Split(':')[1];
                var Dettaglio             = scheda.NOTE_AREU.Split(';')[0].Split(':').Length > 2 ? scheda.NOTE_AREU.Split(';')[1].Split(':')[1] : scheda.NOTE_AREU.Split(';')[2].Split(':')[1];
                var Priorita         = scheda.NOTE_AREU.Split(';')[0].Split(':').Length > 2 ? scheda.NOTE_AREU.Split(';')[2].Split(':')[1] : scheda.NOTE_AREU.Split(';')[3].Split(':')[1];
                var PersoneCoinvolte = scheda.NOTE_AREU.Split(';')[0].Split(':').Length > 2 ? scheda.NOTE_AREU.Split(';')[3].Split(':')[1] : scheda.NOTE_AREU.Split(';')[4].Split(':')[1];
                var EnteCompetente   = scheda.NOTE_AREU.Split(';')[0].Split(':').Length > 2 ? scheda.NOTE_AREU.Split(';')[4].Split(':')[1] : scheda.NOTE_AREU.Split(';')[5].Split(':')[1];

                SchedaContatto schedaCon = new SchedaContatto()
                {
                    CodiceScheda    = scheda.ID_CONTATTO.ToString(),
                    DataInserimento = scheda.DATA_INS,
                    Richiedente     = new API.Models.Classi.Condivise.Richiedente(scheda.COGNOME + " " + scheda.NOME, scheda.TEL_PUBL),
                    Localita        = new API.Models.Classi.Condivise.Localita(new API.Models.Classi.Condivise.Coordinate(Convert.ToDouble(scheda.LAT), Convert.ToDouble(scheda.LON)), scheda.INDIRIZZO + " " + scheda.CIVICO, scheda.NOTE_INTERVENTO)
                    {
                        Citta     = scheda.CITTA,
                        Provincia = scheda.PROVINCIA
                    },
                    Classificazione       = scheda.COMPETENZA == "VVF" ? "Competenza" : scheda.DIFFERIBILE == "VVF" ? "Differibile" : "Conoscenza",
                    ClassificazioneEvento = ClassificazioneEvento.Trim(),
                    Categoria             = Categoria.Trim(),
                    Priorita  = Priorita.Trim().Equals("ALTA") ? 1 : Priorita.Trim().Equals("MEDIA") ? 2 : 3,
                    Dettaglio = Dettaglio,
                    Gestita   = scheda.FLG_GESTITA.Equals("S") ? true : false,
                    NumeroPersoneCoinvolte = Convert.ToInt32(PersoneCoinvolte),
                    EnteCompetenza         = EnteCompetente
                };

                ListaSchede.Add(schedaCon);
            }

            return(ListaSchede);
        }