Exemplo n.º 1
0
        static void Main(string[] args)
        {
            string mittente     = "*****@*****.**";
            string destinatario = "*****@*****.**";
            string ccn          = "*****@*****.**";

            string linkImageTestata = "https://upload.wikimedia.org/wikipedia/it/thumb/0/04/Logo_della_Ferrari_S.p.A..svg/500px-Logo_della_Ferrari_S.p.A..svg.png";

            string modelloHtml = "<h1>Esempio</h1><img src=\"{IMAGE_TESTATA}\"></a>";
            string modelloTxt  = "Esempio senza immagine solo testi";

            string resourceTestataId = "imageTestataResource";

            MailMessage mailMessage = MailBuilder.CreaNuovaEmail()
                                      .ImpostaMittente(mittente)
                                      .AggiungiDestinatario(destinatario)
                                      .AggiungiCCn(ccn)
                                      .ImpostaSoggetto("Test invio email")
                                      .CreaEmailDaModelloHtml(modelloHtml)
                                      .DownloadAndAttachImage(linkImageTestata, resourceTestataId)
                                      .RimpiazzaTag("IMAGE_TESTATA")

                                      .End()
                                      .CreaEmailDaModelloDiTesto(modelloTxt)
            ;

            InviaMail(mailMessage);



            // Oppure
            var segnalazione = new Segnalazione();

            segnalazione
            .InseritaDa(new Account())
            .Il(DateTime.Now.AddMonths(-1))
            .VisualizzatoDa(new Account())
            .Il(DateTime.Now.AddDays(-5))
            .PresoInCaricoDa(new Account())
            .Il(DateTime.Now.AddHours(-1))
            .LavorataDa(new Account())
            .Ora();
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Inizializzo...");
            Factory.InitializeBugTracking(null, "password");

            Console.WriteLine("Accedo...");
            using (var db = Factory.LoadBugTracking(null, "password"))
            {
                var user1 = new Utente()
                {
                    Name      = "Stefano",
                    Surname   = "Castello",
                    Dob       = new DateTime(93, 12, 12),
                    CodFisc   = "CSTSFN93D12D969U",
                    Age       = 24,
                    LogIn     = "******",
                    Indirizzo = new Address()
                    {
                        Civico = 9, Interno = 2, Via = "viale Villa Chiesa"
                    }
                };
                var user2 = new Utente()
                {
                    Name      = "Giorgio",
                    Surname   = "Castello",
                    Dob       = new DateTime(60, 07, 20),
                    CodFisc   = "CSTGRG60L20D969A",
                    Age       = 57,
                    LogIn     = "******",
                    Indirizzo = new Address()
                    {
                        Civico = 9, Interno = 2, Via = "viale Villa Chiesa"
                    }
                };
                var prod1 = new Prodotto()
                {
                    CommName = "Schermo",
                    Id       = 10,
                    Req      = new List <Prodotto>(),
                    NotComp  = new List <Prodotto>()
                };
                var prod3 = new Prodotto()
                {
                    CommName = "Android",
                    Id       = 12,
                    Req      = new List <Prodotto>(),
                    NotComp  = new List <Prodotto>()
                };
                var prod2 = new Prodotto()
                {
                    CommName = "iPhone",
                    Id       = 11,
                    Req      = new List <Prodotto> {
                        prod1
                    },
                    NotComp = new List <Prodotto> {
                        prod3
                    }
                };
                prod3.NotComp.Add(prod2);
                var report1 = new Segnalazione()
                {
                    Author       = user1,
                    CreationDate = DateTime.Today,
                    Descr        = "Sistema Orrendo!",
                    SigProd      = prod3,
                    State        = "Aperta",
                    Text         = "Nulla da aggingere !",
                    Comments     = new List <Commento>()
                };
                var comment1 = new Commento()
                {
                    Author       = user2,
                    CreationDate = DateTime.Today,
                    Text         = "Vero Meglio Apple!"
                };
                db.Users.Add(user1);
                db.Users.Add(user2);
                db.Products.Add(prod1);
                db.Products.Add(prod2);
                db.Products.Add(prod3);
                db.Reports.Add(report1);
                db.Comments.Add(comment1);
                db.SaveChanges();



                var query = from u in db.Users
                            select u.CodFisc;
                foreach (var q in query)
                {
                    Console.WriteLine(q);
                }
                query = from u in db.Products
                        select u.CommName;
                foreach (var q in query)
                {
                    Console.WriteLine(q);
                }
            }



            Console.ReadLine();
        }
Exemplo n.º 3
0
 public void SetUp()
 {
     Factory.InitializeBugTracking(null, "password");
     Db    = Factory.LoadBugTracking(null, "password");
     User1 = new Utente()
     {
         Name      = "Stefano",
         Surname   = "Castello",
         Dob       = new DateTime(93, 12, 12),
         CodFisc   = "CSTSFN93D12D969U",
         Age       = 24,
         LogIn     = "******",
         Indirizzo = new Address()
         {
             Civico = 9, Interno = 2, Via = "viale Villa Chiesa"
         }
     };
     User2 = new Utente()
     {
         Name      = "Giorgio",
         Surname   = "Castello",
         Dob       = new DateTime(60, 07, 20),
         CodFisc   = "CSTGRG60L20D969A",
         Age       = 57,
         LogIn     = "******",
         Indirizzo = new Address()
         {
             Civico = 9, Interno = 2, Via = "viale Villa Chiesa"
         }
     };
     Prod1 = new Prodotto()
     {
         CommName = "Schermo",
         Id       = 10,
         Req      = new List <Prodotto>(),
         NotComp  = new List <Prodotto>()
     };
     Prod3 = new Prodotto()
     {
         CommName = "Android",
         Id       = 12,
         Req      = new List <Prodotto>(),
         NotComp  = new List <Prodotto>()
     };
     Prod2 = new Prodotto()
     {
         CommName = "iPhone",
         Id       = 11,
         Req      = new List <Prodotto> {
             Prod1
         },
         NotComp = new List <Prodotto> {
             Prod3
         }
     };
     Prod3.NotComp.Add(Prod2);
     Report1 = new Segnalazione()
     {
         Author       = User1,
         CreationDate = DateTime.Today,
         Descr        = "Sistema Orrendo!",
         SigProd      = Prod3,
         State        = "Aperta",
         Text         = "Nulla da aggingere !",
         Comments     = new List <Commento>()
     };
     Comment1 = new Commento()
     {
         Author       = User2,
         CreationDate = DateTime.Today,
         Text         = "Vero Meglio Apple!"
     };
 }
Exemplo n.º 4
0
        public static async Task SeedAsync(this ApplicationDbContext db, UserManager <Utente> userManager, RoleManager <IdentityRole> roleManager)
        {
            #region Seed comuni italiani

            if (!db.Regioni.Any() && !db.Province.Any() && !db.Comuni.Any())
            {
                var regioni  = new List <Regione>();
                var province = new List <Provincia>();
                var comuni   = new List <Comune>();

                var assembly     = typeof(DatabaseSeeder).GetTypeInfo().Assembly;
                var resourceName = $"{nameof(DataStorm)}.{nameof(Web)}.Resources.Elenco-codici-statistici-e-denominazioni-al-01_07_2016.csv";

                var primaLineaPassata = false;

                using (Stream stream = assembly.GetManifestResourceStream(resourceName))
                    using (StreamReader reader = new StreamReader(stream))
                    {
                        while (!reader.EndOfStream)
                        {
                            var linea = reader.ReadLine();

                            if (!primaLineaPassata)
                            {
                                primaLineaPassata = true;
                                continue;
                            }

                            var celle = linea.Split(';');

                            int codiceRegione;
                            if (int.TryParse(celle[0], out codiceRegione))
                            {
                                var nomeCittà      = celle[5];
                                var nomeRegione    = celle[9];
                                var nomeProvincia  = string.Equals(celle[11], "-") ? celle[10] : celle[11];
                                var siglaProvincia = celle[13];

                                var regione = regioni.SingleOrDefault(r => r.Nome == nomeRegione);
                                if (regione == null)
                                {
                                    regione = new Regione {
                                        ID = codiceRegione, Nome = nomeRegione
                                    };
                                    regioni.Add(regione);
                                }

                                var provincia = province.SingleOrDefault(p => p.Sigla == siglaProvincia);
                                if (provincia == null)
                                {
                                    provincia = new Provincia {
                                        Sigla = siglaProvincia, Denominazione = nomeProvincia, RegioneID = regione.ID, Regione = regione
                                    };
                                    province.Add(provincia);
                                }

                                var comune = new Comune {
                                    Denominazione = nomeCittà, SiglaProvincia = siglaProvincia, Provincia = provincia
                                };
                                comuni.Add(comune);
                                db.Comuni.Add(comune);
                            }
                        }
                    }

                await db.SaveChangesAsync();
            }

            #endregion

            #region Seed Ruoli utente
            {
                var ruoli = Enum.GetValues(typeof(Ruolo)).Cast <Ruolo>();
                foreach (var ruolo in ruoli)
                {
                    var ruoloString  = Enum.GetName(typeof(Ruolo), ruolo);
                    var identityRole = await roleManager.FindByNameAsync(ruoloString);

                    if (identityRole == null)
                    {
                        identityRole = new IdentityRole {
                            Name = ruoloString
                        };
                        await roleManager.CreateAsync(identityRole);
                    }
                }
            }
            #endregion

            #region Seed Utenti
            {
                var utentiAggiunti = new List <string>();

                var ruoli = await roleManager.Roles.ToListAsync();

                foreach (var ruolo in ruoli)
                {
                    for (var i = 1; i <= 5; i++)
                    {
                        var email = $"{ruolo.Name}{i}@test.it";
                        await userManager.CreaUtente(db, email, ruolo.Name);

                        utentiAggiunti.Add(email);
                    }
                }

                var utentiDaEliminare = await userManager.Users.Where(u => !utentiAggiunti.Contains(u.Email)).ToListAsync();

                foreach (var utente in utentiDaEliminare)
                {
                    var segnalazioniDaEliminare = await db.Segnalazioni.Where(s => s.UtenteSegnalazione == utente).ToListAsync();

                    foreach (var segnalazione in segnalazioniDaEliminare)
                    {
                        db.Segnalazioni.Remove(segnalazione);
                    }

                    var immobiliDaEliminare = await db.Immobili.Where(i => i.UtenteAppartenenza == utente).ToListAsync();

                    foreach (var immobile in immobiliDaEliminare)
                    {
                        db.Immobili.Remove(immobile);
                    }

                    var eliminazioneUtente = await userManager.DeleteAsync(utente);

                    if (!eliminazioneUtente.Succeeded)
                    {
                        throw new Exception($"SEED: si sono verificati i seguenti errori durante l\'eliminazione dell\'utente {utente.Email}: {string.Join("; ", eliminazioneUtente.Errors.Select(e => e.Description))}");
                    }
                }
            }
            #endregion

            #region Seed Tipologie lavoro
            {
                foreach (var tipologiaLavoro in TipologieLavoroDefault)
                {
                    var tipologiaLavoroEsistente = await db.TipologieLavoro.FirstOrDefaultAsync(t => t.Codice == tipologiaLavoro.Codice);

                    if (tipologiaLavoroEsistente == null)
                    {
                        db.TipologieLavoro.Add(tipologiaLavoro);
                    }
                }

                await db.SaveChangesAsync();
            }
            #endregion

            #region Seed Aziende
            {
                if (!await db.Aziende.AnyAsync())
                {
                    var tipologieLavoro = await db.TipologieLavoro.ToListAsync();

                    for (var i = 1; i <= 20; i++)
                    {
                        var azienda = new Azienda
                        {
                            RagioneSociale    = $"Azienda {i} S.p.A.",
                            PartitaIva        = (123456789 + i).ToString(),
                            Citta             = "Ancona",
                            Indirizzo         = $"via Verdi {i}",
                            Posizione         = await GetRandomPuntoRegioneMarche(),
                            AziendaTipoLavoro = new List <AziendeTipoLavoro>
                            {
                                new AziendeTipoLavoro
                                {
                                    TipoLavoro = tipologieLavoro.ElementAt(Random.Next(0, tipologieLavoro.Count))
                                }
                            }
                        };

                        db.Aziende.Add(azienda);
                    }

                    await db.SaveChangesAsync();
                }
            }
            #endregion

            #region Seed Topics
            {
                foreach (var topic in TopicsEsempio)
                {
                    if (!await db.Topics.AnyAsync(t => t.Codice == topic))
                    {
                        db.Topics.Add(new Topic {
                            Codice = topic
                        });
                    }
                }

                await db.SaveChangesAsync();
            }
            #endregion

            #region Seed Avvisi
            {
                var topics = await db.Topics.ToListAsync();

                foreach (var topic in topics)
                {
                    for (var i = 1; i <= 100; i++)
                    {
                        var avviso = new Avviso
                        {
                            Titolo         = $"Avviso {topic.Codice} {i}",
                            Descrizione    = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum congue luctus dapibus. Integer ac porta lacus, ultricies aliquet purus. Etiam in ex mi. Duis commodo sit amet metus id consectetur. Aliquam mollis convallis vehicula. Morbi ultricies, dolor at condimentum mattis, arcu leo malesuada est, quis molestie ex mi id purus. Etiam auctor posuere auctor.",
                            Links          = await GetLinkEsempio(),
                            ImmaginiAvviso = await GetImmaginiEsempio(),
                            AreeMappe      = new List <AreaMappa>
                            {
                                new AreaMappa
                                {
                                    TipoMappa  = TipoAreaMappa.Punto,
                                    PuntiMappa = new List <PuntoMappa> {
                                        await GetRandomPuntoRegioneMarche()
                                    }
                                }
                            }
                        };

                        avviso.AvvisiTopics = new List <AvvisoTopic> {
                            new AvvisoTopic {
                                AvvisoRiferimento = avviso, TopicRiferimento = topic
                            }
                        };

                        if (!await db.Avvisi.AnyAsync(a => a.Titolo == avviso.Titolo))
                        {
                            db.Avvisi.Add(avviso);
                        }
                    }
                }

                await db.SaveChangesAsync();
            }
            #endregion

            #region Seed Segnalazioni
            {
                if (!await db.Segnalazioni.AnyAsync())
                {
                    var tipologieSegnalazioni = Enum.GetValues(typeof(TipologiaSegnalazione)).Cast <TipologiaSegnalazione>().ToArray();

                    var utenti = await userManager.Users.ToListAsync();

                    foreach (var utente in utenti)
                    {
                        if (await userManager.IsInRoleAsync(utente, nameof(Ruolo.Cittadino)))
                        {
                            for (var i = 1; i <= 10; i++)
                            {
                                var segnalazione = new Segnalazione
                                {
                                    Descrizione        = $"Segnalazione {i}",
                                    Localizzazione     = await GetRandomPuntoRegioneMarche(),
                                    TipoSegnalazione   = tipologieSegnalazioni[Random.Next(tipologieSegnalazioni.Length)],
                                    UtenteSegnalazione = utente
                                };

                                db.Segnalazioni.Add(segnalazione);
                            }

                            await db.SaveChangesAsync();
                        }
                    }
                }
            }
            #endregion
        }