febbraio 2010 Blog Posts

La busta paga

Iniziamo da: "il datore di lavoro ha l'obbligo di consegnare il prospetto paga" (Legge n.4 del 1953). La busta paga si divide in: Intestazione Corpo Dati previdenziali, Dati fiscali, TFR, Retribuzione netta. Nell'intestazione si trovano tutti i dati anagrafici della ditta e del lavoratore: posizione INPS, INAIL,  Matricola, Cognome, Nome, Codice Fiscale, Data di assunzione e tutti gli elementi retributivi: Mese di retribuzione, Sede di lavoro, Contratto di lavoro con livello e qualifica, Elementi del trattamento salariale e i giorni retribuiti/lavorati del mese. Quello che più conta nell'intestazione sono i valori di: Paga base, Contingenza, eventuale Elemento distinto della retribuzione, Scatti di anzianità, Altri elementi. Mi soffermerei su...

Quiz: extension methods

Quale sarà l'output? namespace Extensions{  using System;  using ExtensionMethodsDemo1;     // Define extension methods for any type that implements IMyInterface.     public static class Extension     {        public static void MethodA(this IMyInterface myInterface, int i)        {            Console.WriteLine("Extension.MethodA(this IMyInterface myInterface, int i)");        }        public static void MethodA(this IMyInterface myInterface, string s)         {            Console.WriteLine("Extension.MethodA(this IMyInterface myInterface, string s)");        }        public static void MethodB(this IMyInterface myInterface)         {            Console.WriteLine("Extension.MethodB(this IMyInterface myInterface)");        }    }}namespace ExtensionMethodsDemo1{    using System;    using Extensions;    public interface IMyInterface    {        void MethodB();    }    class A : IMyInterface     {        public void MethodB(){Console.WriteLine("A.MethodB()");}    }     class B : IMyInterface    {        public void MethodB() { Console.WriteLine("B.MethodB()");...

Extension methods

Gli extension methods permettono a metodi statici di essere richiamati usando la sintassi dei metodi di istanza. Questi metodi devono avere almeno un parametro che rappresenta l'istanza del metodo su cui operare. In C# su questo parametro si utilizza la parola chiave this. public static class StringExtensions{     public static bool IsPalindrome(this string s){        ...     } } Questo metodo viene richiamato nel seguente modo: if("hello world".IsPalindrome()){   .... } La classe che definisce l'extension method viene definita "sponsor" e deve essere statica. Ovviamente va importato il namespace della classe sponsor. Vanno usati il minimo indispensabile ;) [Fonte: Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition) - K. Cwalina, B....

Malattia nel Contratto del Commercio

Un'altra di quelle cose che mi ha sconcertato... Nel Contratto del Commercio (e parlo di quello nazionale) la malattia viene retribuita in maniera davvero singolare: Per i primi 3 giorni viene corrisposto il 100% dello stipendio (periodo di carenza) ed è carico del datore di lavoro. Dal 4° al 20° giorno è previsto il 75% (!) della paga: 50% a carico dell'INPS e 25% a carico del datore di lavoro. Dal 21° giorno in poi (fino al limite di 180 giorni) è previsto nuovamente il 100% ma suddiviso tra: 66,66% INPS, 33,34% a carico del datore di lavoro. Rinvio a un secondo post il calcolo perchè è...

Rimborsi chilometrici

Buono a sapersi... In caso di trasferta al dipendente è dovuto il rimborso delle spese che ha sostenuto in base alle tabella ACI. Ma attenzione ne esistono di due tipi: 1. Costi chilometrici (Per calcolare i rimborsi al dipendente (o al professionista) che faccia uso del proprio veicolo svolgendo attività a favore del datore di lavoro.)  http://www.aci.it/index.php?id=1850 2. Fringe benefit (Per calcolare la retribuzione in natura derivante dalla concessione di veicoli aziendali in uso ai dipendenti, per esigenze di lavoro e per esigenze private.)  http://www.aci.it/index.php?id=93 I servizi sono accessibili direttamente dal sito dell'ACI (dove viene spiegata chiaramente la differenza):  http://www.aci.it/index.php?id=86   Attenzione che i secondi sono più bassi nei primi...