public Respuesta GetDepartmentById([FromUri] int Id)
        {
            Respuesta respuesta = new Respuesta();

            try
            {
                using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["CheckerDB"].ConnectionString))
                {
                    connection.Open();
                    SqlTransaction transaction = connection.BeginTransaction();
                    SqlCommand     cmd         = new SqlCommand("SELECT * FROM tbl_departamentos WHERE id = @Id", connection, transaction);
                    cmd.CommandType = CommandType.Text;

                    cmd.Parameters.Add(new SqlParameter("@Id", Id));

                    using (var rdr = cmd.ExecuteReader())
                    {
                        tbl_departamentos department = new tbl_departamentos
                        {
                            id     = int.Parse(rdr[nameof(tbl_departamentos.id)].ToString()),
                            nombre = rdr[nameof(tbl_departamentos.nombre)].ToString(),
                            id_usuario_registro  = GetNullable <int>(rdr, nameof(tbl_departamentos.id_usuario_registro)),
                            fecha_registro       = DateTime.Parse(rdr[nameof(tbl_departamentos.fecha_registro)].ToString()),
                            anulado              = GetNullable <bool>(rdr, nameof(tbl_departamentos.anulado)),
                            fecha_anulacion      = GetNullable <DateTime>(rdr, nameof(tbl_departamentos.fecha_anulacion)),
                            id_usuario_anulacion = GetNullable <int>(rdr, nameof(tbl_departamentos.id_usuario_anulacion))
                        };
                        rdr.Close();

                        respuesta.resultado = 1;
                        respuesta.mensaje   = "Operación exitosa";
                        respuesta.data      = department;
                    }
                }
            }
            catch (Exception ex)
            {
                respuesta.resultado = 0;
                respuesta.mensaje   = ex.Message;
                respuesta.data      = ex;
            }

            return(respuesta);
        }
        public Respuesta InsertDepartment([FromBody] tbl_departamentos departamento)
        {
            Respuesta respuesta = new Respuesta();

            try
            {
                using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["CheckerDB"].ConnectionString))
                {
                    connection.Open();
                    SqlTransaction transaction = connection.BeginTransaction();
                    SqlCommand     cmd         = new SqlCommand("Checker.InsertDepartment", connection, transaction);
                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.Add(new SqlParameter("@Name", departamento.nombre));
                    cmd.Parameters.Add(new SqlParameter("@IdUserRegistrator", departamento.id_usuario_registro));
                    cmd.Parameters.Add(new SqlParameter("@Canceled", departamento.anulado));
                    cmd.Parameters.Add(new SqlParameter("@CanceledDate", departamento.fecha_anulacion));
                    cmd.Parameters.Add(new SqlParameter("@IdUserCanceled", departamento.id_usuario_anulacion));

                    cmd.Parameters.Add(new SqlParameter("@Id", SqlDbType.Int)
                    {
                        Direction = ParameterDirection.ReturnValue
                    });

                    cmd.ExecuteNonQuery();
                    transaction.Commit();

                    respuesta.resultado = 1;
                    respuesta.mensaje   = "Operación exitosa";
                    respuesta.data      = (int)cmd.Parameters["@Id"].Value;
                }
            }
            catch (Exception ex)
            {
                respuesta.resultado = 0;
                respuesta.mensaje   = ex.Message;
                respuesta.data      = ex;
            }

            return(respuesta);
        }