private void HoRaRioEScalaFOn_Detach(HoRaRioEScalaFOn entity)
		{
			entity.EScalaFOneMpLeadO = null;
		}
		private void HoRaRioEScalaFOn_Detach(HoRaRioEScalaFOn entity)
		{
			entity.EmPleadOs = null;
		}
		private void HoRaRioEScalaFOn_Attach(HoRaRioEScalaFOn entity)
		{
			entity.EScalaFOneMpLeadO = this;
		}
		private void HoRaRioEScalaFOn_Attach(HoRaRioEScalaFOn entity)
		{
			entity.EmPleadOs = this;
		}
		private void HoRaRioEScalaFOn_Detach(HoRaRioEScalaFOn entity)
		{
			entity.TipOsDiAs = null;
		}
		private void HoRaRioEScalaFOn_Attach(HoRaRioEScalaFOn entity)
		{
			entity.TipOsDiAs = this;
		}
        public void modificarEscalafon(int nroEsc, Escalafon es)
        {
            try
            {
                datos.SetearCubierto(nroEsc, es.Cubierto);

                datos.eliminarLineasEscalafon(nroEsc);

                List<EScalaFOneMpLeadO> lhs = new List<EScalaFOneMpLeadO>();
                EScalaFOneMpLeadO lh = null;
                int i = 0;
                foreach (EscalafonEmpleado ldh in es.ListaEscalafonEmpleados)
                {
                    lh = new EScalaFOneMpLeadO();
                    lh.IDEscalafon = (uint)nroEsc;
                    lh.IDEscalafonEmpleado = (uint)i;
                    lh.NroEmpleado = (uint)ldh.NroEmpleado;
                    lh.CodigoPuesto = ldh.CodigoPuesto;
                    lh.HsLlamadaAntesHoraInicio = (sbyte)ldh.CantidadHsLlamadaAntesHoraInicio;
                    lh.AcArgoDe = ldh.AcargoDe;                   

                    //pasar los horarios por dia
                    HoRaRioEScalaFOn hd = null;
                  
                    foreach (HorarioEscalafon hpd in ldh.Horario)
                    {
                        hd = new HoRaRioEScalaFOn();
                        hd.IDEscalafon = (uint)nroEsc;
                        hd.IDEscalafonEmpleado = (uint)i;
                        hd.NroEmpleado = (uint)ldh.NroEmpleado;
                        if (hpd.EsLaborable())
                        {
                            hd.DiA = hpd.getDia();
                            hd.HoRaInI = hpd.getHoraIni();
                            hd.HoRaFIn = hpd.getHoraFin();
                            hd.TipoDia = 0;
                            hd.Solapa = (hpd.Solapea()) ? (sbyte)1 : (sbyte)0;
                        }
                        else
                        {
                            hd.DiA = hpd.getDia();
                            hd.TipoDia = (byte)hpd.getTipoDia();
                            hd.Solapa = 0;
                        }

                        lh.HoRaRioEScalaFOn.Add(hd);


                        //HORARIOS EMPLEADOS
                        //he = new HoRaRioSEmPleadOs();
                        //he.NroEmpleado = (uint)ldh.NroEmpleado;
                        //he.IDEscalafon = (uint)nroEsc;
                        //he.IDEscalafonEmpleado = (uint)i;
                        //he.Dia = hpd.getDia();
                        //he.TipoDia = (byte)hpd.getTipoDia();
                        //he.Solapa = (hpd.Solapea()) ? (sbyte)1 : (sbyte)0;

                        //datos.altaHorEmpleado(he);
                    }

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

                datos.guardarLineasEscalafon(lhs);
                
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public void altaEscalafon(int numCli, int numSer, int nroCon, Escalafon es)
        {
            try
            {
                EScalaFOn esc = null;

                esc = new EScalaFOn();
                esc.NumeroCliente = (uint)numCli;
                esc.NumeroServicio = (uint)numSer;
                esc.IDContrato = (uint)nroCon;
                esc.IDEscalafon = (uint)nroCon;

                if (es.Cubierto)
                    esc.Cubierto = 1;
                else
                    esc.Cubierto = 0;

                List<EScalaFOneMpLeadO> lhs = new List<EScalaFOneMpLeadO>();
                EScalaFOneMpLeadO lh = null;
                int i = 0;
                foreach (EscalafonEmpleado ldh in es.ListaEscalafonEmpleados)
                {
                    lh = new EScalaFOneMpLeadO();
                    lh.IDEscalafon = (uint)nroCon;
                    lh.IDEscalafonEmpleado = (uint)i;
                    lh.NroEmpleado = (uint)ldh.NroEmpleado;
                    lh.CodigoPuesto = ldh.CodigoPuesto;
                    lh.HsLlamadaAntesHoraInicio = (sbyte)ldh.CantidadHsLlamadaAntesHoraInicio;
                    lh.AcArgoDe = ldh.AcargoDe;

                    //pasar los horarios por dia
                    HoRaRioEScalaFOn hd = null;
                    //HoRaRioSEmPleadOs he = null;
                    foreach (HorarioEscalafon hpd in ldh.Horario)
                    {
                        hd = new HoRaRioEScalaFOn();
                        hd.IDEscalafon = (uint)nroCon;
                        hd.IDEscalafonEmpleado = (uint)i;
                        hd.NroEmpleado = (uint)ldh.NroEmpleado;
                        if (hpd.EsLaborable())
                        {
                            hd.DiA = hpd.getDia();
                            hd.HoRaInI = hpd.getHoraIni();
                            hd.HoRaFIn = hpd.getHoraFin();
                            hd.TipoDia = 0;
                            hd.Solapa = (hpd.Solapea()) ? (sbyte)1 : (sbyte)0;
                        }
                        else
                        {
                            hd.DiA = hpd.getDia();
                            hd.TipoDia = (byte)hpd.getTipoDia();
                            hd.Solapa = 0;
                        }

                        lh.HoRaRioEScalaFOn.Add(hd);

                        //HORARIOS EMPLEADOS
                        //he = new HoRaRioSEmPleadOs();
                        //he.NroEmpleado = (uint)ldh.NroEmpleado;
                        //he.IDEscalafon = (uint)nroCon;
                        //he.IDEscalafonEmpleado = (uint)i;
                        //he.Dia = hpd.getDia();
                        //he.TipoDia = (byte)hpd.getTipoDia();
                        //he.Solapa = (hpd.Solapea()) ? (sbyte)1 : (sbyte)0;

                        //datos.altaHorEmpleado(he);
                    }

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

                datos.altaEscalafon(esc, lhs);
            }
            catch (Exception ex)
            {
              
                throw ex;
            }
        }