Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace AssaBusiness
- {
- /*
- * Cosa è per noi una News?
- *
- * Una [news] è costituita da un [titolo], un [testo]
- * un [autore] e una [data].
- *
- * +----------------------+
- * | News |
- * +------------------+---+
- * | Title | A |
- * | Content | A |
- * | Author | A |
- * | PublicationDate | D |
- * +------------------+---+
- *
- * */
- public class News
- {
- // JAVA:
- //private int id;
- //public int getId() { return id; }
- //public void setId(int value) { id = value; }
- // C#:
- //private int id;
- //public int Id
- //{
- // get { return id; }
- // set { id = value; }
- //}
- // C# evoluto!
- // ID, Title, Content, Author e PublicationDate sono PROPERTIES: PROPRIETA'
- public int Id { get; set; }
- public string Title { get; set; }
- public string Content { get; set; }
- public string Author { get; set; }
- public DateTime PublicationDate { get; set; }
- }
- /*
- * Cosa dobbiamo fare con una News?
- * (Questo è il processo di business da implementare!!!)
- * Il nostro processo di business deve:
- * gestire un [elenco di News], ovvero
- * di <aggiungere>, <modificare>, <eliminare> e
- * <visualizzare> le news.
- *
- * */
- public class Business
- {
- // elenco di news
- private static List<News> newsList;
- private List<News> NewsList
- {
- get
- {
- if (newsList == null) newsList = new List<News>();
- return newsList;
- }
- }
- /// <summary>
- /// Costruttore della classe.
- /// </summary>
- /// <remarks>
- /// Il costruttore è un metodo che viene richiamato quando viene
- /// effettuata una chiamata a <code>new Business()</code>.
- /// Serve per inizializzare le variabili interne alla classe in maniera
- /// da poterle correttamente utilizzare durante il ciclo di vita della
- /// classe stessa.
- /// </remarks>
- public Business()
- {
- //Console.WriteLine("Sto eseguendo il costruttore della classe Business");
- }
- public void CreateNews(News n)
- {
- // produco un ID univoco per la news che vado ad inserire
- // mi leggo le news
- List<News> news = ReadNews();
- // inizializzo la variabile che conterrà il mio id
- // se non ce ne sono essa varrà 1 per la prima news
- int id = 1;
- // se ci sono news
- if (news.Count > 0)
- // leggo l'id più alto e lo aumento di 1
- id = news.Max(i => i.Id) + 1;
- // assegno l'id alla news da inserire tramite il business layer
- n.Id = id;
- NewsList.Add(n);
- }
- public List<News> ReadNews()
- {
- return NewsList;
- }
- public News ReadNews(int id)
- {
- return NewsList.FirstOrDefault(n => n.Id == id);
- }
- public void UpdateNews(News n)
- {
- // ricerco la notizia nella lista
- News old = ReadNews(n.Id);
- if (old != null)
- {
- // la modifico con i nuovi valori
- // passati come parametro
- DeleteNews(n.Id);
- NewsList.Add(n);
- }
- }
- public void DeleteNews(int id)
- {
- // ricerco la notizia nella lista
- News old = ReadNews(id);
- if (old != null)
- {
- // la cancello dalla lista
- NewsList.Remove(old);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement