Beispiel #1
0
        public IActionResult Delete(string tabla, int id)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    //instanciamos la RN
                    dynamic rn = CUtilsApi.GetInstance("Integrate.SisMed.Api.Services.Dal.Modelo.Rn" + tabla);
                    if (rn == null)
                    {
                        return(BadRequest());
                    }

                    //instanciamos la Entidad
                    dynamic obj = CUtilsApi.GetInstance("Integrate.SisMed.Api.BusinessObjects.Ent" + tabla);
                    if (obj == null)
                    {
                        return(BadRequest());
                    }

                    //Verificamos que el objeto exista
                    obj = rn.ObtenerObjeto(id);
                    if (obj == null)
                    {
                        return(NotFound());
                    }

                    rn.Delete(obj, true);
                    return(new OkResult());
                }
                return(BadRequest());
            }
            catch (Exception exp)
            {
                var strMensaje    = "";
                var strCausa      = "";
                var strAccion     = "";
                var strComentario = "";
                var strOrigen     = "";
                CUtilsApi.CargarError(exp, out strMensaje, out strCausa, out strAccion, out strComentario, out strOrigen);
                return(BadRequest(new
                {
                    error = strMensaje,
                    causa = strCausa,
                    accion = strAccion,
                    comentario = strComentario,
                    origen = strOrigen
                }));
            }
        }
Beispiel #2
0
        public IActionResult Get(string id, int idValue)
        {
            try
            {
                //instanciamos la RN
                dynamic rn = CUtilsApi.GetInstance("Integrate.SisMed.Api.Services.Dal.Modelo.Rn" + id);
                if (rn == null)
                {
                    return(BadRequest());
                }

                var result = rn.ObtenerObjeto(idValue);

                //var formattedCustomObject = JsonConvert.SerializeObject(result, Formatting.Indented);
                //return Ok(formattedCustomObject);

                //En Startup.cs ConfigureServices se define el JSON por defecto
                //KB: https://stackoverflow.com/questions/42360139/asp-net-core-return-json-with-status-code
                return(Ok(result));
            }
            catch (Exception exp)
            {
                var strMensaje    = "";
                var strCausa      = "";
                var strAccion     = "";
                var strComentario = "";
                var strOrigen     = "";
                CUtilsApi.CargarError(exp, out strMensaje, out strCausa, out strAccion, out strComentario, out strOrigen);
                return(BadRequest(new
                {
                    error = strMensaje,
                    causa = strCausa,
                    accion = strAccion,
                    comentario = strComentario,
                    origen = strOrigen
                }));
            }
        }
Beispiel #3
0
        public IActionResult Update(int id, [FromBody] JObject value)
        {
            try
            {
                if (value == null)
                {
                    return(BadRequest());
                }

                if (ModelState.IsValid)
                {
                    dynamic jsonData    = value;
                    string  nombreTabla = jsonData.nombre;
                    JObject datos       = jsonData.datos;

                    //instanciamos la RN
                    dynamic rn = CUtilsApi.GetInstance("Integrate.SisMed.Api.Services.Dal.Modelo.Rn" + nombreTabla);
                    if (rn == null)
                    {
                        return(BadRequest());
                    }

                    //instanciamos la Entidad
                    dynamic obj = CUtilsApi.GetInstance("Integrate.SisMed.Api.BusinessObjects.Ent" + nombreTabla);
                    if (obj == null)
                    {
                        return(BadRequest());
                    }

                    //Verificamos que el objeto exista
                    obj = rn.ObtenerObjeto(id);
                    if (obj == null)
                    {
                        return(NotFound());
                    }

                    //Apropiamos valores
                    foreach (JProperty property in datos.Properties())
                    {
                        obj.GetType().GetProperty(property.Name).SetValue(obj,
                                                                          rn.GetColumnType(property.Value.ToString(), property.Name.ToString()), null);
                    }

                    rn.Update(obj, true);
                    return(new OkResult());
                }
                return(BadRequest());
            }
            catch (Exception exp)
            {
                var strMensaje    = "";
                var strCausa      = "";
                var strAccion     = "";
                var strComentario = "";
                var strOrigen     = "";
                CUtilsApi.CargarError(exp, out strMensaje, out strCausa, out strAccion, out strComentario, out strOrigen);
                return(BadRequest(new
                {
                    error = strMensaje,
                    causa = strCausa,
                    accion = strAccion,
                    comentario = strComentario,
                    origen = strOrigen
                }));
            }
        }