public void modificarContrato(int NumeroContrato, ConSeguridadFisica Contrato)
        {
            try
            {
                datos.modificarContrato(NumeroContrato, Contrato.getFechaIni(), Contrato.getFechaFin(), Contrato.GetCostoFijo(), Contrato.getHorasExtras(), Contrato.getPagaDescanso(), Contrato.getAjuste(), Contrato.getObservaciones(), Contrato.getMonto(), Contrato.getPagarExtrasDespuesDeHs(), Contrato.getHorasComunesDeterminadas(), Contrato.getHorasExPorDia());

                datos.eliminarLineasContrato(NumeroContrato);

                List<LineAshOrAs> lhs = new List<LineAshOrAs>();
                LineAshOrAs lh = null;
                int i = 0;
                foreach (LineaDeHoras ldh in Contrato.getLineas())
                {
                    lh = new LineAshOrAs();
                    lh.IDContrato = (uint)NumeroContrato;
                    lh.NroLinea = (sbyte)i;
                    lh.Puesto = ldh.getPuesto();
                    lh.Armado = (ldh.getArmado()) ? (sbyte)1 : (sbyte)0;
                    lh.Cantidad = (sbyte)ldh.getCantEmp();
                    lh.PrecioXhOra = ldh.getCostoH();

                    //pasar los horarios por dia
                    HoRaRioDiA hd = null;
                    foreach (HorarioXDia hpd in ldh.getHorario())
                    {
                        hd = new HoRaRioDiA();
                        hd.IDContrato = (uint)NumeroContrato;
                        hd.NroLinea = (sbyte)i;
                        hd.Dia = hpd.getDia();
                        hd.HoraIni = hpd.getHoraIni();
                        hd.HoraFin = hpd.getHoraFin();

                        lh.HoRaRioDiA.Add(hd);
                    }

                    lhs.Add(lh);
                    //con.LineAshOrAs.Add(lh);
                    i++;
                }

                datos.guardarLineasContrato(lhs);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }       
        public void altaContrato(int NumeroContrato, ConSeguridadFisica cont)
        {
            ContraToS con = null;
      
            con = new ContraToS();
            
            con.TipodeContrato=0;
            con.IDContratos = (uint)NumeroContrato;
            con.FechaIni = cont.getFechaIni();
            con.FechaFin = cont.getFechaFin();
            if (cont.GetCostoFijo())
                con.CostoFijo = 1;
            else
                con.CostoFijo = 0;
            if (cont.getHorasExtras())
            {
                con.HorasExtras = 1;
                con.PagarExtrasDespuesDeHs = (short)cont.getPagarExtrasDespuesDeHs().Value;                
            }
            else
                con.HorasExtras = 0;

            if (cont.getPagaDescanso())
                con.PagaDescanso = 1;
            else
                con.PagaDescanso = 0;
                
            con.Ajuste = cont.getAjuste();
            con.Observaciones = cont.getObservaciones();
            con.Costo = cont.getMonto();

            List<LineAshOrAs> lhs = new List<LineAshOrAs>();
            LineAshOrAs lh = null;            
            int i=0;
            foreach (LineaDeHoras ldh in cont.getLineas())
            {
                lh = new LineAshOrAs();
                lh.IDContrato = (uint)NumeroContrato;                
                lh.NroLinea = (sbyte)i;
                lh.Puesto = ldh.getPuesto();
                lh.Armado = (ldh.getArmado()) ? (sbyte)1 : (sbyte)0;
                lh.Cantidad = (sbyte)ldh.getCantEmp();
                lh.PrecioXhOra = ldh.getCostoH();
                
                //pasar los horarios por dia
                HoRaRioDiA hd = null;
                foreach (HorarioXDia hpd in ldh.getHorario())
                {
                    hd = new HoRaRioDiA();
                    hd.IDContrato = (uint)NumeroContrato;
                    hd.NroLinea = (sbyte)i;
                    hd.Dia = hpd.getDia();
                    hd.HoraIni = hpd.getHoraIni();
                    hd.HoraFin = hpd.getHoraFin();

                    lh.HoRaRioDiA.Add(hd);
                }
                
                lhs.Add(lh);
                //con.LineAshOrAs.Add(lh);
                i++;
            }

            HoRaSComUnescoNtRatOs HsExt = null;
            con.HorasComunesDeterminadas = (cont.getHorasComunesDeterminadas()) ? (sbyte)1 : (sbyte)0;
            if (cont.getHorasComunesDeterminadas())
            {
                string[] heXdia = cont.getHorasExPorDia();

                HsExt = new HoRaSComUnescoNtRatOs();
                HsExt.IDContraToS = (uint)NumeroContrato;
                HsExt.Lunes = heXdia[0];
                HsExt.Martes = heXdia[1];
                HsExt.Miercoles = heXdia[2];
                HsExt.Jueves = heXdia[3];
                HsExt.Viernes = heXdia[4];
                HsExt.Sabado = heXdia[5];
                HsExt.Domingo = heXdia[6];
            }
            datos.altaContrato(con, lhs, HsExt);
        }