/// <summary> /// Edita el registro del colectivo urbano especificado /// </summary> /// <param name="linea">Nombre de la linea</param> /// <param name="id">ID del registro a editar</param> /// <param name="ciudad_id">ID de la ciudad a la que pertenece el colectivo urbano</param> public void Editar(string linea, int id, int ciudad_id) { if (string.IsNullOrEmpty(linea)) { throw new Exception("La línea no puede estar vacía"); } Ciudad oCiudad = ciudades.BuscarPorId(ciudad_id); Urbano oUrbano = _urbanos.BuscarPorId(id), previo = _urbanos.BuscarPorNombre(linea).Find(p => p.Ciudad.Id == ciudad_id); if (previo != null) { throw new Exception("Otra linea en esa ciudad ya uso esa identificación"); } if (oUrbano == null) { throw new Exception("No existe linea con ese ID"); } if (oCiudad == null) { throw new Exception("No existe ciudad con ese ID"); } oUrbano.Linea = linea; oUrbano.Ciudad = oCiudad; _urbanos.Editar(oUrbano); }
protected void grdUrbanos_RowCommand(object sender, GridViewCommandEventArgs e) { _wrapperError.Style.Add("display", "none"); try { int id = Convert.ToInt32(grdUrbanos.DataKeys[Convert.ToInt32(e.CommandArgument.ToString())].Value.ToString()); switch (e.CommandName.ToString()) { case "comandoEdicion": Urbano oUrbano = _controladora.BuscarPorId(id); txtLinea.Text = oUrbano.Linea; ddlCiudades.SelectedValue = oUrbano.Ciudad.Id.ToString(); idEdicion.Value = id.ToString(); ScriptManager.RegisterStartupScript(this, this.GetType(), "none", "<script>$('#carga').modal('show');</script>", false); break; case "comandoBorrado": _controladora.Desactivar(id); this.Bind(); break; case "comandoRestitucion": _controladora.Reactivar(id); this.Bind(); break; } } catch (Exception ex) { this.MostrarError(ex.Message); } }
/// <summary> /// Marca como borrado el colectivo urbano especificado /// </summary> /// <param name="id">ID del colectivo urbano a borrar</param> public void Desactivar(int id) { Urbano oUrbano = _urbanos.BuscarPorId(id); if (oUrbano == null) { throw new Exception("No existe linea con ese ID"); } _urbanos.Desactivar(id); }
/// <summary> /// Busca el colectivo urbano activo con el ID especificado /// </summary> /// <param name="id">ID del colectivo urbano a buscar</param> /// <returns>Devuelve un objeto urbano</returns> public Urbano BuscarPorIdActivo(int id) { Urbano oUrbano = _urbanos.BuscarPorIdActivo(id); if (oUrbano == null) { throw new Exception("No existe linea activa con ese ID"); } return(oUrbano); }
/// <summary> /// Marca como activo el colectivo urbano especificado /// </summary> /// <param name="id">ID del establecimiento a activar</param> public void Reactivar(int id) { Urbano oUrbano = _urbanos.BuscarPorId(id); if (oUrbano == null) { throw new Exception("No existe linea con ese ID"); } if (DateTime.Compare(oUrbano.Ciudad.Borrado, DateTime.Now) < 0) { throw new Exception("No se puede activar un colectivo urbano cuya ciudad está desactivada"); } _urbanos.Reactivar(id); }
/// <summary> /// Emite un boleto y lo persiste en la DB /// </summary> /// <param name="rol_id">ID del rol que quiere sacar el boleto</param> /// <param name="urbano_id">ID de la linea </param> /// <returns>Devuelve el ID del boleto emitido</returns> public int EmitirBoleto(int rol_id, int urbano_id) { Rol oRol = roles.BuscarPorIdActivo(rol_id); Urbano oUrbano = urbanos.BuscarPorIdActivo(urbano_id); if (oRol == null || oRol.Tipo.Id != 1) { throw new Exception("No existe rol estudiante activo con el id especificado"); } if (oUrbano == null) { throw new Exception("No existe linea urbana activa con el id especificado"); } Boleto oBoleto = new Boleto(oUrbano, oRol); return(_boletos.Agregar(oBoleto)); }
/// <summary> /// Crea un nuevo objeto urbano y lo persiste /// </summary> /// <param name="linea">Nombre de la linea</param> /// <param name="ciudad_id">ID de la ciudad a la que pertenece el colectivo urbano</param> public void Nuevo(string linea, int ciudad_id) { if (string.IsNullOrEmpty(linea)) { throw new Exception("La línea no puede estar vacía"); } Ciudad oCiudad = ciudades.BuscarPorId(ciudad_id); Urbano previo = _urbanos.BuscarPorNombre(linea).Find(p => p.Ciudad.Id == ciudad_id), oUrbano; if (oCiudad == null) { throw new Exception("No existe ciudad con ese ID"); } if (previo != null) { throw new Exception("Otra linea en esa ciudad ya uso esa identificación"); } oUrbano = new Urbano(linea, oCiudad); _urbanos.Agregar(oUrbano); }