public async Task <ActionResult> Create(FormCollection collection)
        {
            try
            {
                Corrales corral = new Corrales
                {
                    Nombre_corral      = collection.Get("Nombre_corral"),
                    Descripcion_corral = collection.Get("Descripcion_corral"),
                    Estado_corral      = "ACTIVO",
                };

                Response response =
                    await apiService.Post <Corrales>("https://localhost:44381/", "Corrales/", "CrearCorral", corral);

                if (response.IsSuccess)
                {
                    return(View(response.Result));
                }
                else
                {
                    return(View());
                }
            }
            catch
            {
                return(View());
            }
        }
        public async Task <(string rpta, string modelJson)> InsertCorral(Corrales corral)
        {
            try
            {
                var(rpta, id) = await DCorrales.InsertarCorral(corral);

                if (rpta.Equals("OK"))
                {
                    corral.Id_corral = id;
                    var json = JsonConvert.SerializeObject(corral);
                    return(rpta, json);
                }
                else
                {
                    if (!rpta.Equals("OK"))
                    {
                        throw new Exception(rpta);
                    }

                    return(rpta, null);
                }
            }
            catch (Exception ex)
            {
                errores.Add(ex.Message);
                return(ex.Message, null);
            }
        }
        public async Task <ActionResult> CrearCorral(Corrales corral)
        {
            try
            {
                var(rpta, jsonModel) = await repository.InsertCorral(corral);

                if (rpta.Equals("OK"))
                {
                    return(Content(jsonModel, "application/json", System.Text.Encoding.UTF8));
                }
                else
                {
                    return(Content("{}", "application/json", System.Text.Encoding.UTF8));
                }
            }
            catch
            {
                return(Content("{}", "application/json", System.Text.Encoding.UTF8));
            }
        }
示例#4
0
        public async Task <(string rpta, int id_corral)> InsertarCorral(Corrales corral)
        {
            int    id_corral = 0;
            string consulta  = "INSERT INTO Corrales VALUES (@Nombre_corral, @Descripcion_corral, @Estado_corral) " +
                               "SET @Id_corral = SCOPE_IDENTITY(); ";

            //asignamos a una cadena string la variable rpta y la iniciamos en vacía
            string        rpta   = "";
            SqlConnection SqlCon = new SqlConnection();

            SqlCon.InfoMessage += new SqlInfoMessageEventHandler(SqlCon_InfoMessage);
            SqlCon.FireInfoMessageEventOnUserErrors = true;
            //Capturador de errores
            try
            {
                SqlCon.ConnectionString = Connection.Cn;
                await SqlCon.OpenAsync();

                //Establecer comando
                SqlCommand SqlCmd = new SqlCommand
                {
                    Connection  = SqlCon,
                    CommandText = consulta,
                    CommandType = CommandType.Text,
                };

                SqlParameter Id_corral = new SqlParameter
                {
                    ParameterName = "@Id_corral",
                    SqlDbType     = SqlDbType.Int,
                    Direction     = ParameterDirection.Output,
                };
                SqlCmd.Parameters.Add(Id_corral);

                SqlParameter Nombre_corral = new SqlParameter
                {
                    ParameterName = "@Nombre_corral",
                    SqlDbType     = SqlDbType.VarChar,
                    Size          = 50,
                    Value         = corral.Nombre_corral,
                };
                SqlCmd.Parameters.Add(Nombre_corral);

                SqlParameter Descripcion_corral = new SqlParameter
                {
                    ParameterName = "@Descripcion_corral",
                    SqlDbType     = SqlDbType.VarChar,
                    Size          = 200,
                    Value         = corral.Descripcion_corral,
                };
                SqlCmd.Parameters.Add(Descripcion_corral);


                SqlParameter Estado_corral = new SqlParameter
                {
                    ParameterName = "@Estado_corral",
                    SqlDbType     = SqlDbType.VarChar,
                    Size          = 50,
                    Value         = corral.Estado_corral,
                };
                SqlCmd.Parameters.Add(Estado_corral);

                //Ejecutamos nuestro comando
                //Se puede ejecutar este metodo pero ya tenemos el mensaje que devuelve sql
                rpta = SqlCmd.ExecuteNonQuery() >= 1 ? "OK" : "NO se Ingreso el Registro";

                if (!rpta.Equals("OK"))
                {
                    if (this.Mensaje_respuesta != null)
                    {
                        rpta = this.Mensaje_respuesta;
                    }
                }
                else
                {
                    id_corral = Convert.ToInt32(SqlCmd.Parameters["@Id_corral"].Value);
                }
            }
            //Mostramos posible error que tengamos
            catch (SqlException ex)
            {
                rpta = ex.Message;
            }
            catch (Exception ex)
            {
                rpta = ex.Message;
            }
            finally
            {
                //Si la cadena SqlCon esta abierta la cerramos
                if (SqlCon.State == ConnectionState.Open)
                {
                    SqlCon.Close();
                }
            }
            return(rpta, id_corral);
        }