public int grabarCalle(DETALLE_CARACTERISTICA objDetalle, int pistas, int orientacion, int velocidadMaxima, int sentido, int sector, int tipoCalle, int tipo, String estado)
        {
            int validacion = 0;
            int idCalle = 0;
            using (SRI con = new SRI())
            {
                try
                {
                    if (tipo > 0)
                    {
                        VIA_CIRCULACION via = new VIA_CIRCULACION();
                        via = con.VIA_CIRCULACION.Where(v => v.ID_VIA_CIRCULACION == tipo).FirstOrDefault();
                        via.ACTIVO = estado;
                        via.CANT_PISTAS = pistas;
                        via.ID_ORIENTACION = orientacion;
                        via.ID_VELOC_MAXIMA = velocidadMaxima;
                        via.ID_SENTIDO = sentido;
                        via.ID_SECTOR = sector;
                        via.ID_TIPO_CALLE = tipoCalle;
                        con.SaveChanges();
                         idCalle =  DaoDetalleCaracteristica.instancia.actualizarCalle((int)via.ID_NOMBRE_CALLE,objDetalle.DETALLE_CAR);
                        validacion = 2;
                    }
                    else
                    {
                        idCalle = DaoDetalleCaracteristica.instancia.CrearDetalleCaracteristica(objDetalle);

                        VIA_CIRCULACION objVia = new VIA_CIRCULACION();
                        int idVia = RetornarNuevoId();
                        objVia.ACTIVO = estado;
                        objVia.CANT_PISTAS = pistas;
                        objVia.ID_ORIENTACION = orientacion;
                        objVia.ID_VELOC_MAXIMA = velocidadMaxima;
                        objVia.ID_SENTIDO = sentido;
                        objVia.ID_SECTOR = sector;
                        objVia.ID_TIPO_CALLE = tipoCalle;
                        objVia.ID_VIA_CIRCULACION = idVia;
                        objVia.ID_NOMBRE_CALLE = idCalle;
                        con.VIA_CIRCULACION.AddObject(objVia);
                        con.SaveChanges();
                        validacion = 1;
                    }
                  }

                catch (Exception e)
                {
                    validacion = 0;
                }

            }
            return validacion;
        }
 public int CrearDetalleCaracteristica(DETALLE_CARACTERISTICA dto)
 {
     try
        {
        using (SRI sri = new SRI())
        {
            int idCaracteristica = RetornarNuevoId();
            dto.ID_DETCAR = idCaracteristica;
            sri.DETALLE_CARACTERISTICA.AddObject(dto);
            sri.SaveChanges();
            return idCaracteristica;
        }
        }
        catch (Exception e)
        {
        return 0;
        }
 }
        public int actualizarCalle(int tipo, String nombreCalle)
        {
            try
               {
               using (SRI sri = new SRI())
               {
                   DETALLE_CARACTERISTICA objDetalle = new DETALLE_CARACTERISTICA();
                   objDetalle = sri.DETALLE_CARACTERISTICA.Where(d => d.ID_DETCAR == tipo).FirstOrDefault();
                   objDetalle.DETALLE_CAR = nombreCalle;
                   sri.SaveChanges();
                   return 1;

               }
               }
               catch (Exception e)
               {
               return 0;
               }
        }
 public int crearInfraccion(INFRACCION objinfrac, String descripcion, int tipo)
 {
     try
     {
         using (SRI con = new SRI())
         {
             if (tipo > 0)
             {
                 INFRACCION infra = new INFRACCION();
                 infra = con.INFRACCION.Where(i => i.ID_INFRACCION == tipo).FirstOrDefault();
                 infra.ID_GRAVEDAD = objinfrac.ID_GRAVEDAD;
                 infra.MONTO = objinfrac.MONTO;
                 infra.ID_TIPO_MONEDA = objinfrac.ID_TIPO_MONEDA;
                 infra.PUNTAJE_GRAV = objinfrac.PUNTAJE_GRAV;
                 con.SaveChanges();
                 DETALLE_CARACTERISTICA deta = new DETALLE_CARACTERISTICA();
                 deta = con.DETALLE_CARACTERISTICA.Where(d => d.ID_DETCAR == infra.ID_DETALLE_INFRACCION).FirstOrDefault();
                 deta.DETALLE_CAR = descripcion;
                 con.SaveChanges();
                 return 2;
             }
             else
             {
                 DETALLE_CARACTERISTICA objdetalle = new DETALLE_CARACTERISTICA();
                 objdetalle.DETALLE_CAR = descripcion;
                 objdetalle.ID_CARACTERISTICA = 9;
                 objinfrac.ID_DETALLE_INFRACCION = DaoDetalleCaracteristica.instancia.CrearDetalleCaracteristica(objdetalle);
                 objinfrac.ID_INFRACCION = retornarNuevoId();
                 con.INFRACCION.AddObject(objinfrac);
                 con.SaveChanges();
                 return 1;
             }
         }
     }
     catch (Exception e)
     {
         return 0;
     }
 }
 public int CreaDetalleCaracteristica(DETALLE_CARACTERISTICA dto)
 {
     return DaoDetalleCaracteristica.instancia.CrearDetalleCaracteristica(dto);
 }
 public int CreaCalle(DETALLE_CARACTERISTICA dto, int pista, int orientacion, int velocidadMaxima, int sentido, int sector, int tipoCalle, int tipo, String estado)
 {
     return DaoViaCirculacion.instancia.grabarCalle(dto, pista, orientacion, velocidadMaxima, sentido, sector, tipoCalle,tipo, estado);
 }
 /// <summary>
 /// Método desusado para agregar un nuevo objeto al EntitySet DETALLE_CARACTERISTICA. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet&lt;T&gt; asociada.
 /// </summary>
 public void AddToDETALLE_CARACTERISTICA(DETALLE_CARACTERISTICA dETALLE_CARACTERISTICA)
 {
     base.AddObject("DETALLE_CARACTERISTICA", dETALLE_CARACTERISTICA);
 }
 /// <summary>
 /// Crear un nuevo objeto DETALLE_CARACTERISTICA.
 /// </summary>
 /// <param name="iD_DETCAR">Valor inicial de la propiedad ID_DETCAR.</param>
 /// <param name="dETALLE_CAR">Valor inicial de la propiedad DETALLE_CAR.</param>
 /// <param name="iD_CARACTERISTICA">Valor inicial de la propiedad ID_CARACTERISTICA.</param>
 public static DETALLE_CARACTERISTICA CreateDETALLE_CARACTERISTICA(global::System.Decimal iD_DETCAR, global::System.String dETALLE_CAR, global::System.Decimal iD_CARACTERISTICA)
 {
     DETALLE_CARACTERISTICA dETALLE_CARACTERISTICA = new DETALLE_CARACTERISTICA();
     dETALLE_CARACTERISTICA.ID_DETCAR = iD_DETCAR;
     dETALLE_CARACTERISTICA.DETALLE_CAR = dETALLE_CAR;
     dETALLE_CARACTERISTICA.ID_CARACTERISTICA = iD_CARACTERISTICA;
     return dETALLE_CARACTERISTICA;
 }
        protected void btnGuardarAC_Click(object sender, EventArgs e)
        {
            int n = 0;
            if (txtNombreCalle.Text == "" || txtNombreCalle.Text == null)
            {
                txtNombreCalle.BorderColor = System.Drawing.Color.Red;
                txtNombreCalle.BorderWidth = 1;
                n = 1;
            }
            else
            {
                txtNombreCalle.BorderColor = System.Drawing.Color.LightGray;
                txtNombreCalle.BorderWidth = 1;
                n = 0;
            }
            if (ddlistNumPistas.SelectedIndex == 0)
            {

                ddlistNumPistas.BorderColor = System.Drawing.Color.Red;
                n = 1;
            }
            else
            {
                ddlistNumPistas.BorderColor = System.Drawing.Color.LightGray;
                ddlistNumPistas.BorderWidth = 1;
                n = 0;
            }
            if (ddlistOrient.SelectedIndex == 0)
            {

                ddlistOrient.BorderColor = System.Drawing.Color.Red;
                n = 1;
            }
            else
            {
                ddlistOrient.BorderColor = System.Drawing.Color.LightGray;
                ddlistOrient.BorderWidth = 1;
                n = 0;
            }
            if (ddlistVelMax.SelectedIndex == 0)
            {

                ddlistVelMax.BorderColor = System.Drawing.Color.Red;
                n = 1;
            }
            else
            {
                ddlistVelMax.BorderColor = System.Drawing.Color.LightGray;
                ddlistVelMax.BorderWidth = 1;
                n = 0;
            }
            if (ddlistSentido.SelectedIndex == 0)
            {

                ddlistSentido.BorderColor = System.Drawing.Color.Red;
                n = 1;
            }
            else
            {
                ddlistSentido.BorderColor = System.Drawing.Color.LightGray;
                ddlistSentido.BorderWidth = 1;
                n = 0;
            }
            if (ddlistSector.SelectedIndex == 0)
            {

                ddlistSector.BorderColor = System.Drawing.Color.Red;
                n = 1;
            }
            else
            {
                ddlistSector.BorderColor = System.Drawing.Color.LightGray;
                ddlistSector.BorderWidth = 1;
                n = 0;
            }
            if (ddlistTipoCalle.SelectedIndex == 0)
            {

                ddlistTipoCalle.BorderColor = System.Drawing.Color.Red;
                n = 1;
            }
            else
            {
                ddlistTipoCalle.BorderColor = System.Drawing.Color.LightGray;
                ddlistTipoCalle.BorderWidth = 1;
                n = 0;
            }

            if (n == 1)
            {
                lblInfoAC.Visible = true;
                lblInfoAC.Text = "Los campos en Rojo son obligatorios";
                lblInfoAC.ForeColor = System.Drawing.Color.Red;
            }
            else
            {
                if (NegocioAdministrador.instancia.existeCalle(txtNombreCalle.Text) || Convert.ToInt32(txtNuevo.Text) > 0)
                {
                    DETALLE_CARACTERISTICA objCarac = new DETALLE_CARACTERISTICA();
                    int newPersonal = 0;
                    objCarac.DETALLE_CAR = txtNombreCalle.Text;
                    objCarac.ID_CARACTERISTICA = 10;
                    String estado = "1";
                    if (chkActivoACa.Checked)
                        estado = "1";
                    else
                        estado = "0";

                        newPersonal = NegocioAdministrador.instancia.CreaCalle(objCarac, Convert.ToInt32(ddlistNumPistas.SelectedValue), Convert.ToInt32(ddlistOrient.SelectedValue), Convert.ToInt32(ddlistVelMax.SelectedValue), Convert.ToInt32(ddlistSentido.SelectedValue), Convert.ToInt32(ddlistSector.SelectedValue), Convert.ToInt32(ddlistTipoCalle.SelectedValue), Convert.ToInt32(txtNuevo.Text), estado);

                    if (newPersonal == 1 || newPersonal == 2)
                    {
                        txtNombreCalle.Text = "";
                        ddlistSector.SelectedIndex = 0;
                        ddlistNumPistas.SelectedIndex = 0;
                        ddlistOrient.SelectedIndex = 0;
                        ddlistSentido.SelectedIndex = 0;
                        ddlistTipoCalle.SelectedIndex = 0;
                        ddlistVelMax.SelectedIndex = 0;
                        chkActivoACa.Checked = true;
                        txtNuevo.Text = "0";
                        lblInfoAC.ForeColor = System.Drawing.Color.Gray;
                        if (newPersonal == 2)
                            lblInfoAC.Text = "Los Datos han sido actualizado exitosamente";
                        if (newPersonal == 1)
                            lblInfoAC.Text = "Los Datos han sido guardados exitosamente";

                        lblInfoAC.Visible = true;

                        gvCalles.DataSource = NegocioReporteria.Instancia.ListarCalles();
                        gvCalles.DataBind();

                    }
                    else
                    {
                        lblInfoAC.ForeColor = System.Drawing.Color.Red;
                        lblInfoAC.Text = "Los Datos no han sido guardados";
                        lblInfoAC.Visible = true;
                    }

                }
            }
        }