Esempio n. 1
0
        internal void Add(GruppoTG_Update tuple)
        {
            if (L == null)
            {
                L = new List <GruppoTG_Update>();
            }

            L.Add(tuple);
        }
Esempio n. 2
0
        private static async Task UpdateLinksFromJson2Async(GruppoTG gruppoTG, TelegramBotAbstract sender,
                                                            MessageEventArgs e, ListaGruppiTG_Update L)
        {
            var result = new GruppoTG_Update(null, SuccessoGenerazioneLink.ERRORE);

            var group_id = gruppoTG.permanentId;
            var sql1     = "empty";

            if (!string.IsNullOrEmpty(gruppoTG.idLink))
            {
                sql1 = "SELECT id FROM Groups " +
                       "WHERE Groups.link LIKE '%" + gruppoTG.idLink + "%'";

                if (gruppoTG.idLink.Length < 3)
                {
                    gruppoTG.idLink = "";
                }
            }

            if (group_id == null)
            {
                try
                {
                    if (!string.IsNullOrEmpty(gruppoTG.idLink))
                    {
                        var r1 = SqLite.ExecuteSelect(sql1);
                        if (r1 != null && r1.Rows != null && r1.Rows.Count > 0 && r1.Rows[0] != null &&
                            r1.Rows[0].ItemArray != null && r1.Rows[0].ItemArray.Length > 0)
                        {
                            var r2 = r1.Rows[0];
                            var r3 = r2.ItemArray[0];
                            group_id = Convert.ToInt64(r3);
                        }
                        else
                        {
                            result.query1Fallita = true;
                        }
                    }
                }
                catch (Exception ex1)
                {
                    Console.WriteLine(ex1);
                    var ex1m = "1" + "\n\n" + ex1.Message + "\n\n" + sql1 + "\n\n" + gruppoTG.idLink + "\n\n" +
                               gruppoTG.nome + "\n\n" + gruppoTG.newLink + "\n\n" + gruppoTG.permanentId;
                    await sender.SendTextMessageAsync(e.Message.From.Id,
                                                      new Language(
                                                          new Dictionary <string, string>
                    {
                        {
                            "it",
                            ex1m
                        }
                    }),
                                                      ChatType.Private, "it", ParseMode.Default, null, e.Message.From.Username);

                    result.gruppoTG = gruppoTG;
                    result.successoGenerazioneLink = SuccessoGenerazioneLink.ERRORE;
                    result.ExceptionMessage        = ex1m;
                    result.ExceptionObject         = ex1;
                    L.Add(result);

                    return;
                }
            }

            var sql2 = "SELECT id FROM Groups WHERE Groups.title LIKE '%' || @nome || '%'";

            if (group_id == null)
            {
                try
                {
                    if (group_id == null && !string.IsNullOrEmpty(gruppoTG.nome))
                    {
                        var r1 = SqLite.ExecuteSelect(sql2, new Dictionary <string, object> {
                            { "@nome", gruppoTG.nome }
                        });
                        if (r1 != null && r1.Rows != null && r1.Rows.Count > 0 && r1.Rows[0] != null &&
                            r1.Rows[0].ItemArray != null && r1.Rows[0].ItemArray.Length > 0)
                        {
                            var r2 = r1.Rows[0];
                            var r3 = r2.ItemArray[0];
                            group_id = Convert.ToInt64(r3);
                        }
                        else
                        {
                            result.query2Fallita = true;
                        }
                    }
                }
                catch (Exception ex2)
                {
                    Console.WriteLine(ex2);
                    var ex2m = "2" + "\n\n" + ex2.Message + "\n\n" + sql2 + "\n\n" + gruppoTG.nome;
                    await sender.SendTextMessageAsync(e.Message.From.Id,
                                                      new Language(
                                                          new Dictionary <string, string>
                    {
                        {
                            "it",
                            ex2m
                        }
                    }),
                                                      ChatType.Private, "it", ParseMode.Default, null, e.Message.From.Username);

                    result.gruppoTG = gruppoTG;
                    result.successoGenerazioneLink = SuccessoGenerazioneLink.ERRORE;
                    result.ExceptionMessage        = ex2m;
                    result.ExceptionObject         = ex2;
                    L.Add(result);

                    return;
                }
            }

            if (group_id == null)
            {
                result.gruppoTG = gruppoTG;
                result.successoGenerazioneLink = SuccessoGenerazioneLink.ERRORE;
                L.Add(result);
            }
            else
            {
                NuovoLink s3 = null;
                try
                {
                    if (group_id != null)
                    {
                        gruppoTG.UpdateID(group_id.Value);

                        s3 = await CreateInviteLinkAsync(group_id.Value, sender, e);

                        if (s3 != null)
                        {
                            gruppoTG.UpdateNewLink(s3.link);
                        }
                    }
                }
                catch (Exception ex3)
                {
                    Console.WriteLine(ex3);
                    var ex3m = "3" + "\n\n" + ex3.Message;
                    await sender.SendTextMessageAsync(e.Message.From.Id,
                                                      new Language(
                                                          new Dictionary <string, string>
                    {
                        {
                            "it",
                            ex3m
                        }
                    }),
                                                      ChatType.Private, "it", ParseMode.Default, null, e.Message.From.Username);

                    result.gruppoTG = gruppoTG;
                    result.successoGenerazioneLink = SuccessoGenerazioneLink.ERRORE;
                    result.ExceptionMessage        = ex3m;
                    result.ExceptionObject         = ex3;
                    result.createInviteLinkFallita = true;
                    L.Add(result);

                    return;
                }

                var successoGenerazione = GetSuccessoGenerazione(s3);

                result.gruppoTG = gruppoTG;
                result.successoGenerazioneLink = successoGenerazione;
                L.Add(result);
            }
        }