public void SetMaxSerial()
 {
     foreach (Payment item in this)
     {
         if (!MaxSerials.ContainsKey(item.Fecha.Year))
         {
             MaxSerials.Add(item.Fecha.Year, 0);
         }
         if (item.Serial > MaxSerials[item.Fecha.Year])
         {
             MaxSerials[item.Fecha.Year] = item.Serial;
         }
     }
 }
        public void SetNextCode(Payment item)
        {
            if (!MaxSerials.ContainsKey(item.Fecha.Year))
            {
                MaxSerials.Add(item.Fecha.Year, 0);
            }

            int index = this.IndexOf(item);

            if (index == 0)
            {
                item.GetNewCode();
                MaxSerials[item.Fecha.Year] = item.Serial;
            }
            else
            {
                item.Serial = MaxSerials[item.Fecha.Year] + 1;
                item.Codigo = item.Serial.ToString(Resources.Defaults.PAGO_CODE_FORMAT);
                MaxSerials[item.Fecha.Year]++;
            }
        }