示例#1
0
        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;
        }
示例#2
0
 public async Task Create(TipoRelacion model)
 {
     try
     {
         _db.TipoRelacion.Add(model);
         await _db.SaveChangesAsync();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message, e);
     }
 }
示例#3
0
        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);
            }
        }
示例#4
0
        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);
            }
        }
示例#5
0
                                                          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)); }
                                                          }
示例#6
0
                                                          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)); }
                                                          }
示例#7
0
                                                          [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)); }
                                                          }