private static void TestHR() { Persona mario = new Persona("Mario", "Rossi"); mario.SetEta(30); //Persona impiegato = new Impiegato("Mario", "Rossi", 30, "MR30"); //Voglio stampare Nome e cognome di mario. Come faccio? La riga successiva causerebbe un errore perchè Nome e Cognome sono protected //Non voglio modificarli in public, quindi o faccio dei metodi GetNome e GetCognome oppure faccio l'override del metodo ToString come sotto //System.Console.WriteLine("Istanza mario: {0}, {1}", mario.Nome, mario.Cognome); System.Console.WriteLine(mario.ToString()); System.Console.ReadLine(); Impiegato impiegato = new Impiegato("Mario", "Bianchi", 35, "MB35"); // confrontiamo mario e impiegato if (mario.Equals(impiegato)) { System.Console.WriteLine("La perosona è un impiegato"); } else { System.Console.WriteLine("La perosona non è un impiegato"); } System.Console.ReadLine(); }
public static void Interf() { Persona persona1 = new Persona() { Nome = "Pio", Cognome = "Rossi" }; persona1.LogInfo("Funziona"); int x = 0; try { double num = 4 / x; } catch (Exception e) { Console.WriteLine(e.Message); } Persona persona2 = new Impiegato() { Nome = "Alice", Cognome = "Colella" }; persona2.LogInfo("Funziona anche con impiegato"); ILogging[] loggings = { persona2 }; foreach (ILogging item in loggings) { item.LogInfo("Prova ciclo"); } }
public ImpiegatoModel(Impiegato impiegato) { Id = impiegato.Id; Nome = impiegato.Nome; Datanascita = impiegato.Datanascita; Dataassunzione = impiegato.Dataassunzione; Dipartimento = impiegato.DipartimentoNavigation.Nome; }
public async Task DeleteImpiegato(int EntrPrs) { var impiegato = new Impiegato() { EntrepriseId = EntrPrs }; _rolmexContext.Remove(impiegato); await _rolmexContext.SaveChangesAsync(); }
/// <summary> /// TEST PERSONA: 28/10 /// CREO PROGETTO HUMAN RESOURCES (ASSEMBLY) E CI AGGIUNGO LE CLASSI CHE MI SERVONO (CONCETTI DI PRIVATE, PUBLIC ECC E DOWNCAST) /// USO HUMAN RESOURCES /// </summary> private static void TestHR() { Persona Giulia = new Persona("Giulia", "Soresini"); //istanzio una persona Impiegato imp = new Impiegato(); // sta sempre dentro human resources System.Console.WriteLine(Giulia.ToString());// sono inaccessibili per protection level nome e congome, cosi' stampo l'istanza giulia (metodo concreto della classe object) //il metodo to string stampa il tipo dell'istanza di default, ma io volevo stampare nome cognome e indirizzo, quindi faccio override System.Console.ReadLine(); }
public async Task UpdateAllImpiegato(int entrId, ImpiegatoModel impiegatoModel) { var _impiegato = new Impiegato() { EntrepriseId = entrId, Nome = impiegatoModel.Nome, Cognome = impiegatoModel.Cognome, Qualifica = impiegatoModel.Qualifica, RakingPoints = impiegatoModel.RackingPoints, Telefono = impiegatoModel.Telefono }; _rolmexContext.Impiegato.Update(_impiegato); await _rolmexContext.SaveChangesAsync(); }
public async Task <int> AddImpiegato(ImpiegatoModel impiegato) { var _impiegato = new Impiegato() { Nome = impiegato.Nome, Cognome = impiegato.Cognome, Qualifica = impiegato.Qualifica, RakingPoints = impiegato.RackingPoints, ImmagineProfilo = impiegato.ImmagineProfilo, Telefono = impiegato.Telefono, Dipartimento = impiegato.Dipartimento }; _rolmexContext.Impiegato.Add(_impiegato); await _rolmexContext.SaveChangesAsync(); return(impiegato.EntrepriseId); }
private static void TestHR() { Persona mario = new Persona("Mario", "Rossi"); Impiegato imp = new Impiegato(); //System.Console.WriteLine(mario.ToString()); String s1 = ""; s1 = String.Empty; String s2 = "aaaa"; String s3 = String.Concat(s1, s2); System.Console.WriteLine(s3.Length); //System.Console.WriteLine("Istanza mario: {0}, {1}", mario.Nome, mario.Cognome); System.Console.ReadLine(); }
/* Uso l'interfaccia alla riga precedente, per evitare di scrivere più volte il codice come sotto. * private static void PrintCerchio(Cerchio c1) * { * System.Console.WriteLine("Cerchio: Area {0}, Circonferenza {1}", c1.getArea(), c1.getPerimetro()); * } * * private static void PrintQuadrato(Quadrato q1) * { * System.Console.WriteLine("Quadrato: Area {0}, Perimetro {1}", q1.getArea(), q1.getPerimetro()); * }*/ private static void TestHR() { //prima di istanziare una persona, devo aggiungere il riferimento a Human Resources: clicco col dx su //Accademy.Console, e aggiungo il riferimento al progetto HumanResources. Persona mario = new Persona("Mario", "Rossi"); mario.SetIndirizzo("Via Roma,1"); System.Console.WriteLine(mario.ToString()); //il toString implementato dall'Object mi stampa il tipo della classe a cui è applicato, per quello si fa l'override se si vuole fare altro. Impiegato imp = new Impiegato("Matilde", "Bianchi", 33); imp.SetIndirizzo("Via Lourdes,32"); //tutte le classi create ereditano dalla classe Object i metodi ToString, Equals, GetType, GetHashCode. //oppure una certa classe può ereditare da un'altra classe (impiegato da persona), che deriva a sua volta da Object. //Alla fine tutte le classi ereditano, direttamente o indirettamente, da Object. //Da una classe possono ereditare più classi. //Una classe non può ereditare da più classi, se non in modo indiretto. //i modificatori di accesso (public/private), danno la possibilità o meno di modificare o visualizzare delle proprietà/metodi. //System.Console.WriteLine("Istanza mario: {0}, {1}", mario.Nome, mario.Cognome); System.Console.ReadLine(); }
public static void EsercizioTipo() { #region value type vs references type //value type //bool bool x = true; bool y = false; bool z = !x; Console.WriteLine("Valore z: {0}", z); //Numerici int i = 0; int j = 34; int numero = 1 * (2 + 3) * 4; float f = 1f / 3F; double doub = 1d / 3d; decimal dec = 1m / 3m; Console.WriteLine("Float: " + f); //meno cifre decimali Console.WriteLine("Double: " + doub); //medio Console.WriteLine("Decimal: " + dec); //più cifre di tutti Console.WriteLine($"Range float: " + float.MinValue + " - " + float.MaxValue); Console.WriteLine($"Range double: " + double.MinValue + " - " + double.MaxValue); Console.WriteLine($"Range decimal: " + decimal.MinValue + " - " + decimal.MaxValue); //DateTime DateTime now = DateTime.Now; DateTime today = DateTime.Today; DateTime date = new DateTime(2020, 12, 25); Console.WriteLine("Data ora: " + now); Console.WriteLine("Data oggi: " + today); Console.WriteLine("Data natale: " + date); DateTime tomorrow = now.AddDays(1); DateTime In5Hours = now.AddHours(5); Console.WriteLine("Tomorrow: " + tomorrow + ", 5 ore: " + In5Hours); //enum, definito all'inizio Stato myStato = Stato.New; if (myStato == Stato.New) // o == 0, stessa cosa { Console.WriteLine("MyStato contiene New"); } //references type //string string nome = " Maria Chiara Colla "; Console.WriteLine("Nome Completo: " + nome + ","); int lunghezza = nome.Length; Console.WriteLine("Lunghezza nome completo: " + lunghezza); string trimString = nome.Trim(); Console.WriteLine("Nome completo senza spazi: " + trimString + ","); string subString = nome.Substring(0, 13); //da dove inizia e dove finisce Console.WriteLine("Solo nome: " + subString); //classi (nuova cartella: Classi) Console.Clear(); // resetta la console Console.WriteLine("_________ CLASSI _________"); Persona persona = new Persona(); try { persona.CodiceFiscale = "RSSMRC"; persona.Nome = "Marco"; persona.Cognome = "Rossi"; persona.DataNascita = new DateTime(1958, 07, 20); }catch (Exception e) { Console.WriteLine(e.Message); } Persona persona2 = new Persona() { Nome = "Alessia", Cognome = "Bianchi", CodiceFiscale = "BNCLSS59G57J123M" }; Console.WriteLine(persona.FullName("Signor")); Console.WriteLine(persona2.FullName("Signora")); Impiegato impiegato = new Impiegato() { Nome = "Luca", Cognome = "Gialli", CodiceFiscale = "GLLLCU12N45L456C", NumeroFigli = 1, DataNascita = new DateTime(1987, 11, 15) }; Console.WriteLine(impiegato.FullName("")); Persona impiegato2 = new Impiegato() //prende l'implementazione di impiegato { Nome = "Anna", Cognome = "Neri", CodiceFiscale = "NRENNA09V67N186X", DataNascita = new DateTime(1989, 09, 02), NumeroFigli = 3 }; Console.WriteLine(impiegato2.FullName("")); Manager m = new Manager(); //interfacce persona.LogInfo("Il log funziona"); impiegato.LogInfo("log ok"); //funziona comunque, lo eredita dalla classe padre impiegato2.LogInfo("log ok"); //funziona anche qui, stesso motivo //classe computer e interfaccia ilogging Computer myComputer = new Computer() { Modello = "DELL XPS 9570" }; myComputer.LogInfo("Funziona anche per la classe computer"); //array dell'interfaccia ILogging[] loggingItems = { myComputer, persona }; foreach (var elem in loggingItems) { elem.LogInfo("Prova"); } //eccezioni Persona persona1 = new Persona(); try { persona1.CodiceFiscale = "RSSMRC"; persona1.Nome = "Marco"; persona1.Cognome = "Rossi"; persona1.DataNascita = new DateTime(1958, 07, 20); } catch (Exception e) { Console.WriteLine(e.Message); } try { int a = 5; int b = 0; int result = a / b; Console.WriteLine(result); } catch (DivideByZeroException d) { Console.WriteLine("Divide by Zero Exception: " + d.Message); } catch (Exception e) { Console.WriteLine("Exception: " + e.Message); } #endregion }
public static void EserciziSulTipo() { //Value vs Reference //Value: bool x = true; bool y = false; bool z = !x; Console.WriteLine($"Il valore di z è: {z}"); int i = 0; int j = 34; int numero = 1 * (2 + 3) * 4; float f = 1f / 3f; double doub = 1d / 3d; decimal dec = 1m / 3m; Console.WriteLine($"float minimo {float.MinValue} e massimo {float.MaxValue}"); //Date time DateTime now = DateTime.Now; DateTime today = DateTime.Today; //Data di oggi con orario di default DateTime date = new DateTime(2020, 12, 25); Console.WriteLine("Date: "); Console.WriteLine($"Now: {now}\nToday: {today}\nData: {date}"); DateTime tomorrow = now.AddDays(1); DateTime In5Hours = now.AddHours(5); Console.WriteLine($"Tomorrow: {tomorrow}\nPiù 5 ore: {In5Hours}"); //enum: dichiarato fuori dalla classe State myState = State.New; if (myState == State.New) { Console.WriteLine("è uguale a new"); } //Reference string nome = " Carlotta Colla "; int count = nome.Length; string trim = nome.Trim(); //toglie gli spazi all'inizio e alla fine string sub = nome.Substring(0, 5); //classi Console.Clear(); Persona persona1 = new Persona(); persona1.Nome = "Mario"; persona1.Cognome = "Rossi"; persona1.CF = "MRARSS97D57G337F"; persona1.DataNat = new DateTime(1997, 04, 17); Persona persona2 = new Persona() { Nome = "Anna", Cognome = "Bianchi", CF = "NNABNC98D45G445G" }; Console.WriteLine(persona1.FullName("Sig.") + "\n" + persona2.FullName("Sig.ra")); Impiegato impiegato1 = new Impiegato() { Nome = "Luca", Cognome = "Verdi", CF = "VRDLCA78F28H883H", DataNat = new DateTime(1978, 11, 12), NFigli = 1 }; Console.WriteLine(impiegato1.FullName("")); Persona impiegato2 = new Impiegato() { Nome = "Alessia", Cognome = "Neri", CF = "NRELSS90F45J793L", DataNat = new DateTime(1989, 09, 2), NFigli = 3 }; Console.WriteLine(impiegato2.FullName("")); //Prende l'implementazione di impiegato Manager manager = new Manager(); }