protected internal override void Antes()
 {
     string codigo = "";
     SUBTIPOS oldTipoPro = ctx.SUBTIPOS.Where(t=> t.COD_TIP == oDto.COD_TIP).OrderByDescending(t => t.COD_TIP).OrderByDescending(t=> t.COD_STIP).FirstOrDefault();
     if (oldTipoPro == null) codigo = oDto.COD_TIP + "001";
     else
     {
         string cod = (int.Parse(oldTipoPro.COD_STIP.Substring(2,3)) + 1).ToString();
         int tamaño = cod.Length;
         for (int i = 1; i <= 3 - tamaño; i++)
         {
             cod = "0" + cod;
         }
         codigo = oDto.COD_TIP + cod;
     }
     oDto.COD_STIP = codigo;
     ep = new SUBTIPOS();
     Mapper.Map(oDto, ep);
     ctx.SUBTIPOS.Add(ep);
     byaRpt.id = ep.COD_STIP.ToString();
 }
 protected internal override bool esValido()
 {
     ep = ctx.SUBTIPOS.Where(t => t.COD_STIP == oDto.COD_STIP).FirstOrDefault();
     if (ep == null) return false;
     else return true;
 }