public Relacion(Tabla tablaPrincipal, Tabla tablaSecundaria, TipoRelacion tipo, string propiedadJoinPrincipal, string propiedadJoinSecundaria, string descripcion = "") { var id = string.Empty; switch (tipo) { case TipoRelacion.One: id = tablaPrincipal.Alias + "_" + propiedadJoinPrincipal + tablaSecundaria.Alias; var propiedadPrincipal = tablaPrincipal.Propiedades.Single(p => p.Nombre == propiedadJoinPrincipal); Descripcion = propiedadPrincipal.DescripcionRelacionFK; break; case TipoRelacion.Many: id = tablaPrincipal.Alias + tablaSecundaria.Alias + "_" + propiedadJoinSecundaria; var propiedadSecundaria = tablaSecundaria.Propiedades.Single(p => p.Nombre == propiedadJoinSecundaria); Descripcion = propiedadSecundaria.DescripcionRelacionPK; break; default: break; } Id = id.ToLower(); TablaPrincipal = tablaPrincipal; TablaSecundaria = tablaSecundaria; Tipo = tipo; PropiedadJoinPrincipal = propiedadJoinPrincipal; PropiedadJoinSecundaria = propiedadJoinSecundaria; }
public async Task Create(TipoRelacion model) { try { _db.TipoRelacion.Add(model); await _db.SaveChangesAsync(); } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task Update(TipoRelacion model) { try { var _model = await _db.TipoRelacion.FirstOrDefaultAsync(e => e.TipoRelacionId == model.TipoRelacionId); if (_model != null) { _db.Entry(_model).CurrentValues.SetValues(model); await _db.SaveChangesAsync(); } } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task UpdateEstado(TipoRelacion model) { try { var _model = await _db.TipoRelacion.FirstOrDefaultAsync(e => e.TipoRelacionId == model.TipoRelacionId); if (_model != null) { _model.Estado = model.Estado; await _db.SaveChangesAsync(); } } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task <IHttpActionResult> UpdateEstado([FromBody] TipoRelacion model) { try { log.Info(new MDCSet(this.ControllerContext.RouteData)); await _entityRepo.UpdateEstado(model); return(Ok()); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }
public async Task <IHttpActionResult> Update([FromBody] TipoRelacion model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { log.Info(new MDCSet(this.ControllerContext.RouteData)); await _entityRepo.Update(model); return(Ok("Registro actualizado exitosamente!")); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }
[Authorize] public async Task <IHttpActionResult> Create([FromBody] TipoRelacion model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { log.Info(new MDCSet(this.ControllerContext.RouteData)); await _entityRepo.Create(model); return(Ok("Registro creado exitosamente!")); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); if (e.Message.Substring(0, 44) == "An error occurred while updating the entries") { return(BadRequest("Ya existe un registro con ese nombre")); } return(InternalServerError(e)); } }